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

Sourabh Hegde Ramu hrsourabh1107 at gmail.com
Sun Feb 25 15:02:17 CET 2024


Hi Peter,

USB_ETHER_LAN78XX is already enabled in the defconfig for Pi 3b plus. But
the eth_get_ethaddr is returning null
https://github.com/u-boot/u-boot/blob/1a66a7768af7e8106c2cd93a19f4013877fb85ae/include/net.h#L199

Do you know why this is not handled?


On Sun, Feb 25, 2024, 14:49 Peter Robinson <pbrobinson at gmail.com> wrote:

> 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