> 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
write_cmos.c
Description: Binary data