I have a desktop pc with a Gigabyte Z97X-SOC Force motherboard, and it has a Qualcomm Atheros Killer E2201 nic onboard.
I know the mac address is supposed to be locked in during manufacture, but for some reason mine is changeable. If I set a 'hwaddress' value in '/etc/network/interfaces', it is stored in the BIOS next time I boot. The folks at Gigabyte insisted this wasn't possible until I sent them BIOS info screen dumps showing different mac addresses, then they just admitted they had no idea how it was happening and gave up.
It did cause my Windows 7 Home Premium installation to choke and insist it needed to be reactivated every time the mac address changed, resulting in a weekly routine of phoning Microsoft for another activation code. Eventually I installed Windows 7 Ultimate and ran it without activation
For example, the original mac address is '74:d4:35:ea:07:41', so on one of my Linux installations '/etc/network/interfaces' is:
Code:
auto lo
iface lo inet loopback
allow-hotplug enp5s0
iface enp5s0 inet dhcp
hwaddress ether 74:d4:35:ea:07:41
On a different Linux installation with a different hostname where I want a different ip address from my router's dhcp, I have generated a new mac address using an md5 algorithm based on the hostname and interface name:
Code:
auto lo
iface lo inet loopback
allow-hotplug enp5s0
iface enp5s0 inet dhcp
hwaddress ether 02:75:77:0f:8d:1a
I've attached two screenshots from the BIOS info display showing the different mac addresses.
I'm not particularly concerned about it, I think it's pretty cool to be able to do this, I'm just curious about how this happens. How does a change to the mac address in '/etc/network/interfaces' get into the nic's firmware?