eth0: Tx hung, 7 vs. 0.

Richard Dynes rdynes@varcom.com
Thu Sep 23 12:43:08 1999


Hello...

I thought I would post this here before the l-l list...

I've just jumped from Linux 2.3.11 to Linux 2.3.18ac8, to try out the
new tulip.c v0.91m.

I'm have a couple of problems, but I need suggestions on just this
first one, and then I'll work on the rest.  First, my situation:

H/W Configuration:

Ziatech 5521 with two on-board Tulip 21143's, Tx interface.  eth0 and
eth1
Znyx 414 or something: quad Tulip 21143, Tx (copper) interface. eth2 -
eth5
Osicom dual Tulip (not sure what kind) 100Base Fx. eth6 and eth7

Previously:

Linux 2.3.11, with tulip.c:v0.91 4/14/99 as a module

I was able to use the on-board tulip interfaces without any problems:
ifconfig up down, all around.  No issues.  The quad board I had to be
less free with.

I wasn't able to get the Fx board going easily, but I didn't spend
much time on it.

The tulip driver _would_ recognize all 8 tulip chips, and assign
logical names to them, eg eth0 - eth7.

Currently:

Linux 2.3.18ac8 ==> tulip.c:v0.91m 9/15/99, as a module

Problem:

I cannot use eth0- I get the following repeating error:

> Sep 23 11:54:45 probe2 kernel: eth0: Tx hung, 7 vs. 0. 

When I take the _same_ cable, and move it over to the (also on-board)
eth1 port, things work just fine, I can ifconfig the interface, telnet
to it, etc. Everything appears as normal.

I've never had the experience of the two port behaving differently:
they're the same chips, same interfaces, on the same processor.

So what gives? Suggestions?

Thanks for any help....

-Richard

Here's some output from lspci, tulip-diag, and ifconfig with eth0 and
eth1 'up':

lspci:
00:00.0 Host bridge: Intel Corporation 440BX/ZX - 82443BX/ZX Host
bridge (rev 02)
00:01.0 PCI bridge: Intel Corporation 440BX/ZX - 82443BX/ZX AGP bridge
(rev 02)
00:05.0 Ethernet controller: Digital Equipment Corporation DECchip
21142/43 (rev 41)
00:06.0 Ethernet controller: Digital Equipment Corporation DECchip
21142/43 (rev 41)
00:07.0 ISA bridge: Intel Corporation 82371AB PIIX4 ISA (rev 02)
00:07.1 IDE interface: Intel Corporation 82371AB PIIX4 IDE (rev 01)
00:07.2 USB Controller: Intel Corporation 82371AB PIIX4 USB (rev 01)
00:07.3 Bridge: Intel Corporation 82371AB PIIX4 ACPI (rev 02)
00:08.0 PCI bridge: Digital Equipment Corporation DECchip 21154 (rev
02)
00:0c.0 PCI bridge: Digital Equipment Corporation DECchip 21154 (rev
02)
01:00.0 VGA compatible controller: Cirrus Logic GD 5465 [Laguna] (rev
03)
02:09.0 SCSI storage controller: Adaptec AIC-7880U (rev 01)
02:0a.0 PCI bridge: Digital Equipment Corporation DECchip 21152 (rev
03)
02:0b.0 PCI bridge: Digital Equipment Corporation DECchip 21152 (rev
02)
02:0f.0 PCI bridge: Digital Equipment Corporation DECchip 21152 (rev
02)
03:04.0 Ethernet controller: Digital Equipment Corporation DECchip
21142/43 (rev 41)
03:05.0 Ethernet controller: Digital Equipment Corporation DECchip
21142/43 (rev 41)
03:06.0 Ethernet controller: Digital Equipment Corporation DECchip
21142/43 (rev 41)
03:07.0 Ethernet controller: Digital Equipment Corporation DECchip
21142/43 (rev 41)
04:04.0 Ethernet controller: Digital Equipment Corporation DECchip
21142/43 (rev 30)
04:07.0 Ethernet controller: Digital Equipment Corporation DECchip
21142/43 (rev 30)
05:00.0 Network controller: Brooktree Corporation Bt8474 (rev 02)
05:00.1 Bridge: Brooktree Corporation Bt8474 (rev 02)


