[U-Boot] [PATCH v2] Fix DM9000 MAC address handling
Ben Warren
biggerbadderben at gmail.com
Thu Oct 22 19:10:34 CEST 2009
Hi Sandeep,
Paulraj, Sandeep wrote:
>
>> Proper behavior is to pull MAC address from NVRAM in the initialization()
>> an
>> stuff it in dev->address, then program the device from dev->address in
>> the init() function.
>>
>> Signed-off-by: Ben Warren <biggerbadderben at gmail.com>
>> ---
>>
> Ben I tested and here is the result.
>
> 1) dhcp still does not work
> 2) I have to set a static ipaddr for the bootcmd to work
>
> Your patch solved the issue where issuing the bootcmd "tftp; bootm"
> would complain about ethaddr not being set.
>
> But i do notice that ethaddr does not get saved in the environment.
>
>
Saving the address to the environment is the user's job. Nothing should
write it automatically. A few drivers do, but they should be changed.
Please look in net/eth.c::eth_initialize() to see how this works. The
order of precedence is this:
1. If environment variable is not set, it's up to the driver to find its
own MAC address.
2. If the environment variable is set, and is non-zero, it is used. If
if conflicts with the value in NVRAM, a warning is issued, but the
environment value is still used.
I don't know why DHCP doesn't work, but if I were you I'd check that the
address printed from line 344 in dm9000x.c shows a valid unicast MAC
address.
regards,
Ben
More information about the U-Boot
mailing list