[U-Boot] Linux Kernel without Ethernet (missed MAC)

Arno Steffen arno.steffen at googlemail.com
Tue Jan 19 14:54:51 CET 2010


I think this is a uboot bug.

If this is a kernel bug - where does the kernel gets the mac address from?
Is it reading a device register? So it must be set by u-boot. But obviously
it isn't there  (kernel boot log):
"eth0: LAN9115 (rev 2) at 0x2c000000 IRQ 336
eth0: Invalid ethernet MAC address. Please set using ifconfig"

The problem occures in any boot sequence (nand, network) - so although
the uboot initializes the ethernet chip, linux kernel doesn't find the
mac-address. So your advice doesn't help.

I am not expert enough to know how it should be. In an older uboot
(2008.10) I could solve the problem with any ethernet access in uboot
(as you suggested) - then I get ethernet in kernel boot as well.

In 2009.11 it is different - no way to get it working - same kernel.
Looks like uboot either doesn't set mac or deletes mac.

Best regards
Arno

2010/1/19 Prafulla Wadaskar <prafulla at marvell.com>:
>
>
>> -----Original Message-----
>> From: u-boot-bounces at lists.denx.de
>> [mailto:u-boot-bounces at lists.denx.de] On Behalf Of Arno Steffen
>> Sent: Tuesday, January 19, 2010 3:14 PM
>> To: u-boot at lists.denx.de
>> Subject: [U-Boot] Linux Kernel without Ethernet (missed MAC)
>>
>> Changing my OMAP EVM board to newest uboot 2009-11 I do have a problem
>> with ethernet.
>> Although the kernel could be loaded via tftp perfectly, the upcoming
>> kernel complains about invalid MAC.
>>
>> Kernel command line: mem=128M console=ttyS0,115200n8
>> root=/dev/mtdblock8 rw rootfstype=jffs2 ip=dhcp
>
> Hi Arno
>
> I hope, when you are booting the kernel from media (i.e. NAND/Flash/Sata and not Ethernet) you are getting this problem.
> u-boot does not perform peripheral h/w initialization by default, u-boot as well as kernel assumes h/w is doing this.
>
> May be in your case, smc91x h/w does not do it on Power on by default.
> When you do any network activity prior to kernel boot, device_init is invoked and the MAC address is set and your system works.
>
> Possible Solution: add dummy network command like (ping x.x.x.x) in your auto boot sequence.
>
> Regards..
> Prafulla . .
>
>> ...
>


More information about the U-Boot mailing list