DEC DC21140 (rev 17) autonegotiation

Metod Kozelj metod.kozelj@rzs-hm.si
Wed Jan 19 07:26:04 2000


Hello,

I'm using linux on Alcor (AlphaStation 600 5/333) with Digital's NIC in
it. It uses DC21140 (rev 17) chip. The problem is that I can't make it use
antything but 10baseT.

Boot time messages:

tulip.c:v0.91g-ppc 7/16/99 becker@cesdis.gsfc.nasa.gov
eth0: Digital DS21140 Tulip rev 17 at 0x9000, 00:00:F8:01:08:6E, IRQ 20.
eth0:  EEPROM default media type Autosense.
eth0:  Index #0 - Media 10baseT (#0) described by a 21140 non-MII (0) block.
eth0:  Index #1 - Media 100baseTx (#3) described by a 21140 non-MII (0) block.
eth0:  Index #2 - Media 100baseTx-FD (#5) described by a 21140 non-MII (0) block.
eth0:  Index #3 - Media 10baseT-FD (#4) described by a 21140 non-MII (0) block.

tulip-diag says:

$ /root/tulip-diag -afe
tulip-diag.c:v1.10 4/12/99 Donald Becker (becker@cesdis.gsfc.nasa.gov)
Index #1: Found a Digital DS21140 Tulip adapter at 0x9000.
Digital DS21140 Tulip chip registers at 0x9000:
  fff8e000 ffffffff ffffffff 40159018 40159218 fc660000 e2402002 ffffebef
  fffe0000 fff097ff ffffffff fffe0000 ffffff58 ffffffff 1c09fdc0 fffffec8
 Port selection is 10mpbs-serial, half-duplex.
 Transmit started, Receive started, half-duplex.
  The Rx process state is 'Waiting for packets'.
  The Tx process state is 'Idle'.
  The transmit threshold is 72.
Ethernet MAC Station Address 00:00:F8:01:08:6E.
EEPROM transceiver/media description for the Digital DS21140 Tulip chip.
Leaf node at offset 65, default media type 0800 (Autosense).
 CSR12 direction setting bits 0x0f.
 4 transceiver description blocks:
  21140 Non-MII transceiver with media 0 (10baseT).
   CSR12 control port setting 0x08, command 00 0x9e.
   Media detection by looking for a 0 on bit 7 of the CSR12 control port.
  21140 Non-MII transceiver with media 3 (100baseTx).
   CSR12 control port setting 0x09, command 00 0xed.
   Media detection by looking for a 0 on bit 6 of the CSR12 control port.
  21140 Non-MII transceiver with media 5 (100baseTx Full Duplex).
   CSR12 control port setting 0x01, command 00 0xed.
   Media detection by looking for a 0 on bit 6 of the CSR12 control port.
  21140 Non-MII transceiver with media 4 (10baseT-Full Duplex).
   CSR12 control port setting 00, command 00 0x9e.
   Media detection by looking for a 0 on bit 7 of the CSR12 control port.


If I try to force it to, say 100baseTx by using "options=3", it would
supposedly switch to 100baseTx, but nothing would go through the wire.

The other end is Cisco 2900XL switch and it thinks my NIC is 10baseT, HD.

I have another eth controller in system (DEC DC21040 (rev 35)), which is
on SCSI board (Q Logic ISP1020, PCI bridge DEC DC21050 (rev 2)). I don't
think it causes my problems though.


I boot linux from SRM console. The eth setting there is 100baseTx and
switch is happy with that. If I boot DigitalUnix, it operates in
100baseTx hapily.

On other boxes, I have several Tulip cards (DS21140 revs 32 and 34)
working hapily in 100baseTx-FD.

I guess the driver is broken with this rev. of DS21140, because it works
in both HD modes under DigitalUnix.

Question: is there anything I can try to make this card work in 100baseTx
(I hate to change it for some other, but eventually it will have to go I
guess).

Regards,
  Mkx

---- perl -e 'print $i=pack(c5,(41*2),sqrt(7056),(unpack(c,H)-2),oct(115),10);'

-------------------------------------------------------------------
To unsubscribe send a message body containing "unsubscribe"
to linux-tulip-request@beowulf.org