No subject

Michael Thome mthome@bbn.com
Wed Aug 26 08:08:39 1998


Using recent 3c59x.c drivers, extended high-bandwidth outgoing
transfers lead to ethernet driver lockup (no traffic in or out) and
the following message(s) - Details follow:

eth0: transmit timed out, tx_status 00 status e000.
Socket destroy delayed (r=0 w=96)

- - - Boot messages: - - - 

 Linux version 2.1.117 (mthome@draught.bbn.com) (gcc version pgcc-2.90.29 980515 (egcs-1.0.3 release)) #1 SMP Mon Aug 24 07:39:30 EDT 1998
 mapped APIC to ffffe000 (00296000)
 mapped IOAPIC to ffffd000 (00297000)
 Console: colour VGA+ 80x25
 Calibrating delay loop... 199.07 BogoMIPS
 Memory: 127488k/131072k available (1304k kernel code, 400k reserved, 1832k data, 48k init)
 POSIX conformance testing by UNIFIX
 mtrr: v1.22 (19980611) Richard Gooch (rgooch@atnf.csiro.au)
 CPU0: Intel Pentium Pro stepping 07
 SMP motherboard not detected. Using dummy APIC emulation.
...
  The PCI BIOS has not enabled this device!  Updating PCI command 0000->0005.
eth0: 3Com 3c590 Vortex 10Mbps at 0xff80, 00:60:97:38:d0:98, IRQ 9
  8K byte-wide RAM 1:1 Rx:Tx split, 10base2 interface.
eth0: Overriding PCI latency timer (CFLT) setting of 24, new value is 248.
 3c59x.c:v0.99F 8/7/98 Donald Becker http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html

- - - cat /proc/pci - - -

PCI devices found:
  Bus  0, device   0, function  0:
    Host bridge: Intel 82441FX Natoma (rev 2).
      Medium devsel.  Fast back-to-back capable.  Master Capable.  Latency=24.  
  Bus  0, device   7, function  0:
    ISA bridge: Intel 82371SB PIIX3 ISA (rev 1).
      Medium devsel.  Fast back-to-back capable.  Master Capable.  No bursts.  
  Bus  0, device   7, function  1:
    IDE interface: Intel 82371SB PIIX3 IDE (rev 0).
      Medium devsel.  Fast back-to-back capable.  Master Capable.  Latency=16.  
      I/O at 0xffa0 [0xffa1].
  Bus  0, device  11, function  0:
    VGA compatible controller: Number Nine Imagine 128v2 (rev 2).
      Medium devsel.  Fast back-to-back capable.  IRQ a.  
      Prefetchable 32 bit memory at 0xff400000 [0xff400008].
      Prefetchable 32 bit memory at 0xff000000 [0xff000008].
      Non-prefetchable 32 bit memory at 0xfe800000 [0xfe800000].
      Non-prefetchable 32 bit memory at 0xfe400000 [0xfe400000].
      Non-prefetchable 32 bit memory at 0xffbe0000 [0xffbe0000].
      I/O at 0xfc00 [0xfc01].
  Bus  0, device  15, function  0:
    SCSI storage controller: Adaptec AIC-7861 (rev 1).
      Medium devsel.  Fast back-to-back capable.  IRQ b.  Master Capable.  Latency=24.  Min Gnt=4.Max Lat=4.
      I/O at 0xf800 [0xf801].
      Non-prefetchable 32 bit memory at 0xffbdf000 [0xffbdf000].
  Bus  0, device  17, function  0:
    Ethernet controller: 3Com 3C590 10bT (rev 0).
      Medium devsel.  IRQ 9.  Master Capable.  Latency=248.  Min Gnt=3.Max Lat=8.
      I/O at 0xff80 [0xff81].

- - - cat /proc/interrupts - - -

           CPU0       
  0:    5147425          XT-PIC  timer
  1:       1621          XT-PIC  keyboard
  2:          0          XT-PIC  cascade
  3:          0          XT-PIC  serial
  7:       1145          XT-PIC  soundblaster
  9:    3896419          XT-PIC  eth0
 11:         37          XT-PIC  aic7xxx
 12:      10108          XT-PIC  PS/2 Mouse
 13:          1          XT-PIC  fpu
 14:    1711849          XT-PIC  ide0
 15:          9          XT-PIC  ide1
NMI:          0
IPI:          0

- - - ifconfig eth0 - - -

