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 <biggerbadder...@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 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot