Raspberry Pi 3 B+ OpenWrt/LEDE Image

same thing, nothing was merged yet, you should still do what said above.

It seems christo.nedev sent a new patch to fix the booting issue and now it has a description that core devs will probably accept.

Hi,

For Raspberry pi3b+, getting the rainbow screen if i try to download the build compiled from latest opensource.
Can anyone please point me to the list of patches/changes to boot 3b+

Thanks

You can use my branch here:


Or my prebuilt image:

I have tested everything except bluetooth.
WLAN works in AC mode:
https://drive.google.com/drive/folders/1aeuD8B9BpKAE_PxF5krdcjHk9tbmB6Z4?usp=sharing
Will test that today or tommorow,most likely it is missing firmware also.

PR will be opened to merge these

Are you finding that the Pi3b+ ethernet is not working? I pulled trunk lede and compiled, wlan 2.4/5 works fine. its just the eth0 fails to work. It actually seems to be related to this bug https://github.com/raspberrypi/linux/issues/2447

Does the lan work for anyone at the moment?

Just tried OpenWrt with a Pi3-B+ and 18.06.1 factory ext3 image. I got the rainbow screen too. @robimarko 's prebuilt image worked fine for me.

I had success with

openwrt-18.06.2-brcm2708-bcm2710-rpi-3-ext4-factory.img

downloaded from the wrt raspberry pi page, and copying into that some files from

2018-11-13-raspbian-stretch-lite.img

downloaded from this raspbian page. (I see there is a newer version now).

To copy the files I first mounted the .img files using this handy bash script which calls fdisk -l to calculate offsets before calling mount.

(Note: I suggest you skip the part of that github project which suggests installation with npm or piping a seperate installation script to run directly on your system - either is unnecessary overhead and/or a security risk. Just cut and paste the content of the index.sh script - its very short and clear.)

Each image files has two partitions, which need to be mounted separately with the index.sh program.

mkdir -p mnt-boot mnt-root
./index.sh -p 1 file.img mnt-boot
./index.sh -p 2 file.img mnt-root

changing the names as needed, e.g., mnt-boot-ras and mnt-boot-wrt.

Following the instructions earlier in this thread I copied the following from the raspbian stretch-lite mounted image to the wrt mounted image.

  • mnt-boot/start.elf
  • mnt-boot/bootcode.bin
    • (but actually, bootcode.bin was already identical)
  • mnt-root/lib/firmware/brcm/brcmfmac43455-sdio.bin
  • mnt-root/lib/firmware/brcm/brcmfmac43455-sdio.clm_blob
  • mnt-root/lib/firmware/brcm/brcmfmac43455-sdio.txt

After that using the [wrt sugested method of dd if=... of=.. ... to copy the modified image to an SD card did not work.

Instead I used gparted (a linux application) to create to these empty partitions on the SD card first

  • for the boot partition (must be first)
    • type:fat32
    • flags: boot, lba
    • size: 33 MiB (was the minimum allowed by gparted)
  • for the root partition
    • type: ext4
    • size 256 MiB

I the mounted the SD card partitions

mkdir mnt-boot-sd mnt-root-sd
sudo mount /dev/sdX1 mnt-boot-sd
sudo mount /dev/sdX2 mnt-root-sd

where X is changed to match the letter that comes up on your system under /dev.
Then I copied all the files

sudo cp -ar mnt-boot-wrt/. mnt-boot-sd
sudo cp -ar mnt-root-wrt/. mnt-root-sd

The -a stands for archive and keep all the dates and permissions.

After that, the SD card booted fine.

@robimarko - I am now successfully using a version that is a hybrid of the 18.06.2 rpi3b+ specific build, and this set of files from the boot in your version:

bcm2710-rpi-3-b.dtb
bcm2710-rpi-3-b-plus.dtb
bootcode.bin
fixup_cd.dat
fixup.dat
start_cd.elf
start.elf

It turns out that some other versions of those same-named Broadcom proprietary files are incompatible with 18.06.2, e.g., the latest raspbian and raspbian-lite versions. (The software runs but only 108Mb of ram is available - a subtle fail. Described here. )

I've been searching for the Raspbian versions containing binary equivalents of your files but haven't found them.

Can you please inform exactly in which Raspian version can be found the above Broadcom proprietary files? I think that information is the best way to help others going forward.

They are part of RPi foundation firmware images.
They have a separate github repository for those

1 Like

It appears that git directory

https://github.com/raspberrypi/firmware/tree/master/boot

contains the latest non-backward-compatible versions. The version you pulled would now have some tag and be accessible with

https://github.com/raspberrypi/firmware/tree/TAGNUMBER/boot

Do you have a best guess for the tag number?

Latest bump with 4.14 kernel was this

Simply go through the history

I don't know how to translate from your link to the TAGNUMBER necessary to get the binary equivalent Broadcom-proprietary files.

Confusingly, that link has a date "committed on Feb 12", I am assuming that is 2019. But your post is June 2018.

The problem is the historical versions under that git dir are managed only by tags, each of which has the form "1.YYYYMMDD". No correlation to kernel number.

Sorry, but no need to be rude here.
If you dont know how to use git and how commit hashes work then ask but dont be rude.
To get that exact commit one would simply git clone that repo and the git checkout that commit hash
Or even easier download from github web ui

I really apologize coming across as rude. I edited accordingly.

This URL https://github.com/raspberrypi/firmware/tree/83977fe3b6ef54c1d29c83b0a778d330f523441f/boot yields a hopeful result. Thanks.

I suppose it is possible this doesn't correspond exactly to a version using a tagnumber, although some tagnumber version probably also works.

I am glad and grateful you supplied a set of Broadcom files that did work with 18.06.2. Thank God ... no, thank @robimarko !

@robimarko

I downloaded the start.elf file under that URL but I it's not the same as the one on your google link. I swapped start.elf only into my boot, but the result was the same small memory problem (108K instead of 1G).

  • from your google link, works: size/date 2835652 Jun 5 2018 (probably google upload date)
  • from the above hash, ng : size/date 2869348 Feb 12, 2019 (git commit date)

Thanks again for having provided the working files on google. The question of what commit or version that corresponds to on github or debian repos will have to wait.

I really dont remember which version was that, but why dont you simply use snapshot version and it will simply work

Perfectly understandable and your snapshot version is a big help.

I am using your snapshot Broadcom files copied onto the boot partition of 18.06.2 / RPi3B+. Also copied were

  • mnt-root/lib/firmware/brcm/brcmfmac43455-sdio.bin
  • mnt-root/lib/firmware/brcm/brcmfmac43455-sdio.clm_blob
  • mnt-root/lib/firmware/brcm/brcmfmac43455-sdio.txt

and it is working perfectly.

The reason for trying to track down the repo version is that going forward others may need the info for various reasons, not only just just the stability that a repo link offers, but also the ability to track and report bugs.

I mean, why dont you simply use the snapshot version of OpenWrt available on the download page?
It will work and it is up to date

When you say download page do you mean:

  • your google link (4.9.105)
  • or the openwrt raspberry pi page (4.9.152 - owrt 18.06.2) [the one I am running now]
  • or another version with kernel 4.14.x (I did see posts indicating owrt latest is 4.14.x)
    ?

I suspect that your start.elf was one of the last for kernel 4.9 - Following your suggestion I download the rpi firmware git and the history shows a switch 4.9->4.14 in early 2018.

Switching to 4.14 would probably allow the newest Broadcom files (e.g. start.elf). How hard is that?

Again, simply download a snapshot from OpenWrt download page
https://downloads.openwrt.org/snapshots/targets/brcm2708/

And you dont have to mess with anything

@robimarko - Nice! A HUGE leap forward. Thanks. It all worked perfectly.