This is probably because the MAC address in flash is 0 too. Consider a flash update. You have to:
- write the new flash
- write "permanent" parameters from CMOS to flash
then, next time CMOS gets wiped, you copy the MAC etc. from FLASH to CMOS.
If you load linuxbios and then zero flash, boom! -- no record of the MAC address of the board. If you then load the original flash, it will copy the all-zero mac address to flash.
we're going to need a way to record this kind of nonsense in FLASH images of linuxbios.
Hmm... well I never touched the original flash BIOS. I use an EMP-30 and program different chips to test and run linuxbios. I guess I thought the mac would be in the original bios flash, and I guess I don't understand how it got changed. The board came with the cmos jumper in the "clear" position, which threw me since it wouldn't come up at first until I spotted this.
Anyway, the user space program to set a new MAC address in cmos is attached to this email; it is pretty simple, but has to run as root of course. Maybe we should put this in linuxbios, as an option or something. I wonder how you pick a MAC address? At one time they were assigned in blocks by manufacturer, I thought. I realize they only have to be unique on the subnet, but if you start assigning them randomly and shipping them to customers, what are the odds? Mathematically 1 in 2^48 but by Murphy probably 1 in 2 of a collision :-/ .
-Steve