OpenWrt Forum Archive

Topic: OpenWrt on raspberry pi 3 B+ not detecting physical adapters

The content of this topic has been archived on 28 Apr 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

Hi,
I hope i'm not being stupid and this is the right place for this..
I'm having a problem with recognising the network connectors on raspberry pi 3 B+ using OpenWrt snapshot r6449-5862f01.
After replacing the start.elf and bootcode.bin files I was able to get openWrt to successfully boot into cli, however ifconfig only reports the "lo" loopback connection. Running dmesg gives me the below errors:

[    7.828202] brcmfmac: brcmf_fw_map_chip_to_name: using brcm/brcmfmac43455-sdio.bin for chip 0x004345(17221) rev 0x000006
[    7.846963] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.bin failed with error -2
[    7.860894] brcmfmac mmc1:0001:1: Falling back to user helper
[    7.879124] firmware brcm!brcmfmac43455-sdio.bin: firmware_loading_store: map pages failed
[   12.871558] usbcore: registered new interface driver brcmfmac
[   12.888676] kmodloader: done loading kernel modules from /etc/modules.d/*
[   13.931289] brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50
[   14.951362] brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50

I've not had any experience with building custom images, and was wondering if there was a simple way to extract the relevant firmware from the newest version of Raspbian and installing these manually in OpenWrt?
As I would rather not have to return my new Pi's and get older models.

Thanks for reading!

Hi there,

I've ordered one myself, but haven't found time to play yet - does brcm/brcmfmac43455-sdio.bin exist?  Presumably in /lib/firmware?

If not, perhaps you could find it and put it in there?  Fingers crossed it's that simple!  Although I'm doubtful, but then I'm a pessimist. wink

EDIT: Perhaps below?
github.com RPi-Distro firmware-nonfree tree/master brcm

can't post urls it seems.

(Last edited by iMiMx on 17 Mar 2018, 12:10)

Hi! you need to get this image openwrt-brcm2708-bcm2708-rpi-ext4-sdcard.img, it works for me ... Rpi3 is brcm 2710 as it is 64bit. Flash it to sd card ... it will open at http:// 192.168.1.1

arti107 wrote:

Hi! you need to get this image openwrt-brcm2708-bcm2708-rpi-ext4-sdcard.img, it works for me

3B or the newly released (this week I think) 3B+?

b. not b + sorry its actually this image  lede-17.01.2-brcm2708-bcm2710-rpi-3-ext4-sdcard.img

(Last edited by arti107 on 18 Mar 2018, 22:57)

Hi, just to confirm this is the newly released B+ model, the bcm2710 release does boot when using start.elf and bootcode.bin from the latest B+ release of raspbian, but it still doesn't recognise the physical adapters.

Edit: I've downloaded the firmware-nonfree/tree/master/brcm .bin as suggested above, I then copied this to /tmp/ on the device and ran sysupgrade -F /tmp/*.bin. The PI seemed to upgrade this and then restarted but still getting the same error:
Direct firmware load for brcm/brcmfmac43455-sdio.bin failed with error -2

(Last edited by angrylemon on 18 Mar 2018, 21:01)

What happens if you put it in /lib/firmware/brcm then restart?

EDIT: This gets me wlan0, but another UART based error, no eth0/ethernet/lan.

(Last edited by iMiMx on 19 Mar 2018, 14:41)

From the spec sheet, guess these are the next things to check/try to resolve/hack support for:

"4 USB 2.0 ports (via LAN7515)
Gigabit Ethernet (via LAN7515, max speed 300Mbps)"

Hi ImiMx,

I tried putting the 43455 files into /lib/firmware/brcm/ this seemed to fix the boot errors, I confirmed this by checking the dmesg output, however "iw list" and "iw wlan0" both report no output and still no wireless here, did you do any additional steps?
I'm using the lede-17.01.2-brcm2708-bcm2710-rpi-3-ext4-sdcard.img

Thanks

I used the latest snapshot release, copied over the files you mentioned to /boot, I think I also copied the '3_B_Plus' DTB file (not researched what this is/was, just seemed like a good idea), from the github repo:

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

I didn't check 'iw', just 'ifconfig -a' and saw that wlan0 had appeared.  I suspect the UART/serial connection error, is the part that would need to be resolved the wireless to be configurable?  Might be wildly off track though.


The version quoted by arti, 17.01.2, is not even the latest stable (17.01.4) release.

downloads.lede-project.org snapshots/targets/brcm2708/bcm2710/

EDIT: I did also try building a custom image, with the firmware files overlaid to /lib/firmware/brcm/, along with all the USB option (kmod-usb-net, usbutils) included, nothing fully detected in lsusb -t sadly so no ethernet so far.

(Last edited by iMiMx on 20 Mar 2018, 10:19)

Flash snapshots/targets/brcm2708/bcm2710, copy start.elf and bootcode.bin from raspberry github.
I did same thing, but I'm getting only rainbow screen on Raspberry Pi 3 B+.
Can you please tell maybe you did more steps?

iMiMx wrote:

I used the latest snapshot release, copied over the files you mentioned to /boot, I think I also copied the '3_B_Plus' DTB file (not researched what this is/was, just seemed like a good idea), from the github repo:

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

I didn't check 'iw', just 'ifconfig -a' and saw that wlan0 had appeared.  I suspect the UART/serial connection error, is the part that would need to be resolved the wireless to be configurable?  Might be wildly off track though.


The version quoted by arti, 17.01.2, is not even the latest stable (17.01.4) release.

downloads.lede-project.org snapshots/targets/brcm2708/bcm2710/

EDIT: I did also try building a custom image, with the firmware files overlaid to /lib/firmware/brcm/, along with all the USB option (kmod-usb-net, usbutils) included, nothing fully detected in lsusb -t sadly so no ethernet so far.

(Last edited by IGHOR on 23 Apr 2018, 02:27)

Hi - I've built a working image (eth0 & wlan0 support) for the Pi 3B+ by checking out the latest firmware snapshot source code and adding kernel support for the lan78xx USB driver to support the Ethernet adapter (via make kernel_menuconfig). To support the WiFi adapter the firmware (brcmfmac43455-sdio.*) needs to be copied from the Raspbian distribution (from/to: /lib/firmware/brcm) - This firmware appears to be different from the one in the OpenWRT tree. To get the system to boot I replaced, in the vfat/msdos partition of the system .img file, start.elf and bootcode.bin from Raspbian as mentioned above. Whilst the Ethernet activity lights don't come on the adapter does work. The kernel is a 64-bit aarch64 but seems to only recognise one of the 4 CPU cores which is strange. However some folks at ROOter have built an aarch64 kernel that recognises all 4 cores - see: forums.whirlpool.net.au/archive/2689577#r56281400 (I had to remove the HyperText Transport Protocol prefix as I can't post links)

I also posted this in the LEDE forum (I wasn't sure which one to use - maybe they could be joined/merged at some point?) - forum.lede-project.org/t/raspberry-pi-3-b-openwrt-lede-image/13066/13

(Last edited by pierz on 24 Apr 2018, 21:32)

The discussion might have continued from here.