3c905 not working under linux

Dan Conti n9740098@cc.wwu.edu
Sun Apr 25 14:51:54 1999


Hello everyone. :)
Let's see, where to start.
Well, ok, i have a 3c905 and I run win95, NT and redhat linux 5.1.
Initially my nic worked under all three, but the other day that stopped.
I went to install BeOS on my machine (yes, i am out of my mind) only to
find that the BeOS drivers are *lame* and they wanted my nic to be on a
specific IRQ and i/o address. btw, initially my card was set to irq 10,
i/o addr 0x6400, half duplex, 10baseT, boot prom disabled. BeOS wanted
IRQ 5, i/o addr 0x0300, half duplex, 10baseT, boot prom enabled.

Continuing on, i changed the irq ok by tinkering with my bios for a bit,
and then i screwed up royally with win95 while trying to change the
device properties, to the extent that now my nic works under 95 and NT,
but not under linux. I changed all the settings back and that didn't
help at all.
The 3c59x driver i have for linux detects the card at the proper irq and
i/o addr, but i can't ping out and the led on the back of the card does
not light up. Here's the output from dmesg:

**

eth0: 3Com 3c905 Boomerang 100baseTx at 0x6400,  00:60:08:27:5b:88, IRQ
10
  8K word-wide RAM 3:5 Rx:Tx split, MII interface.
  MII transceiver found at address 24, status 7849.
  Enabling bus-master transmits and whole-frame receives.

**

By the way, i am using version .99H of the driver.
Which looks kosher to me. I'm guessing it says '100baseTx' because the
card is capable of that, not because it thinks the card is on a 100base
network...
I tinkered with vortex-diag a bit, but i dont have any way to know what
the output is telling me, since i dont have any sort of reference as to
what everything should be. here's some of what it gave me:

vortex-diag -aa -m -ff reports:
**

vortex-diag.c:v1.07 11/24/98 Donald Becker (becker@cesdis.gsfc.nasa.gov)

Found a 3Com PCI Ethernet 3c905 rev 0 at 0x6400.
Initial window 7, registers values by window:
  Window 0: 0000 0000 0000 0000 0000 0000 ffff 0002.
  Window 1: e3c0 e3c0 0000 2002 8000 00ff 13fc 2002.
  Window 2: 6000 2708 885b 0000 0000 0000 06c6 4002.
  Window 3: 02d8 0063 0000 0000 e040 0bff 13ff 6002.
  Window 4: 0000 06d0 2000 0040 0003 8802 0000 8002.
  Window 5: 1ffc fffc 06c6 1ffc 0007 0000 06c6 a002.
  Window 6: 0000 0000 0000 0000 0000 0000 0000 c002.
  Window 7: 0000 0000 0000 0000 8000 00ff 0000 e002.
Vortex chip registers at 0x6400
  0x6410: ffffe3c0 00000000 00008000 000013fc
  0x6420: 00000000 04aa1a70 00000000 ff000000
  0x6430: 00000000 00001109 00000000 00000000
 Indication enable is 06c6, interrupt enable is 0000.
 Interrupt sources are pending.
   Adapter Failure indication.
 Transceiver/media interfaces available:  MII.
 MAC settings: half-duplex.
Maximum packet size is 0.
 Station address set to 00:60:08:27:5b:88.
 Configuration options 4002.
 MII PHY found at address 24, status 7849.
 MII PHY 0 at #24 transceiver registers:
   3100 7849 2000 5c01 01e1 0000 0000 0000
   0000 0000 0000 0000 0000 0000 0000 0000
   0000 0000 0000 0000 0000 0000 0001 8060
   8020 0c78 0000 3800 a3b9 0080 8005 001b.

**

The 'Interrupt sources are pending. Adapter failure indication.' is a
result of using -ff and doesn't occur when i just use -aa -m. I guess
the 'Maximum packet size is 0.' line kinda worries me, but again, i dont
really know what the output is supposed to look like.
I did a dump of the EEPROM contents. I dont know what a normal EEPROM on
a 3c905 looks like (and i have no easy way to find out, since i dont
have a spare), but it kinda looks like it has been corrupted.

vortex-diag -ee reports:
**

vortex-diag.c:v1.07 11/24/98 Donald Becker (becker@cesdis.gsfc.nasa.gov)

Found a 3Com PCI Ethernet 3c905 rev 0 at 0x6400.
EEPROM contents:
 0x000: 0060 0060 0060 0060 0060 0060 0060 0060
 0x010: 0060 0060 0060 0060 0060 0060 0060 0060
 0x020: 0060 0060 0060 0060 0060 0060 0060 0060
 0x030: 0060 0060 0060 0060 0060 0060 0060 0060
 0x040: 0060 0060 0060 0060 0060 0060 0060 0060
 0x050: 0060 0060 0060 0060 0060 0060 0060 0060
 0x060: 0060 0060 0060 0060 0060 0060 0060 0060
 0x070: 0060 0060 0060 0060 0060 0060 0060 0060
 0x080: 0060 0060 0060 0060 0060 0060 0060 0060
 0x090: 0060 0060 0060 0060 0060 0060 0060 0060
 0x0a0: 0060 0060 0060 0060 0060 0060 0060 0060
 0x0b0: 0060 0060 0060 0060 0060 0060 0060 0060
 0x0c0: 0060 0060 0060 0060 0060 0060 0060 0060
 0x0d0: 0060 0060 0060 0060 0060 0060 0060 0060
 0x0e0: 0060 0060 0060 0060 0060 0060 0060 0060
 0x0f0: 0060 0060 0060 0060 0060 0060 0060 0060
 0x100: 0060 0827 5b88 9050 c2d6 0036 4b4b 6d50
 0x110: 0418 0000 0060 0827 5b88 0020 0000 0000
 0x120: 10a6 0000 02d8 0063 0000 0002 0000 00ee
 0x130: ffff ffff ffff ffff ffff ffff ffff ffff
 0x140: ffff ffff ffff ffff ffff ffff ffff ffff
 0x150: ffff ffff ffff ffff ffff ffff ffff ffff
 0x160: ffff ffff ffff ffff ffff ffff ffff ffff
 0x170: ffff ffff ffff ffff ffff ffff ffff ffff
 0x180: ffff ffff ffff ffff ffff ffff ffff ffff
 0x190: ffff ffff ffff ffff ffff ffff ffff ffff
 0x1a0: ffff ffff ffff ffff ffff ffff ffff ffff
 0x1b0: ffff ffff ffff ffff ffff ffff ffff ffff
 0x1c0: ffff ffff ffff ffff ffff ffff ffff ffff
 0x1d0: ffff ffff ffff ffff ffff ffff ffff ffff
 0x1e0: ffff ffff ffff ffff ffff ffff ffff ffff
 0x1f0: ffff ffff ffff ffff ffff ffff ffff ffff
 The word-wide EEPROM checksum is 0x1cb6.
Parsing the EEPROM of a 3Com Vortex/Boomerang:
 3Com Node Address 00:60:00:60:00:60 (used as a unique ID only).
 OEM Station address 00:60:00:60:00:60 (used as the ethernet address).
 Manufacture date (MM/DD/YY) 3/0/0, division `, product `
Options: none.
  Vortex format checksum is incorrect (00 vs. 60).
 Cyclone format checksum is incorrect (00 vs. 60).

**


If anyone has any ideas at all, i would be really appreciative. I've
tried just about everything to get the card working again under linux to
no avail. Sorry if i've included too much info. :)
-Dan

--
Dan Conti, Computer Science, WWU
n9740098@cc.wwu.edu

Life goes on long after the thrill of living is gone.