[U-Boot] [PATCH 1/3] net: Adds Fast Ethernet Controller driver for Armada100
Ralph Metzler
rjkm at metzlerbros.de
Tue Aug 23 17:30:38 CEST 2011
Wolfgang Denk writes:
> > ok I just wanted to clear myself.. I do not have a dedicated hardware
> > storage in my ethernet controller so I will just look into environment
> > variable ethaddr, if its set I will just copy it to driver layer and
> > if it is not set, I let the user set it. He/She may use the tools provided
> > with U-Boot to generate a random MAC or by any mean get a MAC and store it
> > in env which is gonna be one time unless env gets corrupt or cleared by user.
> > Which means no MAC generation in code...
> >
> > Please correct me if my understanding wrong...
>
> This is correct, except for the nitpick that nobody should ever use a
> truly random MAC address - if no valid MAC address is available, one
> should at least make sure to pick one of the locally administered
> Ethernet address pool (2nd LSB in the most significant byte of the
> address must be set).
It is even more annoying that the Linux network driver for
Armada 100 (pxa168_eth.c) does the same thing (random MAC) which made
it impossible to properly assign IPs or even have the same in u-boot
and Linux.
Since the pxa168 ethernet seems to (correct me if I am wrong)
store all MACs, including its own, in a buffer allocated in main memory,
it is not possible to set it in u-boot and then read it out in Linux.
So, I introduced "pxa168_mac" as Linux command line argument to pass
ethaddr to pxa168_eth. Or does anybody have a better solution?
Regards,
Ralph Metzler
More information about the U-Boot
mailing list