tulip-diag:
[root@probe2 tulip_diag]# ./tulip-diag 
tulip-diag.c:v1.14 9/19/99 Donald Becker (becker@cesdis.gsfc.nasa.gov)
Index #1: Found a Digital DS21143 Tulip adapter at 0x1080.
 Port selection is MII, 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 128.
 Interrupt sources are pending!  CSR5 is f0678006.
   Tx complete indication.
   Tx out of buffers indication.
  The NWay status register is 000000c6.
  Internal autonegotiation state is 'Autonegotiation disabled'.
Index #2: Found a Digital DS21143 Tulip adapter at 0x1400.
 Port selection is MII, 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 128.
  The NWay status register is 000000c6.
  Internal autonegotiation state is 'Autonegotiation disabled'.
Index #3: Found a Digital DS21143 Tulip adapter at 0x3000.
 Port selection is 10mpbs-serial, full-duplex.
 Transmit stopped, Receive stopped, full-duplex.
  The Rx process state is 'Stopped'.
  The Tx process state is 'Stopped'.
  The transmit threshold is 72.
  The NWay status register is 000022c6.
  Internal autonegotiation state is 'Ability detect'.
Index #4: Found a Digital DS21143 Tulip adapter at 0x3080.
 Port selection is 10mpbs-serial, full-duplex.
 Transmit stopped, Receive stopped, full-duplex.
  The Rx process state is 'Stopped'.
  The Tx process state is 'Stopped'.
  The transmit threshold is 72.
  The NWay status register is 000020c6.
  Internal autonegotiation state is 'Ability detect'.
Index #5: Found a Digital DS21143 Tulip adapter at 0x3400.
 Port selection is 10mpbs-serial, full-duplex.
 Transmit stopped, Receive stopped, full-duplex.
  The Rx process state is 'Stopped'.
  The Tx process state is 'Stopped'.
  The transmit threshold is 72.
  The NWay status register is 000020c6.
  Internal autonegotiation state is 'Ability detect'.
Index #6: Found a Digital DS21143 Tulip adapter at 0x3480.
 Port selection is 10mpbs-serial, full-duplex.
 Transmit stopped, Receive stopped, full-duplex.
  The Rx process state is 'Stopped'.
  The Tx process state is 'Stopped'.
  The transmit threshold is 72.
  The NWay status register is 000020c6.
  Internal autonegotiation state is 'Ability detect'.
Index #7: Found a Digital DS21143 Tulip adapter at 0x4000.
 Port selection is MII, half-duplex.
 Transmit stopped, Receive stopped, half-duplex.
  The Rx process state is 'Stopped'.
  The Tx process state is 'Stopped'.
  The transmit threshold is 128.
  The NWay status register is 000000c6.
  Internal autonegotiation state is 'Autonegotiation disabled'.
Index #8: Found a Digital DS21143 Tulip adapter at 0x4080.
 Port selection is MII, half-duplex.
 Transmit stopped, Receive stopped, half-duplex.
  The Rx process state is 'Stopped'.
  The Tx process state is 'Stopped'.
  The transmit threshold is 128.
  The NWay status register is 000000c6.
  Internal autonegotiation state is 'Autonegotiation disabled'.

ifconfig:

[root@probe2 tulip_diag]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:80:50:01:1E:A9  
          inet addr:10.10.10.1  Bcast:10.255.255.255  Mask:255.0.0.0
          UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:24 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          Interrupt:10 Base address:0x1000 

eth1      Link encap:Ethernet  HWaddr 00:80:50:01:1E:AA  
          inet addr:205.xxx.xxx.61  Bcast:205.xxx.xxx.255 
Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:204000 errors:0 dropped:6 overruns:0 frame:0
          TX packets:747 errors:0 dropped:0 overruns:0 carrier:0
          collisions:104 txqueuelen:100 
          Interrupt:5 Base address:0x3400 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:3924  Metric:1
          RX packets:64 errors:0 dropped:0 overruns:0 frame:0
          TX packets:64 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 

-- 
    Richard Dynes
    rdynes@varcom.com