[3c509] OEM/Ethernet Addr set to 00:00:00:00:00:00?

Donald Becker becker@scyld.com
Tue Jul 23 12:26:01 2002

On Mon, 22 Jul 2002 achen-scyld@divo.net wrote:

> Subject: [3c509] OEM/Ethernet Addr set to 00:00:00:00:00:00?

Ahhh, a non-spam posting on the 3c509 list.  I had to delete 34 other
messages before I got to this one.

> I'm using a 3c920 card included with an Asus A7M266-DL motherboard.

Alas, it's a message that should have been sent to the vortex mailing
Still, I'll answer it here.

>  The eeprom onboard (As read with vortex-diag), says that the ethernet MAC is
> 00:00:00:00:00:00.  This is evidently incorrect since the card has a real
> MAC address, but why isn't it being used?  Is this a fault in the driver
> or in the eeprom?  I'm using the driver out of the 2.4.18 kernel:
> 02:06.0: 3Com PCI 3c905C Tornado at 0xc400. Vers LK1.1.16

Note that the 920 and 905 are the same chip.  The number is changed
depending on the application (PCI card, on-motherboard implementation, etc.)

> Thanks.  Please find attached some debugging output:
> $  sudo ./vortex-diag  -ee
> vortex-diag.c:v2.06 4/18/2002 Donald Becker (becker@scyld.com)
>  http://www.scyld.com/diag/index.html
> Index #1: Found a 3c905C Tornado 100baseTx adapter at 0xc400.
> EEPROM format 64x16, configuration table at offset 0:

Normal size and offset for a non-CardBus adapter without modified PCI IDs.

>     00: 00e0 1886 4ce8 9200 ffff ffff ffff 6d51
>   0x08: 2940 0000 0000 0000 0000 0010 0000 00aa
>   0x10: 72a2 0000 0000 0180 0000 0000 0000 10b7
>   0x18: 1000 000a 0000 6300 ffb7 b7b7 0000 0000
>   0x20: 0000 1234 5670 0000 0000 0000 0000 0000
>       ...
>  The word-wide EEPROM checksum is 0xa78b.
> Saved EEPROM settings of a 3Com Vortex/Boomerang:
>  3Com Node Address 00:E0:18:86:4C:E8 (used as a unique ID only).
>  OEM Station address 00:00:00:00:00:00 (used as the ethernet address).
>   Device ID 9200,  Manufacturer ID 6d51.
>   Manufacture date (MM/DD/YYYY) 15/31/2027, division , product .
>   No BIOS ROM is present.
>  Options: negotiated duplex, link beat required.
>   Vortex format checksum is incorrect (00f6 vs. 10b7).
>   Cyclone format checksum is incorrect (0x4b vs. 00).
>   Hurricane format checksum is incorrect (0x60 vs. 00).

OK, this interpreted information is correctly reporting the chip EEPROM
contents.  But I can't figure out how you managed to erase the station
You didn't use "vortex-diag -H ...", because that wouldn't have left an
incorrect checksum.
The EEPROM didn't have some obvious hardware failure, because much of
the other information is correct.  (Although that Manufacture Date and
other fields are either 0x0000 or 0xffff.)

Before we fix this, how did it happen?
  How old is the motherboard?  Did it work when you got it?
  What OS have you been running?
The '1234' and '5670' fields in the EEPROM look suspiciously like
some hand manipulation.

The fix will involve adding a few lines in vortex-diag to replace the
missing fields.

Donald Becker				becker@scyld.com
Scyld Computing Corporation		http://www.scyld.com
410 Severn Ave. Suite 210		Second Generation Beowulf Clusters
Annapolis MD 21403			410-990-9993