[vortex] 3c905c ROM enable/disable
8 Nov 2000 04:39:01 -0000
I recently got frustrated enough with the fact that the network BIOS in
my 3c905c was delaying the boot sequence all the time to make a DOS boot
floppy and run 3com's 3c90xcfg.exe. I snapshotted the EEPROM before
and after to try to spot the changed bits. A half dozen bits changed,
so I fiddled with the settings some more and collected various other
EEPROM settings until a consistent pattern emerged:
It looks like (the surrounding words are the manufacturer's default)
EEPROM contents (64 words, offset 0):
0x000: 0001 0230 xxxx 9200 0044 0048 5245 6d50
0x008: 2940 0800 0001 0230 xxxx 0010 0000 00aa
0x010: 72a2 0000 0000 0180 0000 0000 0421 10b7
^-- change to 3 for ROM BIOS disable
0x018: 1000 000a 0002 6300 ffb7 b7b7 0000 0000
0x020: 00a8 1234 5600 0000 0000 0000 0000 0000
0x028: 0000 0000 0000 0000 0000 0000 0000 0000
0x030: ffff ffff ffff ffff ffff ffff ffff ffff
0x038: ffff ffff ffff ffff ffff ffff ffff ffff
The word-wide EEPROM checksum is <non-zero>.
Parsing the EEPROM of a 3Com Vortex/Boomerang:
3Com Node Address 00:01:02:30:xx:xx (used as a unique ID only).
OEM Station address 00:01:02:30:xx:xx (used as the ethernet address).
Manufacture date (MM/DD/YYYY) 2/4/2000, division H, product ER.
Vortex format checksum is incorrect (xxxx vs. 10b7).
Cyclone format checksum is incorrect (0xa6 vs. 0xa8).
Hurricane format checksum is incorrect (0x8f vs. 0xa8).
When I turn the boot ROM off, the diag program messes with various
settings (like always setting the adapter to 10baseT, sigh), but
the only bit that is consistently associated with the boot ROM
settings is 0200 in word 0x14.
There appears to be no checksum. At least, nothing else changes in
a corresponding way.
I haven't hacked vortex-diag.c to let me fiddle that bit yet, but
from observing the EEPROM after adjusting the settings, that looks
I just thought this might be useful to someone.