
On Thursday 08 June 2006 4:40 pm, Wolfgang Denk wrote:
Nobody is talking about about dynamical assignemnt.
It's just that the *Linux* *driver* is responsible to initialize it, no matter which boot loader you use and what the boot loader is doing or not doing.
In some cases that would amount to dynamic reassignment, such as in the Coldfire fec, which does not provide the typical load from eeprom functionality for it's MAC. It must be assigned by software somewhere, I am of the opinion that the bootloader should do it. Why? Because when we ship a board, we have to program the bootloader into it so customers can load an OS, the MAC goes into a protected region of flash, which it's not likely to be accidentally removed. We buy chunks of MAC addresses and assign them to boards we ship in quantity. I look at the bootloader like the BIOS of a PC without the system calls. It initializes the hardware to a minimal point (you've at least got to turn on the DRAM, an IMHO make sure the MAC is valid) and loads the OS. The OS will probably change with time, but the BIOS/bootloader is less likely too.
This has been discussed many times before.
I know, I lurk, but I have yet to see any real discussion other than quick fixes. I've pulled out the most relevant ones I can find below, if you know of a better one please send a link.
I see: http://lists.arm.linux.org.uk/pipermail/linux-arm/2005-July/010246.html Which discusses using gen_eth_addrl for generating MAC address, but of course this is only useful for testing http://www.denx.de/wiki/bin/view/DULG/EthernetDoesNotWork
I see: http://lists.arm.linux.org.uk/pipermail/linux-arm-kernel/2004-July/023572.ht... Which was never resolved on list
I see: http://lists.arm.linux.org.uk/pipermail/linux-arm/2004-December/008936.html In which using ifconfig to set the MAC is recommended in conjunction with purchasing a block of MAC addresses for at least $550. This is pretty non-standard. We manufacture boards here and all of them are shipped with a pre-programmed valid address, Advantech and Aeon and every other major board manufacturer I know of, do the same. I also have never seen a Linux distribution that set's it's MAC on bootup through ifconfig, usually it's set on bootup by reading an EEPROM.
And finally: http://lists.arm.linux.org.uk/pipermail/linux-arm/2002-October/004300.html In which the solution was to contact the board manufacturer (rightfully so as they should be providing the MAC)
NZG