Cogent EM100: heavy start

Yury Shevchuk sizif@botik.ru
Sun Dec 27 09:46:00 1998


Hello,

I am having a problem with tulip driver + Cogent EM100 boards
(otherwise called Adaptec ANA-6910/FXST).  The problem is minor but
unpleasant.  I am using linux 2.0.30 and tulip.c:v0.90f.

In short: the interface won't start normally when I ifconfig it for
the first time.  It very quickly gets stuck with csr5=0xfc260000, and
no interrupts coming from the card despite that the tx queue isn't
empty.  However, if I ping the remote end, ifconfig eth1 down, and
then repeat the configuration, the interface starts working and works
fine.

Here is the command sequence I have to use in my startup files to
bring the card up (please disregard the pointopoint mode unusual for
an ethernet interface, it's irrelevant to the problem):

/etc/init.d/network:
-------------------
DEV=eth1
IPADDR=193.232.174.251
POINTOPOINT=193.232.174.50
ifconfig $DEV $IPADDR pointopoint $POINTOPOINT -broadcast netmask 255.255.255.255
route add $POINTOPOINT dev $DEV
ping -c1 $POINTOPOINT  # essential--remove ping and ifconfig down won't help
ifconfig $DEV down
ifconfig $DEV $IPADDR pointopoint $POINTOPOINT -broadcast netmask 255.255.255.255
route add $POINTOPOINT dev $DEV

This seems to be a problem of the driver, not the card.  Now I have
gotten the de4x5 driver working for the EM100, and it doesn't show
this behaviour -- it works fine after the first ifconfig.

For the purposes of the bug report, I have gathered some debugging
info (attached at the end of the mail).  Unfortunately, I could not
find the 21140 data sheet at www.digital.com (the place must have
changed...), and so cannot hack further myself :(.  Hope the driver
developers will fix it easily.


Thanks,

-- Yury Shevchuk
<sizif@botik.ru>




Here is the test configuration:

/etc/conf.modules:
-----------------
alias eth1 tulip
options eth1 -o eth1 full_duplex=1 options=3 debug=9

/etc/init.d/network:
-------------------
DEV=eth1
IPADDR=193.232.174.251
POINTOPOINT=193.232.174.50
date >> /tulip-diag
/usr/local/bin/tulip-diag -fae >> /tulip-diag
ifconfig $DEV $IPADDR pointopoint $POINTOPOINT -broadcast netmask 255.255.255.255
route add $POINTOPOINT dev $DEV
/usr/local/bin/tulip-diag -fae >> /tulip-diag
ping -c10 $POINTOPOINT;
/usr/local/bin/tulip-diag -fae >> /tulip-diag
ifconfig $DEV down
/usr/local/bin/tulip-diag -fae >> /tulip-diag
ifconfig $DEV $IPADDR pointopoint $POINTOPOINT -broadcast netmask 255.255.255.255
route add $POINTOPOINT dev $DEV
/usr/local/bin/tulip-diag -fae >> /tulip-diag
ping -c10 $POINTOPOINT;
/usr/local/bin/tulip-diag -fae >> /tulip-diag


Here is the debugging output from the driver:

Dec 25 18:26:22 park-router kernel: Found Digital DS21140 Tulip at PCI I/O address 0x3000. 
Dec 25 18:26:22 park-router kernel: tulip.c:v0.90f 12/17/98 becker@cesdis.gsfc.nasa.gov 
Dec 25 18:26:22 park-router kernel: eth1: Digital DS21140 Tulip at 0x3000, 00 00 92 97 1b 2c, IRQ 12. 
Dec 25 18:26:22 park-router kernel: eth1: Old format EEPROM on 'Cogent EM100' board.  Using substitute media control info. 
Dec 25 18:26:22 park-router kernel: eth1:  EEPROM default media type Autosense. 
Dec 25 18:26:22 park-router kernel: eth1:  Index #0 - Media 100baseFx (#7) described by a 21140 non-MII (0) block. 
Dec 25 18:26:22 park-router kernel: eth1:  Index #1 - Media 100baseFx-FD (#8) described by a 21140 non-MII (0) block. 
Dec 25 18:26:22 park-router kernel: eth1:  Index #2 - Media 100baseTx (#3) described by a 21140 non-MII (0) block. 
Dec 25 18:26:22 park-router kernel: eth1: tulip_open() irq 12. 
Dec 25 18:26:22 park-router kernel: eth1: tp 0x96e020 rx_ring 0x96e030 tx_ring 0x96e230. 
Dec 25 18:26:22 park-router kernel: eth1: Using user-specified media 100baseTx. 
Dec 25 18:26:22 park-router kernel: eth1: Using a 21140 non-MII transceiver with control setting 01. 
Dec 25 18:26:22 park-router kernel: eth1: Using media type 100baseTx, CSR12 is c1. 
Dec 25 18:26:22 park-router kernel: eth1: interrupt  csr5=0xfc670004 new csr5=0xfc660000. 
Dec 25 18:26:22 park-router kernel: eth1: interrupt  csr5=0xfc660000 new csr5=0xfc660000. 
Dec 25 18:26:22 park-router kernel: eth1: exiting interrupt, csr5=0xfc660000. 
Dec 25 18:26:22 park-router kernel: eth1: Done tulip_open(), CSR0 ffa04800, CSR5 fc660000 CSR6 33842202. 
Dec 25 18:26:22 park-router kernel: eth1: interrupt  csr5=0xfc670004 new csr5=0xfc660000. 
Dec 25 18:26:22 park-router kernel: eth1: interrupt  csr5=0xfc660000 new csr5=0xfc660000. 
Dec 25 18:26:22 park-router kernel: eth1: exiting interrupt, csr5=0xfc660000. 
Dec 25 18:26:22 park-router kernel: eth1: interrupt  csr5=0xfc670004 new csr5=0xfc660000. 
Dec 25 18:26:22 park-router kernel: eth1: interrupt  csr5=0xfc660000 new csr5=0xfc660000. 
Dec 25 18:26:22 park-router kernel: eth1: exiting interrupt, csr5=0xfc660000. 
Dec 25 18:26:22 park-router kernel: eth1: interrupt  csr5=0xfc670004 new csr5=0xfc660000. 
Dec 25 18:26:22 park-router kernel: eth1: interrupt  csr5=0xfc660000 new csr5=0xfc660000. 
Dec 25 18:26:22 park-router kernel: eth1: exiting interrupt, csr5=0xfc660000. 
Dec 25 18:26:22 park-router kernel: eth1: interrupt  csr5=0xfc670004 new csr5=0xfc660000. 
Dec 25 18:26:22 park-router kernel: eth1: interrupt  csr5=0xfc660000 new csr5=0xfc660000. 
Dec 25 18:26:22 park-router kernel: eth1: exiting interrupt, csr5=0xfc660000. 
Dec 25 18:26:22 park-router kernel: eth1: interrupt  csr5=0xfc670004 new csr5=0xfc660000. 
Dec 25 18:26:22 park-router kernel: eth1: interrupt  csr5=0xfc660000 new csr5=0xfc660000. 
Dec 25 18:26:22 park-router kernel: eth1: exiting interrupt, csr5=0xfc660000. 
Dec 25 18:26:22 park-router kernel: eth1: interrupt  csr5=0xfc670004 new csr5=0xfc660000. 
Dec 25 18:26:22 park-router kernel: eth1: interrupt  csr5=0xfc660000 new csr5=0xfc660000. 
Dec 25 18:26:22 park-router kernel: eth1: exiting interrupt, csr5=0xfc660000. 
Dec 25 18:26:22 park-router kernel: eth1: interrupt  csr5=0xfc670004 new csr5=0xfc660000. 
Dec 25 18:26:22 park-router kernel: eth1: interrupt  csr5=0xfc660000 new csr5=0xfc660000. 
Dec 25 18:26:22 park-router kernel: eth1: exiting interrupt, csr5=0xfc660000. 
Dec 25 18:26:25 park-router kernel: eth1: interrupt  csr5=0xfc270440 new csr5=0xfc260000. 
Dec 25 18:26:25 park-router kernel:  In tulip_rx(), entry 0 00400720. 
Dec 25 18:26:25 park-router kernel: eth1: interrupt  csr5=0xfc260000 new csr5=0xfc260000. 
Dec 25 18:26:25 park-router kernel: eth1: exiting interrupt, csr5=0xfc260000. 
Dec 25 18:26:27 park-router kernel: eth1: Media selection tick, status fc260000 mode 33842202 SIA ffffffc1 ffffffff 1c09fdc0 fffffec8. 
Dec 25 18:26:27 park-router kernel: eth1: Transceiver monitor tick: CSR12=0xffffffc1 bit 6 is 1, expecting 1. 
Dec 25 18:26:27 park-router kernel: eth1: Link beat detected for 100baseTx. 
Dec 25 18:26:42 park-router kernel: eth1: Shutting down ethercard, status was fc260000. 
Dec 25 18:26:43 park-router kernel: eth1: tulip_open() irq 12. 
Dec 25 18:26:43 park-router kernel: eth1: tp 0x96e020 rx_ring 0x96e030 tx_ring 0x96e230. 
Dec 25 18:26:43 park-router kernel: eth1: Using user-specified media 100baseTx. 
Dec 25 18:26:43 park-router kernel: eth1: Using a 21140 non-MII transceiver with control setting 01. 
Dec 25 18:26:43 park-router kernel: eth1: Using media type 100baseTx, CSR12 is c1. 
Dec 25 18:26:43 park-router kernel: eth1: interrupt  csr5=0xfc670004 new csr5=0xfc660000. 
Dec 25 18:26:43 park-router kernel: eth1: interrupt  csr5=0xfc660000 new csr5=0xfc660000. 
Dec 25 18:26:43 park-router kernel: eth1: exiting interrupt, csr5=0xfc660000. 
Dec 25 18:26:43 park-router kernel: eth1: Done tulip_open(), CSR0 ffa04800, CSR5 fc660000 CSR6 33842202. 
Dec 25 18:26:43 park-router kernel: eth1: interrupt  csr5=0xfc670004 new csr5=0xfc660000. 
Dec 25 18:26:43 park-router kernel: eth1: interrupt  csr5=0xfc660000 new csr5=0xfc660000. 
Dec 25 18:26:43 park-router kernel: eth1: exiting interrupt, csr5=0xfc660000. 
Dec 25 18:26:43 park-router kernel: eth1: interrupt  csr5=0xfc670004 new csr5=0xfc660000. 
Dec 25 18:26:43 park-router kernel: eth1: interrupt  csr5=0xfc660000 new csr5=0xfc660000. 
Dec 25 18:26:43 park-router kernel: eth1: exiting interrupt, csr5=0xfc660000. 
Dec 25 18:26:43 park-router kernel: eth1: interrupt  csr5=0xfc670004 new csr5=0xfc660000. 
Dec 25 18:26:43 park-router kernel: eth1: interrupt  csr5=0xfc660000 new csr5=0xfc660000. 
Dec 25 18:26:43 park-router kernel: eth1: exiting interrupt, csr5=0xfc660000. 
Dec 25 18:26:43 park-router kernel: eth1: interrupt  csr5=0xfc670004 new csr5=0xfc660000. 
Dec 25 18:26:43 park-router kernel: eth1: interrupt  csr5=0xfc660000 new csr5=0xfc660000. 
Dec 25 18:26:43 park-router kernel: eth1: exiting interrupt, csr5=0xfc660000. 
Dec 25 18:26:43 park-router kernel: eth1: interrupt  csr5=0xfc670004 new csr5=0xfc660000. 
Dec 25 18:26:43 park-router kernel: eth1: interrupt  csr5=0xfc660000 new csr5=0xfc660000. 
Dec 25 18:26:43 park-router kernel: eth1: exiting interrupt, csr5=0xfc660000. 
Dec 25 18:26:43 park-router kernel: eth1: interrupt  csr5=0xfc670004 new csr5=0xfc660000. 
Dec 25 18:26:43 park-router kernel: eth1: interrupt  csr5=0xfc660000 new csr5=0xfc660000. 
Dec 25 18:26:43 park-router kernel: eth1: exiting interrupt, csr5=0xfc660000. 
Dec 25 18:26:43 park-router kernel: eth1: interrupt  csr5=0xfc670004 new csr5=0xfc660000. 
Dec 25 18:26:43 park-router kernel: eth1: interrupt  csr5=0xfc670040 new csr5=0xfc660000. 
Dec 25 18:26:43 park-router kernel:  In tulip_rx(), entry 0 00400320. 
Dec 25 18:26:43 park-router kernel: eth1: interrupt  csr5=0xfc660000 new csr5=0xfc660000. 
Dec 25 18:26:43 park-router kernel: eth1: exiting interrupt, csr5=0xfc660000. 
Dec 25 18:26:43 park-router kernel: eth1: interrupt  csr5=0xfc670004 new csr5=0xfc660000. 
Dec 25 18:26:43 park-router kernel: eth1: interrupt  csr5=0xfc660000 new csr5=0xfc660000. 
Dec 25 18:26:43 park-router kernel: eth1: exiting interrupt, csr5=0xfc670040. 
Dec 25 18:26:43 park-router kernel: eth1: interrupt  csr5=0xfc670040 new csr5=0xfc660000. 
Dec 25 18:26:43 park-router kernel:  In tulip_rx(), entry 1 00660320. 
Dec 25 18:26:43 park-router kernel: eth1: interrupt  csr5=0xfc660000 new csr5=0xfc660000. 
Dec 25 18:26:43 park-router kernel: eth1: exiting interrupt, csr5=0xfc660000. 
Dec 25 18:26:44 park-router kernel: eth1: interrupt  csr5=0xfc670005 new csr5=0xfc660000. 
Dec 25 18:26:44 park-router kernel: eth1: interrupt  csr5=0xfc670040 new csr5=0xfc660000. 
Dec 25 18:26:44 park-router kernel:  In tulip_rx(), entry 2 00660320. 
Dec 25 18:26:44 park-router kernel: eth1: interrupt  csr5=0xfc660000 new csr5=0xfc660000. 
Dec 25 18:26:44 park-router kernel: eth1: exiting interrupt, csr5=0xfc660000. 
Dec 25 18:26:46 park-router kernel: eth1: interrupt  csr5=0xfc670004 new csr5=0xfc660000. 
Dec 25 18:26:46 park-router kernel: eth1: interrupt  csr5=0xfc670040 new csr5=0xfc660000. 
Dec 25 18:26:46 park-router kernel:  In tulip_rx(), entry 3 00660320. 
Dec 25 18:26:46 park-router kernel: eth1: interrupt  csr5=0xfc660000 new csr5=0xfc660000. 
Dec 25 18:26:46 park-router kernel: eth1: exiting interrupt, csr5=0xfc660000. 
Dec 25 18:26:47 park-router kernel: eth1: interrupt  csr5=0xfc670004 new csr5=0xfc660000. 
Dec 25 18:26:47 park-router kernel: eth1: interrupt  csr5=0xfc6e0000 new csr5=0xfc6e0000. 
Dec 25 18:26:47 park-router kernel: eth1: exiting interrupt, csr5=0xfc670040. 
Dec 25 18:26:47 park-router kernel: eth1: interrupt  csr5=0xfc670040 new csr5=0xfc660000. 
Dec 25 18:26:47 park-router kernel:  In tulip_rx(), entry 4 00660320. 
Dec 25 18:26:47 park-router kernel: eth1: interrupt  csr5=0xfc660000 new csr5=0xfc660000. 
Dec 25 18:26:47 park-router kernel: eth1: exiting interrupt, csr5=0xfc660000. 
Dec 25 18:26:48 park-router kernel: eth1: interrupt  csr5=0xfc670004 new csr5=0xfc660000. 
Dec 25 18:26:48 park-router kernel: eth1: interrupt  csr5=0xfc660000 new csr5=0xfc660000. 
Dec 25 18:26:48 park-router kernel: eth1: exiting interrupt, csr5=0xfc660000. 
Dec 25 18:26:48 park-router kernel: eth1: interrupt  csr5=0xfc670040 new csr5=0xfc660000. 
Dec 25 18:26:48 park-router kernel:  In tulip_rx(), entry 5 00660320. 
Dec 25 18:26:48 park-router kernel: eth1: interrupt  csr5=0xfc660000 new csr5=0xfc660000. 
Dec 25 18:26:48 park-router kernel: eth1: exiting interrupt, csr5=0xfc660000. 
Dec 25 18:26:48 park-router kernel: eth1: Media selection tick, status fc660000 mode 33842202 SIA ffffffc1 ffffffff 1c09fdc0 fffffec8. 
Dec 25 18:26:48 park-router kernel: eth1: Transceiver monitor tick: CSR12=0xffffffc1 bit 6 is 1, expecting 1. 
Dec 25 18:26:48 park-router kernel: eth1: Link beat detected for 100baseTx. 
Dec 25 18:26:49 park-router kernel: eth1: interrupt  csr5=0xfc670004 new csr5=0xfc660000. 
Dec 25 18:26:49 park-router kernel: eth1: interrupt  csr5=0xfc670040 new csr5=0xfc660000. 
Dec 25 18:26:49 park-router kernel:  In tulip_rx(), entry 6 00660320. 
Dec 25 18:26:49 park-router kernel: eth1: interrupt  csr5=0xfc660000 new csr5=0xfc660000. 
Dec 25 18:26:49 park-router kernel: eth1: exiting interrupt, csr5=0xfc660000. 
Dec 25 18:26:50 park-router kernel: eth1: interrupt  csr5=0xfc670004 new csr5=0xfc660000. 
Dec 25 18:26:50 park-router kernel: eth1: interrupt  csr5=0xfc670040 new csr5=0xfc660000. 
Dec 25 18:26:50 park-router kernel:  In tulip_rx(), entry 7 00660320. 
Dec 25 18:26:50 park-router kernel: eth1: interrupt  csr5=0xfc660000 new csr5=0xfc660000. 
Dec 25 18:26:50 park-router kernel: eth1: exiting interrupt, csr5=0xfc660000. 
Dec 25 18:26:51 park-router kernel: eth1: interrupt  csr5=0xfc670004 new csr5=0xfc660000. 
Dec 25 18:26:51 park-router kernel: eth1: interrupt  csr5=0xfc670040 new csr5=0xfc660000. 
Dec 25 18:26:51 park-router kernel:  In tulip_rx(), entry 8 00660320. 
Dec 25 18:26:51 park-router kernel: eth1: interrupt  csr5=0xfc660000 new csr5=0xfc660000. 
Dec 25 18:26:51 park-router kernel: eth1: exiting interrupt, csr5=0xfc660000. 
Dec 25 18:26:52 park-router kernel: eth1: interrupt  csr5=0xfc670004 new csr5=0xfc660000. 
Dec 25 18:26:52 park-router kernel: eth1: interrupt  csr5=0xfc670040 new csr5=0xfc660000. 
Dec 25 18:26:52 park-router kernel:  In tulip_rx(), entry 9 00660320. 
Dec 25 18:26:52 park-router kernel: eth1: interrupt  csr5=0xfc660000 new csr5=0xfc660000. 
Dec 25 18:26:52 park-router kernel: eth1: exiting interrupt, csr5=0xfc660000. 
Dec 25 18:26:53 park-router kernel: eth1: interrupt  csr5=0xfc670004 new csr5=0xfc660000. 
Dec 25 18:26:53 park-router kernel: eth1: interrupt  csr5=0xfc660000 new csr5=0xfc660000. 
Dec 25 18:26:53 park-router kernel: eth1: exiting interrupt, csr5=0xfc670040. 
Dec 25 18:26:53 park-router kernel: eth1: interrupt  csr5=0xfc670040 new csr5=0xfc660000. 
Dec 25 18:26:53 park-router kernel:  In tulip_rx(), entry 10 00660320. 
Dec 25 18:26:53 park-router kernel: eth1: interrupt  csr5=0xfc660000 new csr5=0xfc660000. 
Dec 25 18:26:53 park-router kernel: eth1: exiting interrupt, csr5=0xfc660000. 
Dec 25 18:27:03 park-router kernel: eth1: interrupt  csr5=0xfc670004 new csr5=0xfc660000. 
Dec 25 18:27:03 park-router kernel: eth1: interrupt  csr5=0xfc660000 new csr5=0xfc660000. 
Dec 25 18:27:03 park-router kernel: eth1: exiting interrupt, csr5=0xfc660000. 
Dec 25 18:27:03 park-router kernel: eth1: Shutting down ethercard, status was fc660000. 


Here is the output from tulip-diag:

Fri Dec 25 18:26:20 MSK 1998
tulip-diag.c:v1.06 9/18/98 Donald Becker (becker@cesdis.gsfc.nasa.gov)
Index #1: Found a Digital DS21140 Tulip adapter at 0x3000.
Digital DS21140 Tulip Tulip chip registers at 0x3000:
  fe000000 ffffffff ffffffff 381a2000 dfceffaf fc000000 32000040 fffe0000
  e0000000 fff483ff ffffffff fffe0000 ffffffc0 ffffffff 1c09fdc0 fffffec8
 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.
  * An old-style EEPROM layout was found.
  * The old-style layout does not contain transceiver control information.
  * This board may not work, or may work only with a subset of transceiver
  * options or data rates.
tulip-diag.c:v1.06 9/18/98 Donald Becker (becker@cesdis.gsfc.nasa.gov)
Index #1: Found a Digital DS21140 Tulip adapter at 0x3000.
Digital DS21140 Tulip Tulip chip registers at 0x3000:
  ffa04800 ffffffff ffffffff 0096e030 0096e230 fc660000 33842202 ffffebef
  e0000000 fff483ff ffffffff fffe0000 ffffffc1 ffffffff 1c09fdc0 fffffec8
 The Rx process state is 'Waiting for packets'.
 The Tx process state is 'Idle'.
Transmit started, Receive started, full-duplex.
 The transmit threshold is 128.
 Port selection is 100mbps-SYM/PCS 100baseTx scrambler, full-duplex.
  * An old-style EEPROM layout was found.
  * The old-style layout does not contain transceiver control information.
  * This board may not work, or may work only with a subset of transceiver
  * options or data rates.
tulip-diag.c:v1.06 9/18/98 Donald Becker (becker@cesdis.gsfc.nasa.gov)
Index #1: Found a Digital DS21140 Tulip adapter at 0x3000.
Digital DS21140 Tulip Tulip chip registers at 0x3000:
  ffa04800 ffffffff ffffffff 0096e030 0096e230 fc260000 33842202 ffffebef
  e0000000 ffffcbf8 ffffffff fffe0000 ffffffc1 ffffffff 1c09fdc0 fffffec8
 The Rx process state is 'Waiting for packets'.
 The Tx process state is 'Waiting for Tx to finish'.
Transmit started, Receive started, full-duplex.
 The transmit threshold is 128.
 Port selection is 100mbps-SYM/PCS 100baseTx scrambler, full-duplex.
  * An old-style EEPROM layout was found.
  * The old-style layout does not contain transceiver control information.
  * This board may not work, or may work only with a subset of transceiver
  * options or data rates.
tulip-diag.c:v1.06 9/18/98 Donald Becker (becker@cesdis.gsfc.nasa.gov)
Index #1: Found a Digital DS21140 Tulip adapter at 0x3000.
Digital DS21140 Tulip Tulip chip registers at 0x3000:
  ffa04800 ffffffff ffffffff 0096e030 0096e230 fc200100 33840200 fffe0000
  e0000000 ffffcbf8 ffffffff fffe0000 ffffffc1 ffffffff 1c09fdc0 fffffec8
 The Rx process state is 'Stopped'.
 The Tx process state is 'Waiting for Tx to finish'.
Transmit stopped, Receive stopped, full-duplex.
 The transmit threshold is 128.
 Port selection is 100mbps-SYM/PCS 100baseTx scrambler, full-duplex.
  * An old-style EEPROM layout was found.
  * The old-style layout does not contain transceiver control information.
  * This board may not work, or may work only with a subset of transceiver
  * options or data rates.
tulip-diag.c:v1.06 9/18/98 Donald Becker (becker@cesdis.gsfc.nasa.gov)
Index #1: Found a Digital DS21140 Tulip adapter at 0x3000.
Digital DS21140 Tulip Tulip chip registers at 0x3000:
  ffa04800 ffffffff ffffffff 0096e030 0096e230 fc660000 33842202 ffffebef
  e0000000 fff483ff ffffffff fffe0000 ffffffc1 ffffffff 1c09fdc0 fffffec8
 The Rx process state is 'Waiting for packets'.
 The Tx process state is 'Idle'.
Transmit started, Receive started, full-duplex.
 The transmit threshold is 128.
 Port selection is 100mbps-SYM/PCS 100baseTx scrambler, full-duplex.
  * An old-style EEPROM layout was found.
  * The old-style layout does not contain transceiver control information.
  * This board may not work, or may work only with a subset of transceiver
  * options or data rates.
tulip-diag.c:v1.06 9/18/98 Donald Becker (becker@cesdis.gsfc.nasa.gov)
Index #1: Found a Digital DS21140 Tulip adapter at 0x3000.
Digital DS21140 Tulip Tulip chip registers at 0x3000:
  ffa04800 ffffffff ffffffff 0096e030 0096e230 fc660000 33842202 ffffebef
  e0000000 ffffcbf8 ffffffff fffe0000 ffffffc1 ffffffff 1c09fdc0 fffffec8
 The Rx process state is 'Waiting for packets'.
 The Tx process state is 'Idle'.
Transmit started, Receive started, full-duplex.
 The transmit threshold is 128.
 Port selection is 100mbps-SYM/PCS 100baseTx scrambler, full-duplex.
  * An old-style EEPROM layout was found.
  * The old-style layout does not contain transceiver control information.
  * This board may not work, or may work only with a subset of transceiver
  * options or data rates.