[tulip] 21041<->cable modem, led dark, kernel > 2.4.18

Florian demmer@chello.at
Mon Aug 5 12:03:01 2002


redhat 7.3 uses 2 tulip versions in its kernel/sources. old works new 
not - without options.

tulip_old finds all the right settings which are:

tulip-diag.c:v2.11 6/17/2002 Donald Becker (becker@scyld.com)
 http://www.scyld.com/diag/index.html
Index #1: Found a Digital DC21041 Tulip adapter at 0xd000.
 Port selection is half-duplex.
 Transmit started, Receive started, half-duplex.
  The Rx process state is 'Waiting for packets'.
  The Tx process state is 'Idle'.
  The transmit unit is set to store-and-forward.
  The NWay status register is 000001c8.
EEPROM 64 words, 6 address bits.
PCI Subsystem IDs, vendor 0000, device 0000.
CardBus Information Structure at offset 00000000.
Ethernet MAC Station Address 00:00:F8:31:6B:B3.
EEPROM transceiver/media description table.
Leaf node at offset 65, default media type 0000 (10baseT).
 2 transceiver description blocks:
  21041 media index 00 (10baseT).
  21041 media index 04 (10baseT-Full Duplex).
EEPROM contents (64 words):
0x00:  0000 0000 0000 0000 0000 0000 0000 0000
0x08:  0000 0101 0000 31f8 b36b 4100 4400 3445
0x10:  3035 542d 1141 0001 0000 0000 0000 0000
0x18:  0000 0000 0000 0000 0000 0000 0000 0000
0x20:  0000 0200 0400 0000 0000 0000 0000 0000
0x28:  0000 0000 0000 0000 0000 0000 0000 0000
0x30:  0000 0000 0000 0000 0000 0000 0000 0000
0x38:  0000 0000 0000 0000 0000 0000 0000 25f5
 ID block CRC 0xe3 (vs. 00).
  Full contents CRC 0x25f5 (read as 0x25f5).
  Internal autonegotiation state is 'Autonegotiation disabled'.

the new driver (sorry don't have the source installed cannot tell the 
version) doesn't find the right settings.
i don't know what exactly is wrong but i guess it's something with 
the nway.

this is what the new driver says if it is not working:

tulip-diag.c:v2.11 6/17/2002 Donald Becker (becker@scyld.com)
 http://www.scyld.com/diag/index.html
Index #1: Found a Digital DC21041 Tulip adapter at 0xd000.
 Port selection is full-duplex.
 Transmit started, Receive started, full-duplex.
  The Rx process state is 'Waiting for packets'.
  The Tx process state is 'Idle'.
  The transmit unit is set to store-and-forward.
  The NWay status register is 000050c8.
EEPROM 64 words, 6 address bits.
PCI Subsystem IDs, vendor 0000, device 0000.
CardBus Information Structure at offset 00000000.
Ethernet MAC Station Address 00:00:F8:31:6B:B3.
EEPROM transceiver/media description table.
Leaf node at offset 65, default media type 0000 (10baseT).
 2 transceiver description blocks:
  21041 media index 00 (10baseT).
  21041 media index 04 (10baseT-Full Duplex).
EEPROM contents (64 words):
0x00:  0000 0000 0000 0000 0000 0000 0000 0000
0x08:  0000 0101 0000 31f8 b36b 4100 4400 3445
0x10:  3035 542d 1141 0001 0000 0000 0000 0000
0x18:  0000 0000 0000 0000 0000 0000 0000 0000
0x20:  0000 0200 0400 0000 0000 0000 0000 0000
0x28:  0000 0000 0000 0000 0000 0000 0000 0000
0x30:  0000 0000 0000 0000 0000 0000 0000 0000
0x38:  0000 0000 0000 0000 0000 0000 0000 25f5
 ID block CRC 0xe3 (vs. 00).
  Full contents CRC 0x25f5 (read as 0x25f5).
  Internal autonegotiation state is 'Negotiation complete'.

now with "insmod tulip options=4" and working:

tulip-diag.c:v2.11 6/17/2002 Donald Becker (becker@scyld.com)
 http://www.scyld.com/diag/index.html
Index #1: Found a Digital DC21041 Tulip adapter at 0xd000.
 Port selection is full-duplex.
 Transmit started, Receive started, full-duplex.
  The Rx process state is 'Waiting for packets'.
  The Tx process state is 'Idle'.
  The transmit unit is set to store-and-forward.
  The NWay status register is 000001c8.
EEPROM 64 words, 6 address bits.
PCI Subsystem IDs, vendor 0000, device 0000.
CardBus Information Structure at offset 00000000.
Ethernet MAC Station Address 00:00:F8:31:6B:B3.
EEPROM transceiver/media description table.
Leaf node at offset 65, default media type 0000 (10baseT).
 2 transceiver description blocks:
  21041 media index 00 (10baseT).
  21041 media index 04 (10baseT-Full Duplex).
EEPROM contents (64 words):
0x00:  0000 0000 0000 0000 0000 0000 0000 0000
0x08:  0000 0101 0000 31f8 b36b 4100 4400 3445
0x10:  3035 542d 1141 0001 0000 0000 0000 0000
0x18:  0000 0000 0000 0000 0000 0000 0000 0000
0x20:  0000 0200 0400 0000 0000 0000 0000 0000
0x28:  0000 0000 0000 0000 0000 0000 0000 0000
0x30:  0000 0000 0000 0000 0000 0000 0000 0000
0x38:  0000 0000 0000 0000 0000 0000 0000 25f5
 ID block CRC 0xe3 (vs. 00).
  Full contents CRC 0x25f5 (read as 0x25f5).
  Internal autonegotiation state is 'Autonegotiation disabled'.

the nway value is back to "000001c8"!

the weird thing is, that the old driver works with half-duplex and 
the new one with full...
side information: i use this card with a lancity cable modem and the 
modem led stays dark when "not working" while the nic's led is always 
on.

maybe anyone could do something with the driver as it is now to 
"repair" this. it had cost me hours of playing around and reading 
mailinglists to get it work, maybe otherpeople have difficulties with 
this too...?

greetings
florian demmer