NETDEV WATCHDOG transmit error; 3c905B card, kernel 2.6.1 (long post)
Joaquín Pérez <[email protected]> Wed, 21 Jan 2004 12:28:50 -0300
| Newsgroups | gmane.linux.drivers.vortex.devel |
|---|---|
| Organization | Intersoft |
| Message-ID | <[email protected]> |
Hello there! I've been having a little bit of trouble with my 3C905B-TX NM Fast Etherlink XL PCI network card (yes, quite a mouthful, but that's what it says on the card). Whenever the traffic gets heavy (for example, running a bittorrent client) the network stops working. I can reproduce this situation, I run Azureus (a Java torrent client) and it goes wham almost immediately. Sometimes it will happen with other applications (so it's not torrent-related) but with torrent I can reproduce it at will. I have attached the output of vortex-diag and mii-diag. "_ok" is when everything is running smoothly, "_bad" is taken after the network won't go anymore. Usually I have to turn off the machine and wait a while, if I reboot immediately it won't work. The module is loaded with debug=7 and in kern.log this is what it prints: NETDEV WATCHDOG: eth0: transmit timed out Jan 21 12:21:53 ptolomeo kernel: eth0: transmit timed out, tx_status 00 status e000. Jan 21 12:21:53 ptolomeo kernel: diagnostics: net 0cd8 media 8880 dma 000000a0 fifo 8000 Jan 21 12:21:53 ptolomeo kernel: Flags; bus-master 1, dirty 12257(1) current 12273(1) Jan 21 12:21:53 ptolomeo kernel: Transmit list 1d9db2a0 vs. dd9db2a0. Jan 21 12:21:53 ptolomeo kernel: 0: @dd9db200 length 800005ea status 8c0005ea Jan 21 12:21:53 ptolomeo kernel: 1: @dd9db2a0 length 800005de status 0c0105de Jan 21 12:21:53 ptolomeo kernel: 2: @dd9db340 length 800005de status 0c0105de Jan 21 12:21:53 ptolomeo kernel: 3: @dd9db3e0 length 800005de status 0c0105de Jan 21 12:21:53 ptolomeo kernel: 4: @dd9db480 length 800005de status 0c0105de Jan 21 12:21:53 ptolomeo kernel: 5: @dd9db520 length 800005de status 0c0005de Jan 21 12:21:53 ptolomeo kernel: 6: @dd9db5c0 length 800005de status 0c0005de Jan 21 12:21:53 ptolomeo kernel: 7: @dd9db660 length 800005ea status 0c0005ea Jan 21 12:21:53 ptolomeo kernel: 8: @dd9db700 length 800005bc status 0c0005bc Jan 21 12:21:53 ptolomeo kernel: 9: @dd9db7a0 length 8000024e status 0c00024e Jan 21 12:21:53 ptolomeo kernel: 10: @dd9db840 length 8000024e status 0c00024e Jan 21 12:21:53 ptolomeo kernel: 11: @dd9db8e0 length 8000024e status 0c00024e Jan 21 12:21:53 ptolomeo kernel: 12: @dd9db980 length 800005ea status 0c0005ea Jan 21 12:21:53 ptolomeo kernel: 13: @dd9dba20 length 800005ea status 0c0005ea Jan 21 12:21:53 ptolomeo kernel: 14: @dd9dbac0 length 800005ea status 0c0005ea Jan 21 12:21:53 ptolomeo kernel: 15: @dd9dbb60 length 800005ea status 8c0005ea Jan 21 12:21:53 ptolomeo kernel: eth0: Resetting the Tx ring pointer. Jan 21 12:21:55 ptolomeo kernel: boomerang_interrupt. status=0xe081 Jan 21 12:21:55 ptolomeo kernel: eth0: interrupt, status e081, latency 5 ticks. Jan 21 12:21:55 ptolomeo kernel: eth0: In interrupt loop, status e081. Jan 21 12:21:55 ptolomeo kernel: eth0: vortex_error(), status=0xe081 Jan 21 12:21:55 ptolomeo kernel: eth0: Updating stats. Jan 21 12:21:55 ptolomeo kernel: eth0: exiting interrupt, status e000. I've been googling since yesterday and I found this problem widely reported, yet none of the solutions proposed fits me. I'm running a 2.6.1 kernel and I'm willing to work on this to fix it! (Besides, the nvnet card that comes with my motherboard won't work, so if this 3Com doesn't either, I've run out of NICs!) Thanks for your help, Joaquin
vortexdiag_ok.txt
(text/plain, 3.6 KB)
a) Run 'vortex-diag -aaee' and 'mii-diag -v' when the card is
working correctly. Save the output.
mii-diag.c:v2.07 11/15/2002 Donald Becker ([email protected])
http://www.scyld.com/diag/index.html
Using the default interface 'eth0'.
Using the new SIOCGMIIPHY value on PHY 24 (BMCR 0x3000).
Basic mode control register 0x3000: Auto-negotiation enabled.
You have link beat, and everything is working OK.
This transceiver is capable of 100baseTx-FD 100baseTx 10baseT-FD 10baseT.
Able to perform Auto-negotiation, negotiation complete.
Your link partner is generating 10baseT link beat (no autonegotiation).
End of basic transceiver information.
MII PHY #24 transceiver registers:
3000 786d 0000 0000 01e1 0020 0004 2001
0000 0000 0000 0000 0000 0000 0000 0000
0000 0ecf 1fdd 0000 0000 0005 2001 0000
0000 2040 07cf 1c11 0191 1000 0000 0000
vortex-diag.c:v2.14 12/28/2002 Donald Becker ([email protected])
http://www.scyld.com/diag/index.html
Index #1: Found a 3c905B Cyclone 100baseTx adapter at 0xb800.
Station address 00:01:02:1b:88:5f.
Receive mode is 0x07: Normal unicast and all multicast.
The Vortex chip may be active, so FIFO registers will not be read.
To see all register values use the '-f' flag.
Initial window 4, registers values by window:
Window 0: 0000 0000 0000 0000 f5f5 00bf 0000 0000.
Window 1: FIFO FIFO 0000 0000 0000 0000 0000 2000.
Window 2: 0100 1b02 5f88 0000 0000 0000 000a 4000.
Window 3: 0000 0180 05ea 0000 000a 0800 0800 6000.
Window 4: 0000 0000 0000 0cd8 0001 8880 7500 8000.
Window 5: 1ffc 0000 0000 0600 0807 06ce 06c6 a000.
Window 6: 0000 1000 0000 bf01 2100 4e1a e883 c000.
Window 7: 0000 0000 0000 0000 0000 0000 0002 e000.
Vortex chip registers at 0xb800
0xB810: **FIFO** 00000000 0000007a *STATUS*
0xB820: 00000020 00000000 00080000 00000004
0xB830: 00000000 79f4860c 1d9bc050 00080004
0xB840: 00d58dce 00000000 00000000 00000000
0xB850: 00000000 00000000 00000000 00000000
0xB860: 00000000 00000000 00000000 00000000
0xB870: 00001000 00000000 01600140 00000000
DMA control register is 00000020.
Tx list starts at 00000000.
Tx FIFO thresholds: min. burst 256 bytes, priority with 128 bytes to empty.
Rx FIFO thresholds: min. burst 256 bytes, priority with 128 bytes to full.
Poll period Tx 00 ns., Rx 0 ns.
Maximum burst recorded Tx 320, Rx 352.
Indication enable is 06c6, interrupt enable is 06ce.
No interrupt sources are pending.
Transceiver/media interfaces available: 100baseTx 10baseT.
Transceiver type in use: Autonegotiate.
MAC settings: half-duplex.
Station address set to 00:01:02:1b:88:5f.
Configuration options 000a.
EEPROM format 64x16, configuration table at offset 0:
00: 0001 021b 885f 9055 0083 0048 4743 6d50
0x08: 2971 0000 0001 021b 885f 0010 0000 0022
0x10: 32a2 0000 0000 0180 0000 0000 0000 10b7
0x18: 9055 000a 0000 0000 0000 0000 0000 0000
0x20: 0024 0000 0000 0000 0000 0000 0000 0000
0x28: 0000 0000 0000 0000 0000 0000 0000 0000
...
The word-wide EEPROM checksum is 0x59a8.
Saved EEPROM settings of a 3Com Vortex/Boomerang:
3Com Node Address 00:01:02:1B:88:5F (used as a unique ID only).
OEM Station address 00:01:02:1B:88:5F (used as the ethernet address).
Device ID 9055, Manufacturer ID 6d50.
Manufacture date (MM/DD/YYYY) 4/3/2000, division H, product CG.
No BIOS ROM is present.
Transceiver selection: Autonegotiate.
Options: negotiated duplex, link beat required.
PCI Subsystem IDs: Vendor 10b7 Device 9055.
100baseTx 10baseT.
Vortex format checksum is incorrect (4c vs. 10b7).
Cyclone format checksum is correct (0x24 vs. 0x24).
Hurricane format checksum is correct (0x24 vs. 0x24).
vortexdiag_bad.txt
(text/plain, 3.7 KB)
a) Run 'vortex-diag -aaee' and 'mii-diag -v' when the card is
working correctly. Save the output.
mii-diag.c:v2.07 11/15/2002 Donald Becker ([email protected])
http://www.scyld.com/diag/index.html
Using the default interface 'eth0'.
Using the new SIOCGMIIPHY value on PHY 24 (BMCR 0x3000).
Basic mode control register 0x3000: Auto-negotiation enabled.
You have link beat, and everything is working OK.
This transceiver is capable of 100baseTx-FD 100baseTx 10baseT-FD 10baseT.
Able to perform Auto-negotiation, negotiation complete.
Your link partner is generating 10baseT link beat (no autonegotiation).
End of basic transceiver information.
MII PHY #24 transceiver registers:
3000 786d 0000 0000 01e1 0020 0004 2001
0000 0000 0000 0000 0000 0000 0000 0000
0000 0008 0810 0000 0000 0005 2001 0000
0000 2040 07cf 1c11 0111 1000 0000 0000
vortex-diag.c:v2.14 12/28/2002 Donald Becker ([email protected])
http://www.scyld.com/diag/index.html
Index #1: Found a 3c905B Cyclone 100baseTx adapter at 0xb800.
Station address 00:01:02:1b:88:5f.
Receive mode is 0x07: Normal unicast and all multicast.
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 f5f5 00bf 0000 0000.
Window 1: FIFO FIFO 0000 0000 0000 0000 0000 2000.
Window 2: 0100 1b02 5f88 0000 0000 0000 000a 4000.
Window 3: 0000 0180 05ea 0000 000a 0000 0800 6000.
Window 4: 0000 0000 0800 0cd8 0001 8880 0000 8000.
Window 5: 1ffc 0000 0000 0600 0807 06ce 06c6 a000.
Window 6: 0000 0000 1000 0000 0000 0000 0000 c000.
Window 7: 0000 0000 0000 0000 0000 0000 0002 e000.
Vortex chip registers at 0xb800
0xB810: **FIFO** 00000000 00000000 *STATUS*
0xB820: 000000a0 1d9bc2a0 00080000 00000004
0xB830: 00008000 cb5834a8 1d9bc0e0 00080004
0xB840: 004fcc00 00000000 00000000 00000000
0xB850: 00000000 00000000 00000000 00000000
0xB860: 00000000 00000000 00000000 00000000
0xB870: 00001040 00000000 01600000 00000000
DMA control register is 000000a0.
DMA control register is 000000a4 (during Tx Stall).
Tx list starts at 1d9bc2a0.
Tx FIFO thresholds: min. burst 256 bytes, priority with 128 bytes to empty.
Rx FIFO thresholds: min. burst 256 bytes, priority with 128 bytes to full.
Poll period Tx 00 ns., Rx 0 ns.
Maximum burst recorded Tx 0, Rx 352.
Indication enable is 06c6, interrupt enable is 06ce.
No interrupt sources are pending.
Transceiver/media interfaces available: 100baseTx 10baseT.
Transceiver type in use: Autonegotiate.
MAC settings: half-duplex.
Station address set to 00:01:02:1b:88:5f.
Configuration options 000a.
EEPROM format 64x16, configuration table at offset 0:
00: 0001 021b 885f 9055 0083 0048 4743 6d50
0x08: 2971 0000 0001 021b 885f 0010 0000 0022
0x10: 32a2 0000 0000 0180 0000 0000 0000 10b7
0x18: 9055 000a 0000 0000 0000 0000 0000 0000
0x20: 0024 0000 0000 0000 0000 0000 0000 0000
0x28: 0000 0000 0000 0000 0000 0000 0000 0000
...
The word-wide EEPROM checksum is 0x59a8.
Saved EEPROM settings of a 3Com Vortex/Boomerang:
3Com Node Address 00:01:02:1B:88:5F (used as a unique ID only).
OEM Station address 00:01:02:1B:88:5F (used as the ethernet address).
Device ID 9055, Manufacturer ID 6d50.
Manufacture date (MM/DD/YYYY) 4/3/2000, division H, product CG.
No BIOS ROM is present.
Transceiver selection: Autonegotiate.
Options: negotiated duplex, link beat required.
PCI Subsystem IDs: Vendor 10b7 Device 9055.
100baseTx 10baseT.
Vortex format checksum is incorrect (4c vs. 10b7).
Cyclone format checksum is correct (0x24 vs. 0x24).
Hurricane format checksum is correct (0x24 vs. 0x24).