Raspberry Pi 3b Plus USB-Ethernet lan78xx_eth address not set

Peter Robinson pbrobinson at gmail.com
Sun Feb 25 14:48:49 CET 2024


Hi,

> I have a Raspberry Pi 3B Plus which I want to integrate with U-boot
> (v2023.10) .
>
> I am using rpi_3_32b_defconfig to generate u-boot.bin. But while booting I
> am getting below error
>
> Loading Environment from FAT... Unable to read "uboot.env" from mmc0:1...
> In:    serial,usbkbd
> Out:   serial,vidconsole
> Err:   serial,vidconsole
> Net:   No ethernet found.
> starting USB...
> Bus usb at 7e980000: USB DWC2
> scanning bus usb at 7e980000 for devices...
> Error: lan78xx_eth address not set.
> 3 USB Device(s) found
>        scanning usb for storage devices... 0 Storage Device(s) found
> Hit any key to stop autoboot:  0
>
> In the "bdinfo", "current eth" is not set

The ethernet address is set by the ethaddr variable, it can be viewed
by running printenv. That is then set to the ethernet0 alias in the
device tree.

> U-Boot> bdinfo
> boot_params = 0x00000100
> DRAM bank   = 0x00000000
> -> start    = 0x00000000
> -> size     = 0x3b400000
> flashstart  = 0x00000000
> flashsize   = 0x00000000
> flashoffset = 0x00000000
> baudrate    = 115200 bps
> relocaddr   = 0x3b360000
> reloc off   = 0x3b358000
> Build       = 32-bit
> current eth = unknown
> eth-1addr   = (not set)
> IP addr     = <NULL>
>
> I also enabled LAN75xx in menuconfig and re-compiled u-boot. But still the
> same error.

I believe the driver for the USB network interface on the 3B+ is the
USB_ETHER_LAN78XX driver,

> However on Raspberry Pi 3B, I don't see this error and "current eth" is set
> to "smsc95xx_eth" and "ethaddr" is also available.

Do you mean it's set at U-Boot stage or when you boot into Linux?

Peter


More information about the U-Boot mailing list