Transmitter stopped with 21143/QS6611 NIC on 10BaseT

Mike Sin michsin@usa.net
Thu Oct 1 19:56:45 1998


I have a 21143 / QS6611 NIC. I am using Slackware 3.5 (2.0.34 kernel)
and v0.89h of tulip.c. I did tried 0.89k too. I have to get it works
with my existing 10BaseT network. This NIC is working fine under Win98.

I just can't get this NIC to operate in 10BaseT mode. Correct me is I am
wrong:
>From the spec of 21143 and QS6611, I understand that there are two ways
to switch between 10/100Mbps:
1. Use a relay to switch between 21143/10BaseT and QS6611/100Base output

2. All go through QS6611 and switch between 10/100 by controlling  TXSEL
(and optionally BTSEL and MM pins).

I have tried to modified the tulip.c and force the 21143 to use 10BaseT
only, but I failed. What do I miss? Are there any way that I can tell my
hardware configuration by the content of the EEPROM?

Below are some information for your reference:

When Linux boot up it shows:

eth0:  EEPROM default media type Autosense.
eth0: Index #0 - Media 10baseT (#0) described by a 21142 Serial PHY (2)
block.
eth0: Index #1 - Media 10baseT-FD (#4) described by a 21142 Serial PHY
(2) block.
eth0: Index #2 - Media 100baseTx (#3) described by a 21142 SYM PHY (4)
block.
eth0: Index #3 - Media 100baseTx-FD (#5) described by a 21142 SYM PHY
(4) block.
....
eth0: The transmitter stopped! CSR5 is f0678006, CSR6 b3862002.
...
...
eth0: The transmitter stopped! CSR5 is f0008102, CSR6 b2420200.
eth0: The transmitter stopped! CSR5 is f0008102, CSR6 b2420200.
eth0: The transmitter stopped! CSR5 is f0008102, CSR6 b2420200. (keep
repeating every minute)
...

1. If I do not specified the "options" or "options=0" of tulip.o in
/etc/rc.d/rc.module, it will always in the 100mbps mode and jam my
complete network.

tulip-diag.c:v1.03 5/20/98 Donald Becker (becker@cesdis.gsfc.nasa.gov)
Chip Index #1: Found a DC21142 Tulip card at PCI bus 0, device 7 I/O
0x6000.
Digital DS21142 Tulip chip registers at 0x6000:
  ffa04800 ffffffff ffffffff 006a4028 006a4228 f0660000 b3862002
fbfffbff
  e0000000 fff483ff ffffffff fffe0000 000020c6 ffff0001 fffbffff
8ff9c008
  ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
ffffffff
  ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
ffffffff
 The Rx process state is 'Waiting for packets'.
 The Tx process state is 'Idle'.
Transmit started, Receive started, half-duplex.
 The transmit threshold is 128.
 Port selection is 100mbps-SYM/PCS 100baseTx scrambler, half-duplex.
EEPROM transceiver/media description for the DC21142 chip.

Leaf node at offset 30, default media type 0800 (Autosense).
 4 transceiver description blocks:
  Media 10baseT,  block type 2.
   Serial transceiver for 10baseT (media type 0).
   GP pin direction 08af  GP pin data 00a5.
  Media 10baseT-Full Duplex,  block type 2.
   Serial transceiver for 10baseT-Full Duplex (media type 4).
   GP pin direction 08af  GP pin data 00a5.
  Media 100baseTx,  block type 4.
   SYM transceiver for 100baseTx (media type 3).
   GP pin direction 08af  GP pin data 00a5.
   No media detection indication (command 80 61).
  Media 100baseTx Full Duplex,  block type 4.
   SYM transceiver for 100baseTx Full Duplex (media type 5).
   GP pin direction 08af  GP pin data 00a5.
   No media detection indication (command 80 61).

2. If I try to force it to 10BaseT by specify option=12 in rc.module,
the output tulip-diag is as below:

tulip-diag.c:v1.03 5/20/98 Donald Becker (becker@cesdis.gsfc.nasa.gov)
Chip Index #1: Found a DC21142 Tulip card at PCI bus 0, device 7 I/O
0x6000.
Digital DS21142 Tulip chip registers at 0x6000:
  ffa04800 ffffffff ffffffff 0069e028 0069e228 f0660000 b3862002
fbfffbff
  e0000000 fff483ff ffffffff fffe0000 000000c5 ffff0001 fffbff7f
8ff0c008
  ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
ffffffff
  ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
ffffffff
 The Rx process state is 'Waiting for packets'.
 The Tx process state is 'Idle'.
Transmit started, Receive started, half-duplex.
 The transmit threshold is 128.
 Port selection is 100mbps-SYM/PCS 100baseTx scrambler, half-duplex.
 This interface is missing the EEPROM.
  This is likely the non-primary interface on a multiport board.

3. If I commented out the tulip in rc.module:

tulip-diag.c:v1.03 5/20/98 Donald Becker (becker@cesdis.gsfc.nasa.gov)
Chip Index #1: Found a DC21142 Tulip card at PCI bus 0, device 7 I/O
0x6000.
Digital DS21142 Tulip chip registers at 0x6000:
  fe000000 ffffffff ffffffff 006f8028 006f8228 f0000000 32000040
f3fe0000
  e0000000 ffffcbf8 ffffffff fffe0000 000000c6 ffff0000 ffffffff
8ff9c000
  ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
ffffffff
  ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
ffffffff
 The Rx process state is 'Stopped'.
 The Tx process state is 'Stopped'.
Transmit stopped, Receive stopped, half-duplex.
 The transmit threshold is 72.
 Port selection is 10mpbs-serial, half-duplex.
EEPROM transceiver/media description for the DC21142 chip.

Leaf node at offset 30, default media type 0800 (Autosense).
 4 transceiver description blocks:
  Media 10baseT,  block type 2.
   Serial transceiver for 10baseT (media type 0).
   GP pin direction 08af  GP pin data 00a5.
  Media 10baseT-Full Duplex,  block type 2.
   Serial transceiver for 10baseT-Full Duplex (media type 4).
   GP pin direction 08af  GP pin data 00a5.
  Media 100baseTx,  block type 4.
   SYM transceiver for 100baseTx (media type 3).
   GP pin direction 08af  GP pin data 00a5.
   No media detection indication (command 80 61).
  Media 100baseTx Full Duplex,  block type 4.
   SYM transceiver for 100baseTx Full Duplex (media type 5).
   GP pin direction 08af  GP pin data 00a5.
   No media detection indication (command 80 61).

Thank you for anyone that can give me some hints.

Michael