Personal computing discussed

Moderators: renee, Steel, notfred

 
just brew it!
Administrator
Topic Author
Posts: 54500
Joined: Tue Aug 20, 2002 10:51 pm
Location: Somewhere, having a beer

Question about integrated NICs and MAC addresses

Mon Dec 15, 2003 8:57 am

Hey, network gurus...

I'm currently setting up several diskless nodes using cheap "integrated everything" motherboards (Socket A with VIA chipset), and I was wondering about something. Where is the MAC address for an integrated NIC typically stored? Will I lose the factory-programmed MAC address if I flash the motherboard BIOS? If so, how do I reprogram it with the original MAC address?

Yes, I am fully aware that I can override the MAC address in software... but this only changes the MAC address that is used by the OS's NIC driver; it does not alter the MAC address programmed into the hardware. Since the nodes boot over the network (obtaining their boot image via DHCP), having a valid MAC address when the board first powers up (i.e. before the OS is even loaded) is a hard requirement.
Nostalgia isn't what it used to be.
 
FubbHead
Grand Gerbil Poohbah
Posts: 3482
Joined: Mon Apr 08, 2002 9:04 pm
Location: Borås, Sweden

Mon Dec 15, 2003 9:01 am

Usually in BIOS/CMOS, as far as I know. And if the CMOS is intact (not corrupt in any way) when you flash, the MAC-adress should survive the adventure.
Amiga 1200, 68020@28MHz, 4MB+2MB RAM, Conner 80MB harddrive
 
just brew it!
Administrator
Topic Author
Posts: 54500
Joined: Tue Aug 20, 2002 10:51 pm
Location: Somewhere, having a beer

Mon Dec 15, 2003 9:17 am

FubbHead wrote:
Usually in BIOS/CMOS, as far as I know. And if the CMOS is intact (not corrupt in any way) when you flash, the MAC-adress should survive the adventure.

In the CMOS?!?? That seems like really poor design, as clearing the CMOS (to reset your BIOS settings) would wipe it. I don't recall seeing anything in the BIOS allowing it to be configured either...
Nostalgia isn't what it used to be.
 
cass
Minister of Gerbil Affairs
Posts: 2269
Joined: Mon Feb 10, 2003 9:12 am
Contact:

Mon Dec 15, 2003 9:33 am

I have no idea where it is, or how it is stored.

So far I have cleared (with jbat), flashed, Hot swapped, drilled (don't ask), and replaced the bios (one) in a few of my integrated boards and have not lost a MAC. I really didn't notice if the MAC changed or not though. After I get the thing to start the boot process, I just plug up a live cable, enable lan boot and the onboard nic and wait for the dhcp message displaying the MAC address, hit pause and write it down. Then just update dhcpd.conf (run /usr/local/etc/rc.d/dhcpd.sh restart) and /etc/exports (run killall -HUP mountd and killall -HUP inetd) and I am off to the races.

I would think the MAC would be hard coded somewhere in the LAN circuitry, but I may be thinking wrong. I have even updated some stand alone NIC cards firmware and the MAC stayed put. So far my advanced ability to destroy delicate equipment has not been able to erase a MAC :-). YMMV
 
idchafee
His Holy Gerbilness
Posts: 14060
Joined: Thu Sep 25, 2003 8:39 am
Location: Chicago, IL
Contact:

Mon Dec 15, 2003 9:39 am

Oh man, need to set the wayback machine.....

We used 3Com NICs, and they had a utility on the driver disk called.....man, I can't remember. No wait, it was 3cxcfg, I believe or something to that effect. And you could set all the NIC settings, and it would save the changes "to the NIC" which I always took to mean directly to the NIC, as opposed to the BIOS or to the Windoze settings.

Don't know if non-3Com cards have similar configs, but I would imagine so.

Hmm, that may have been about the most useless post I've ever made outside the R&P forum.
YOU CAN RUPTURE SOMEONE'S SPLEEN WITH A WATER BALLOON!!!!
 
just brew it!
Administrator
Topic Author
Posts: 54500
Joined: Tue Aug 20, 2002 10:51 pm
Location: Somewhere, having a beer

Mon Dec 15, 2003 9:42 am

I've done a little more digging myself. Apparently what some (most?) boards do is store the MAC address in the BIOS EEPROM, and shadow it in the CMOS. When the board boots up, whichever one is blank is copied from the other one. So if you flash the BIOS and clear the CMOS without rebooting the board in between, the MAC address can be lost. But as long as you power cycle the board at least once in between the two operations, whichever copy you have erased will be updated from the good one.

This actually runs counter to "conventional wisdom", which says that you should clear your CMOS after flashing your BIOS...
Nostalgia isn't what it used to be.
 
just brew it!
Administrator
Topic Author
Posts: 54500
Joined: Tue Aug 20, 2002 10:51 pm
Location: Somewhere, having a beer

