[U-Boot] DM9000 : MAC Address mismatch with Linux kernel

stefano babic sbabic at denx.de
Wed Jun 10 10:40:35 CEST 2009


Hi all,

I have seen a wrong behaviour about Mac Address handling when the DM9000
controller is connected to an external serial eeprom. The eeprom
contains the Mac Address and the configuration data for the controller.

If the ethaddr variable is set, u-boot uses this variable and sets with
this value the ethernet controller. Only if the ethaddr is not set, the
Mac Address is read from Eeprom.

However, the driver in the linux kernel uses a different approach : it
takes the Mac address first from the eeprom, if it is valid.

This generates a strange phenomen:

1. The target works in u-boot with a mac address, and with this address
for example loads the kernel from network.

2. When the kernel boots, the system takes a different mac address,
because the mac address passed by u-boot is not used.

This behavior is wrong, at least we have wrong values in the arp cache
for some systems on the lan.
I understand that this happens until the arp cache is renewed, however
it can produce failures in the network.

IMHO we should synchronize the two values, writing down the Eeprom in
the case the ethaddr is set. I think this is congruent with all other
boards in u-boot (ethaddr has the highest priority).
In this way, the kernel will use the same Mac address as u-boot.

However, I do not know if this behavior is always acceptable (for
example, if the mac address is written in the factory and the component
has a label reporting the mac address) and it is not so easy to find in
u-boot which boards with the DM9000 controller have a serial eeprom
attached to it.

Any opinion about it ?

Regards,

Stefano Babic

-- 
=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80  Email: office at denx.de
=====================================================================


More information about the U-Boot mailing list