[tulip] Kingston KNE111TX Full Duplex LED

John Connett jrc@art-render.com
Fri, 09 Mar 2001 14:31:00 +0000


This is a multi-part message in MIME format.
--------------9D716BC1D3493E002D97A23C
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Details in attached file ...
--
John Connett (jrc@art-render.com)

Donald Becker wrote:
> 
> On Fri, 9 Mar 2001, John Connett wrote:
> > Donald Becker wrote:
> > > OK, better spot: just after start_link(dev) around line 848 in tulip.c
> > >
> > >         start_link(dev);
> > > +       outl(0xf0000000, ioaddr + CSR9);
> > >
> > > This worked on the PNIC2 card here.
> >
> > After some more experimenting, and using tulip-diag -fa to examine the
> > value of CSR9, it appears that the top 4 bits of CSR9 are set to zero
> > under some circumstances.  This seems to happen when
> > disconnecting/reconnecting to test autonegotiation.  Typically, a
> > message of the form:
> >
> >     eth0: PNIC transmit timed out, [...], resetting ...
> >
> > is output to the console.  Are there other locations where CSR9 should
> > be reloaded?
> 
> There are three actions that rewrite CSR9
>    - reading/writing the EEPROM
>    - reading/writing the MII registers
>    - reading/writing the boot Flash
> 
> [[ Note: putting the LED settings in CSR9 was a very bad design. ]]
> 
> The only actions that the driver should do is reading the EEPROM once
> during probe and, for some chips, reading the MII transceiver
> registers.
> 
> The driver shouldn't try to read the MII transceiver for the PNIC2, but
> there may be a code path during error recovery that causes this.
> Do you have the exact timeout message?
> What did you do to trigger the timeout (just disconnect the cable)?
> 
> Donald Becker                           becker@scyld.com
> Scyld Computing Corporation             http://www.scyld.com
> 410 Severn Ave. Suite 210               Second Generation Beowulf Clusters
> Annapolis MD 21403                      410-990-9993
--------------9D716BC1D3493E002D97A23C
Content-Type: text/plain; charset=us-ascii;
 name="script"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="script"

// boot system with KNE111TX connected to a port on a HP switch set to
// Auto Detect.  Lights on card indicate 100baseTx-FD.  Switch
// indicator lights indicate Full Duplex.

[root@heisenberg /root]# tulip-diag -fa
tulip-diag.c:v2.04 9/26/2000 Donald Becker (becker@scyld.com)
 http://www.scyld.com/diag/index.html
Index #1: Found a Lite-On PNIC-II adapter at 0xe000.
Lite-On PNIC-II chip registers at 0xe000:
  fff88000 ffffffff ffffffff 2e239800 2e239a00 e4660000 01002002 effffbff
  fffe0000 80fe87ff ffffffff fffe0000 41e1d0cc ffff0000 ffffffff fff00000
  03300000 03300000 03300000 f8cfffe0 4000427f 00001150 76f01db5 c000c000
  76f01db5 00000000 00000000 00000000 00000000 00000000 00000000 00000000
 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.
  The NWay status register is 41e1d0cc.
 The current PNIC-II MAC address is 00:c0:f0:76:b5:1d (c000c000 76f01db5).
 The current PNIC-II WOL address is 00:c0:f0:76:b5:1d.
  Internal autonegotiation state is 'Negotiation complete'.
[root@heisenberg /root]# 

// Disconnect KNE111TX from cable.  Wait for following message:

eth0: PNIC2 transmit timed out, status e4000000, CSR6/7 01000000 / effffbff CSR12 000020ce, resetting...

// Reconnect KNE111TX to cable.  HP switch lights the same.  KNE111TX
// FDX LED flashes in time with the Act LED ...

[root@heisenberg /root]# tulip-diag -fa
tulip-diag.c:v2.04 9/26/2000 Donald Becker (becker@scyld.com)
 http://www.scyld.com/diag/index.html
Index #1: Found a Lite-On PNIC-II adapter at 0xe000.
Lite-On PNIC-II chip registers at 0xe000:
  fff88000 ffffffff ffffffff 2e239800 2e239a00 e4660000 01002002 effffbff
  fffe0000 00fecf00 ffffffff fffe0000 41e1d0cc ffff0000 ffffffff fff00000
  03300000 03300000 03300000 f08fffe0 4000427f 00001150 76f01db5 c000c000
  76f01db5 00000000 00000000 00000000 00000000 00000000 00000000 00000000
 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.
  The NWay status register is 41e1d0cc.
 The current PNIC-II MAC address is 00:c0:f0:76:b5:1d (c000c000 76f01db5).
 The current PNIC-II WOL address is 00:c0:f0:76:b5:1d.
  Internal autonegotiation state is 'Negotiation complete'.
[root@heisenberg /root]# 

--------------9D716BC1D3493E002D97A23C--