Hi list!
This mail is justa noteworthy observation I've made. I've got two separate M57SLI-S4 motherboards on which I've installed Coreboot, and I've noticed an interesting thing with the onboard Ethernet chip. It seems it contains one MAC address in hardware, which is changed by the factory-shipped BIOS during boot. The hardwired address begins with 00-E0-81, which seems to be registered to Tyan[1], and the address which it is replaced with begins with 00-1D-7D, which seems to be registered to Gigabyte. This is noteworthy for two reasons:
1. It confused me a lot at first. Since udev assigns a new interface name for every MAC address it discovers, it made my DHCP client fail since it couldn't find the interface it was configured for, so at first I thought that Coreboot couldn't initialize the NIC. I got past that pretty quickly, though.
2. More importantly, the hardwired address is actually the same for both motherboards! More precisely, it is 00-E0-81-54-32-66. Thus, running several of these board on the same physical link is a bad idea if one does not change the address manually.
I don't know if anything should (or can) be done about this in Coreboot. I just thought I'd mention it.
Fredrik Tolf
On Fri, May 16, 2008 at 8:48 PM, Fredrik Tolf fredrik@dolda2000.com wrote:
Hi list!
This mail is justa noteworthy observation I've made. I've got two separate M57SLI-S4 motherboards on which I've installed Coreboot, and I've noticed an interesting thing with the onboard Ethernet chip. It seems it contains one MAC address in hardware, which is changed by the factory-shipped BIOS during boot. The hardwired address begins with 00-E0-81, which seems to be registered to Tyan[1], and the address which it is replaced with begins with 00-1D-7D, which seems to be registered to Gigabyte. This is noteworthy for two reasons:
- It confused me a lot at first. Since udev assigns a new interface
name for every MAC address it discovers, it made my DHCP client fail since it couldn't find the interface it was configured for, so at first I thought that Coreboot couldn't initialize the NIC. I got past that pretty quickly, though.
- More importantly, the hardwired address is actually the same for both
motherboards! More precisely, it is 00-E0-81-54-32-66. Thus, running several of these board on the same physical link is a bad idea if one does not change the address manually.
I don't know if anything should (or can) be done about this in Coreboot. I just thought I'd mention it.
current the MAC is in fixed postion in ROM
romstrap.inc
/* * Copyright 2004 Tyan Computer * by yhlu@tyan.com */ .section ".romstrap", "a", @progbits
.globl __romstrap_start __romstrap_start: rstables: .long 0x2b16d065 .long 0x0 .long 0x0 .long linkedlist
linkedlist: .long 0x0003001C // 10h .long 0x08000000 // 14h .long 0x00000000 // 18h .long 0xFFFFFFFF // 1Ch
.long 0xFFFFFFFF // 20h .long 0xFFFFFFFF // 24h .long 0xFFFFFFFF // 28h .long 0xFFFFFFFF // 2Ch
.long 0x81543266 // 30h, MAC address low 4 byte ---> keep it in 0xffffffd0 .long 0x000000E0 // 34h, MAC address high 4 byte
.long 0x002309CE // 38h, UUID low 4 byte .long 0x00E08100 // 3Ch, UUID high 4 byte
rspointers: .long rstables // It will be 0xffffffe0 .long rstables .long rstables .long rstables
.globl __romstrap_end
__romstrap_end: .previous
MB should have one label....for MAC so next time you should have read from rom to cat one new rom before flashrom.
or good HW design is having seperate serial EEPROM to store MAC, and BIOS will read that from smbus to write the NIC... like s2895... the code is there in MB Config.lb, and ck804_nic.c or mcp55_nic.c
YH
Hi Fredrik,
On Sat, May 17, 2008 at 05:48:49AM +0200, Fredrik Tolf wrote:
This mail is justa noteworthy observation I've made. I've got two separate M57SLI-S4 motherboards on which I've installed Coreboot, and I've noticed an interesting thing with the onboard Ethernet chip. It seems it contains one MAC address in hardware,
It's in software - it's in the bios image.
which is changed by the factory-shipped BIOS during boot. The hardwired address begins with 00-E0-81, which seems to be registered to Tyan[1], and the address which it is replaced with begins with 00-1D-7D, which seems to be registered to Gigabyte. This is noteworthy for two reasons:
- It confused me a lot at first. Since udev assigns a new interface
name for every MAC address it discovers, it made my DHCP client fail since it couldn't find the interface it was configured for, so at first I thought that Coreboot couldn't initialize the NIC. I got past that pretty quickly, though.
- More importantly, the hardwired address is actually the same for both
motherboards! More precisely, it is 00-E0-81-54-32-66. Thus, running several of these board on the same physical link is a bad idea if one does not change the address manually.
I don't know if anything should (or can) be done about this in Coreboot. I just thought I'd mention it.
Try the attached script to update the mac address of your image prior to burning it.
This should really be documented on the wiki. It applies to (almost) all our mcp55-based boards.
Thanks, Ward.
On Sat, 2008-05-17 at 08:40 -0400, Ward Vandewege wrote:
Hi Fredrik,
On Sat, May 17, 2008 at 05:48:49AM +0200, Fredrik Tolf wrote:
This mail is justa noteworthy observation I've made. I've got two separate M57SLI-S4 motherboards on which I've installed Coreboot, and I've noticed an interesting thing with the onboard Ethernet chip. It seems it contains one MAC address in hardware,
It's in software - it's in the bios image.
Oh, I see. That explains a lot. I don't really know why I just assumed that it was the hardware which was weird, but I thank for correcting me. :)
[...] This should really be documented on the wiki. It applies to (almost) all our mcp55-based boards.
Wouldn't an even better idea be to emit a compiler error/warning if the MAC address hasn't been changed to some value other than the default?
Fredrik Tolf
On Sat, May 17, 2008 at 08:40:12AM -0400, Ward Vandewege wrote:
Try the attached script to update the mac address of your image prior to burning it.
This should really be documented on the wiki. It applies to (almost) all our mcp55-based boards.
Maybe we should put the script in svn (somewhere below utils/)?
Uwe.
On Tue, May 20, 2008 at 01:46:48PM +0200, Uwe Hermann wrote:
On Sat, May 17, 2008 at 08:40:12AM -0400, Ward Vandewege wrote:
Try the attached script to update the mac address of your image prior to burning it.
This should really be documented on the wiki. It applies to (almost) all our mcp55-based boards.
Maybe we should put the script in svn (somewhere below utils/)?
Fine by me, it's a simple thing but it can be helpful. Eventually I want to be able to do this from buildrom :)
Thanks, Ward.