weird tulip/tulip-diag behaviour

Alexander L. Belikoff abel@bfr.co.il
Wed Jul 29 13:40:51 1998


Hello everybody,

I'm playing with tulip cards in Alpha machines. My ultimate goal is to
figure out why they have such insanely slow FTP transfer rate, while
reporting of being capable of 100Mbps.

One of our machines has a card somehow different from the others:
different number, shape and layout of LEDs on its back. This card
makes tulip-diag barf a lot.

I tried it with the following kernel/driver combinations:

- heavily patched 2.0.30 with tulip.c 0.83
- alpha-ready 2.0.34 from ftp.digital.com with tulip.c upgraded to
  0.89H

At boot time I get:

tulip.c:v0.89H 5/23/98 becker@cesdis.gsfc.nasa.gov
eth0: Digital DS21140 Tulip at 0x9000, 00 80 c8 67 a8 c4, IRQ 16.
eth0:  EEPROM default media type Autosense.
eth0:  Index #0 - Media MII (#11) described by a 21140 MII PHY (1) block.
eth0:  MII transceiver found at MDIO address 8, config 3100 status 786d.
eth0:  Advertising 01e1 on PHY 8, previously advertising 01e1.


Now, when I try to run tulip-diag (last version, built with MII and -O), I get:

# ./tulip-diag -f -e -e -a -m -m 
tulip-diag.c:v1.03 5/20/98 Donald Becker (becker@cesdis.gsfc.nasa.gov)
Chip Index #1: Found a DC21140 Tulip card at PCI bus 0, device 6 I/O 0x9000.
Digital DS21140 Tulip chip registers at 0x9000:
  ffa0e000 ffffffff ffffffff 4029c040 4029c240 fc6e0000 320e2002 ffffebef
  e0000000 fffd83ff ffffffff fffe0000 ffffff28 ffffffff 1c09fdc0 fffffec8
 The Rx process state is '(null)'.
 The Tx process state is 'Idle'.
Transmit started, Receive started, half-duplex.
 The transmit threshold is 128.
 Port selection is MII, half-duplex.
EEPROM contents:
  08c3 0880 0000 0000 0000 0000 0000 0000
  0068 0081 4000 33c4 625c 0f00 0000 0400
  0080 00c6 0000 0000 703c 0000 0028 000c
  0000 0000 0000 0000 0000 0000 0000 0000
  0000 0000 0000 0000 0000 0000 0000 0000
  0000 0000 0000 0000 0000 0000 0000 0000
  0000 0000 0000 0000 0000 0000 0000 0000
  0000 0000 0000 0000 0000 0000 0000 7c45
 ID CRC 0x7a (vs. 0x68), complete CRC babb12a9.
EEPROM transceiver/media description for the DC21140 chip.

Leaf node at offset 15, default media type 6800 (Autosense).
 CSR12 direction setting bits 00.
 129 transceiver description blocks:
  21140 Non-MII transceiver with media 0 (10baseT).
   CSR12 control port setting 00, command 0xc4 0x40.
   No media-active status available.
  21140 Non-MII transceiver with media 51 (100baseTx).
   CSR12 control port setting 0x5c, command 00 0x62.
   Media detection by looking for a 1 on bit 1 of the CSR12 control port.
  21140 Non-MII transceiver with media 15 (MII 100baseT4).
   CSR12 control port setting 00, command 00 00.
   Media detection by looking for a 1 on bit 0 of the CSR12 control port.
  21140 Non-MII transceiver with media 4 (10baseT-Full Duplex).
   CSR12 control port setting 0x80, command 0xc6 00.
   No media-active status available.

... plenty of messages like above ...

 MII PHY found at address 8, status 0x786d.
 MII PHY #8 transceiver registers:
   3100 786d 2000 5c01 01e1 0021 0000 0000
   0000 0000 0000 0000 0000 0000 0000 0000
   0000 0000 0000 0000 0000 0000 0001 8060
   8020 0c68 0000 3000 a3b9 0080 9005 001d.
 Basic mode control register 0x3100: Auto-negotiation enabled.
 Basic mode status register 0x786d ... 786d.
  Link status: established.
   Capable of  100baseTx-FD 100baseTx 10baseT-FD 10baseT.
  Able to perform Auto-negotiation, auto-negotiation complete.
 Vendor ID is 08:00:17:--:--:--, model 0 rev. 1.
  I'm advertising 01e1: 100baseTx-FD 100baseTx 10baseT-FD 10baseT
   Advertising no additional info pages.
   IEEE 802.3 CSMA/CD protocol.
  Link partner capability is 0021: 10baseT.
   Negotiation did not complete.


Any ideas, what is wrong?

PS (Donald - specifically for you). The kernel also catches an
alignment problem with tulip-diag:

tulip-diag(561): unaligned trap at 00000001200035dc: 00000001201073c1 29 1

Regards,

-- 
Alexander L. Belikoff
Bloomberg L.P. / BFM Financial Research Ltd.
abel@bfr.co.il