[U-Boot] [PATCH] net: write enetaddr down to hardware on env_callback

Hannes Schmelzer Hannes.Schmelzer at br-automation.com
Tue Sep 6 09:23:28 CEST 2016


Bin Meng <bmeng.cn at gmail.com> schrieb am 06.09.2016 09:07:39:

[...]
> >>
> >> Why is this needed? The MAC address is supposed to be programmed in
> >> the driver's probe routine.
> >
> > For example on my custom ZYNQ board.
> > The Ethernetcontroller within the ZYNQ has no ROM to store his own
> > MAC-Address, further no MAC is stored within environment.
> > So Ethernet gets probed with a "random MAC-Address" if configured.
> >
> > Later somebody (like me) oder something (my bootscript) runs "setenv
> > ethaddr ...." on the console.
> > Result is (was before this patch), that all networking infrastructre 
is
> > running this new mac, but hardware is running the old (random) one and
> > networking is simple not functional.
> >
> 
> This indicates that your ethernet driver does not program the latest
> MAC address everyone when it gets probed. The driver should be fixed.

The driver doesn't get probed again if mac-address is changed using 
"setenv ethaddr",
so it has no chance to program anything.

For program i understand, in this case with zynq, overtaking mac-address 
into his registers.
There is per default no ROM to store some mac.

> 
> Regards,
> Bin
cheers,
Hannes




More information about the U-Boot mailing list