18.06 on Raspberry Pi 3 B+

Being stuck at the rainbow screen means you are unable to load the kernel.

It does appear that the 18.06 release image does not have bootable GPUs code or kernel for the 3B+. I had success using the 18.06 snapshot (using it now to write this post).

After flashing the factory image you need to get internet access if you want to install luci for web administration using opkg. Note that it appears the Ethernet activity leds don’t work either, but you can check the activity lights on the other end of the cable to verify link. If you plan to plug in the wired Ethernet to your existing network you will need to use uci at the command line to change eth0 from a static ip to dhcp.

You can use serial or just hook up the hdmi and a usb keyboard and work on the Pi directly for command line access.

I also experienced an issue where eth0 doesn’t work (won’t get an ipv4 address I’m dhcp mode) unless it is tied to a bridge. It can be the only device on the bridge, but it must be on a bridge. The factory image has eth0 bridged on the lan so it will work on an existing network if you just change it to dhcp.

1 Like

What is the procedure you used to burn the image into the SD card? I tried using etcher on both .img and the .gz but I still seem unable to get anything. Unless I am missing something like using the serial cable, or maybe I should use something else other than Etcher.io. Intending to use the 3 B + as a router, but it seems like I may be going to have to do it using Stretch Lite as a stopgap until the OpenWRT image is fully ready.

I use dd from Linux and Mac command line. Something like ‘sudo dd if=/path/to/image/openwrt_image_file.img of=/dev/rdiskX (on Mac, /dev/sdX on Linux where X is the number or letter of you sd reader) bs= 2m conv=sync’. Raspberry pi website has more detailed instructions using dd. People seem to like Win32 disk imager on windows.

Now that I have managed to get a snapshot updated and LUCI running, I'd like to ask about what to do for the onboard LAN port if I want to use the RPi 3B+ as a router(ie onboard LAN connected to a modem/ONT). Seems like I have to bridge eth0 even after it is put into WAN?
EDIT: Seems like bridging WAN is the last step needed to have a functioning Pi router using OpenWRT/LEDE. Thanks for helping to guide the way!

You can copy start.elf from latest Raspbian (in the FAT partition) to the openwrt's FAT partition, and openwrt will start. Apparently, the on-board wifi is not detected.

I have onboard wifi working from the snapshot builds.

I have noticed a few things that are still an issue:

  1. The release builds don't boot. Neither 18.06 or 18.06.1. Snapshots between 18.06 and 18.06.1 work, and snapshots post 18.06.1 work. Seems like something is different in the build process for the two (most likely in the FAT partition where the GPU and kernel live).
  2. The 3 B+ has a gigabit NIC, and when using Raspbian or other distros I can get a gigabit link and push > 100 mbps. I just loaded the latest snapshot (r7819-0ddb34b from 9/03) and I am still only getting 100mbit link. Perhaps this is due to the bcrm27xx builds still using the 4.9 kernel instead of 4.14 like some of the other platforms.
  3. The ethernet port only works when attached to a bridge. It can't be the only physical interface attached to an OpenWrt interface.
  4. The link lights on the Pi's ethernet port don't work in OpenWrt.
2 Likes

Well 18.06 does not boot as the updated brcm2708-gpu-fw is not applied to the 18.06 branch and also firmware for the Broadcom WiFi is also not in 18.06

4.9 kernel is also a issue as it requires a huge amount of patches and nobody seems to want to be the one rebasing all of that on 4.14

It will most likely wait the next kernel bump(Most likely to 4.19 as its the next LTS kernel)

I am working on getting the LEDs working.
It required a driver backport from 4.18 and patch to the DTS.
Its building now and gotta test it out.

I tried rebasing the target to 4.14 but there is way too much patches of which most are not used at all in OpenWrt.
Even 4.14 is old for upstream support or Pi

LED is solved.
I will open a PR for it today.

2 Likes

Awesome, thank you!

snapshot builds 2018-09-11
https://downloads.openwrt.org/snapshots/targets/brcm2708/bcm2710/openwrt-brcm2708-bcm2710-rpi-3-ext4-factory.img.gz

Raspberry Pi 3 B+
CPU BCM2837B0 is very heat
Is it normal?

vist web site 192.168.1.1 to report wrong:"Unable to round-trip http request to upstream: dial tcp 192.168.1.1:80: connectex: No connection could be made because the target machine actively refused it."

I'm having the same problem as OP, my RPI3B+ will not boot 18.06.1. I was able to boot the snapshot and everything seems to work but I cannot install the packages needed to get my ASIX usb to ethernet adapter to work. Is there anything in the works to get the image to load on RPI3B+?

Like I previously stated, 18.06.1 wont boot because bcm-2708-gpu firmware package is too old.
It was only updated in master.
So you can either use snapshots or update it locally and build

I've tried a snapshot and it boots fine but I cannot get kmod-usb asix packages installed due to dependency issues. I don't know how to go about updating the img.

is updating the firmware in the img something I can pay someone to do for me? Donate to openwrt?

mcknight have you try the latest snapshot? for me kmod-usb-asix packages installed fine,here are my images if you wants to give a try bcm2710 snapshot-r8089

1 Like

Thank you so much for uploading that. I tried your snapshot and it boots up alright but I have a bunch of random problems with it. root password doesn't work for SSH, crashes, problems saving config, wouldn't let me edit the bridged interface until I created a new interface and got management working on that then deleted the bridge.

I have got a Raspberry Pi 3 B+. I downloaded the image from the OpenWRT site. But I get only Rainbow screen. The Pi is not booting. What is the state of OpenWRT on Raspberry Pi B+ as on current date?

Thanks for the led patches! You should also backport reading the MAC address from the device tree, otherwise the interface gets a random address on every boot.