eth0      Link encap:Ethernet  HWaddr 00:60:97:38:D0:98
          inet addr:128.89.28.26  Bcast:128.89.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3262435 errors:4 dropped:4 overruns:8
          TX packets:0 errors:0 dropped:1058144 overruns:7545
          Interrupt:9 Base address:0xff80 

- - - vortex-diag -aamm - - -

vortex-diag.c:v1.05 5/22/98 Donald Becker (becker@cesdis.gsfc.nasa.gov)
Found a 3Com PCI Ethernet 3c590 rev 0 at 0xff80.
The Vortex chip may be active, so FIFO registers will not be read.
To see all register values use the '-f' flag.
Initial window 7, registers values by window:
  Window 0: 0000 0000 0000 0000 0000 00bf 0000 0000.
  Window 1: FIFO FIFO 0000 2000 8000 00ff 0ffc 2000.
  Window 2: 6000 3897 98d0 0000 0000 0000 00de 4000.
  Window 3: 0010 0032 0000 0000 e138 0fff 0fff 6000.
  Window 4: 0000 00d2 0000 0c80 0001 4800 0000 8000.
  Window 5: 1ffc 1ffc 00de 1ffc 0005 029e 00de a000.
  Window 6: 0000 0000 0000 c600 0000 33d8 0000 c000.
  Window 7: 0000 0000 0000 0000 8000 00ff 0000 e000.
Vortex chip registers at 0xff80
  0xFF90: **FIFO** **FIFO** 00008000 00000ffc
  0xFFA0: 00040000 0008c1b8 00040000 f3bf2000
  0xFFB0: ffffffff ffffffff ffffffff ffffffff
 No interrupt sources are pending.
 Transceiver/media interfaces available:  10baseT 10base2 AUI.
 MAC settings: half-duplex.
 ***WARNING***: No MII transceivers found!
 MII PHY #24 transceiver registers:
   0000 ffff 0000 ffff 0000 ffff 0000 ffff
   0000 ffff 0000 ffff 0000 ffff 0000 ffff
   0000 ffff 0000 ffff 0000 ffff 0000 ffff
   0000 ffff 0000 ffff 0000 ffff 0000 ffff.
 Basic mode control register 0x0000: Auto-negotiation disabled!
   Speed fixed at 10 mbps, half-duplex.
 Basic mode status register 0xffff ... ffff.
   Link status: established.
   Capable of  100baseT4 100baseTx-FD 100baseTx 10baseT-FD 10baseT.
   Able to perform Auto-negotiation, negotiation complete.
 Remote fault detected!
   *** Link Jabber! ***
 Vendor ID is 00:00:3f:--:--:--, model 63 rev. 15.
   No specific information is known about this transceiver type.
 I'm advertising 0000:
   Advertising no additional info pages.
   Using an unknown (non 802.3) encapsulation.
 Link partner capability is ffff: Flow-control 100baseT4 100baseTx-FD 100baseTx 10baseT-FD 10baseT.
   Negotiation  completed.

- - - Notes: - - -

 - All of above ('cept dmesg output, of course) is while the system in
the broken state. 
 - this happens at least starting with linux-2.1.115 - I cannot tell
about prior versions because I just recently started trying to do
network backups (which hung every time on level 0s).  I'm currently
running 2.1.117 with the ac1 patch.
 - I've tried 0.99E and 0.99F
 - 3com 3c590 is set to 10b2, autoselect is OFF.
 - here's a diff between the above vortex-diag and the same output
while the board is in an earlier non-broken state - I've no idea if
the deltas are useful (I suspect not):
  draught% diff vortex.broken vortex.working
  12c12
  <   Window 6: 0000 0000 0000 c600 0000 33d8 0000 c000.
  ---
  >   Window 6: 0000 0300 0000 1800 0000 05f8 9e69 c000.
  16c16
  <   0xFFA0: 00040000 0008c1b8 00040000 f3bf2000
  ---
  >   0xFFA0: 00000008 0008c018 00040000 f3bf2000
 - btw, in order to compile vortex-diag under 2.1.117, I copied
linux/in.h to a the local directory, inserted "typedef unsigned short
sa_family_t;" before the struct sockaddr_in declaration, and pointed
vortex-diag.c's reference to the local in.h.  The required typedef
seems to only be available in __KERNEL__ code in 2.1.117.

cheers,
	-mik
-- 
Michael Thome (mthome@bbn.com)