Mon Dec 15, 2003 9:43 am

idchafee wrote:
Oh man, need to set the wayback machine.....

We used 3Com NICs, and they had a utility on the driver disk called.....man, I can't remember. No wait, it was 3cxcfg, I believe or something to that effect. And you could set all the NIC settings, and it would save the changes "to the NIC" which I always took to mean directly to the NIC, as opposed to the BIOS or to the Windoze settings.

Don't know if non-3Com cards have similar configs, but I would imagine so.

Hmm, that may have been about the most useless post I've ever made outside the R&P forum.

Yes, I understand that some add-on NICs have a tool to do this. I'm talking specifically about integrated NICs, which are part of the motherboard.
Nostalgia isn't what it used to be.
 
Canuckle
Gerbil XP
Posts: 387
Joined: Sun Jul 13, 2003 6:20 pm

Re: Question about integrated NICs and MAC addresses

Tue Dec 16, 2003 7:52 pm

just brew it! wrote:
Hey, network gurus...

Where is the MAC address for an integrated NIC typically stored? Will I lose the factory-programmed MAC address if I flash the motherboard BIOS? If so, how do I reprogram it with the original MAC address?


The MAC address is fixed at the time an interface was manufactured and cannot be changed.

It exists in the BIOS EEPROM of the NIC itself, not the motherboard. Otherwise it wouldn't matter what NIC you plugged in, you'd always have the same MAC address... ;) And though NICs do have a BIOS (some are able to be flashed), the MAC address is never overwritten.

Yes, I am fully aware that I can override the MAC address in software... but this only changes the MAC address that is used by the OS's NIC driver; it does not alter the MAC address programmed into the hardware. Since the nodes boot over the network (obtaining their boot image via DHCP), having a valid MAC address when the board first powers up (i.e. before the OS is even loaded) is a hard requirement.


Such would be a concern for PXE, not DHCP.

Reason being, DHCP requests don't happen until the OS is booted to the point to support network operations. Check any system - DHCP doesn't happen before the OS loads. Nevermind that the DHCP client is a component [program] of the OS, like any other [web, ftp, email, etc] client.
 
just brew it!
Administrator
Topic Author
Posts: 54500
Joined: Tue Aug 20, 2002 10:51 pm
Location: Somewhere, having a beer

Re: Question about integrated NICs and MAC addresses

Tue Dec 16, 2003 8:09 pm

Canuckle wrote:
The MAC address is fixed at the time an interface was manufactured and cannot be changed.

It exists in the BIOS EEPROM of the NIC itself, not the motherboard. Otherwise it wouldn't matter what NIC you plugged in, you'd always have the same MAC address... ;) And though NICs do have a BIOS (some are able to be flashed), the MAC address is never overwritten.

Go back and re-read what I wrote, I'm talking about integrated NICs which are part of the motherboard. Based on some additional research I've done since making the original post, it appears that many on-board NICs do in fact use the motherboard's BIOS EEPROM to store the MAC address; but I believe they also shadow it in the CMOS, so as long as you don't flash the BIOS and clear the CMOS at the same time, you're OK.

Such would be a concern for PXE, not DHCP.

Reason being, DHCP requests don't happen until the OS is booted to the point to support network operations. Check any system - DHCP doesn't happen before the OS loads. Nevermind that the DHCP client is a component [program] of the OS, like any other [web, ftp, email, etc] client.

Sorry, I should have made it clearer what I am doing. I am using my DHCP server to bootstrap a bunch of diskless/headless LTSP nodes, via PXE protocol. So in this situation I do in fact require that the (integrated) NIC have a valid MAC address before the OS loads, since the OS is in fact loaded through the NIC!
Nostalgia isn't what it used to be.
 
Canuckle
Gerbil XP
Posts: 387
Joined: Sun Jul 13, 2003 6:20 pm

Re: Question about integrated NICs and MAC addresses

Tue Dec 16, 2003 9:08 pm

just brew it! wrote:
Go back and re-read what I wrote, I'm talking about integrated NICs which are part of the motherboard. Based on some additional research I've done since making the original post, it appears that many on-board NICs do in fact use the motherboard's BIOS EEPROM to store the MAC address; but I believe they also shadow it in the CMOS, so as long as you don't flash the BIOS and clear the CMOS at the same time, you're OK.


Oops - sorry.
I'm debating on multiple forums, reading comprehension suffering... :)

But thanks for the info - I wasn't aware of that.

Sorry, I should have made it clearer what I am doing. I am using my DHCP server to bootstrap a bunch of diskless/headless LTSP nodes, via PXE protocol. So in this situation I do in fact require that the (integrated) NIC have a valid MAC address before the OS loads, since the OS is in fact loaded through the NIC!


I serve only to keep you on your toes - ph34r me, for I am the detail nazi :)

Who is online

Users browsing this forum: No registered users and 48 guests
GZIP: On