Bug 2472 - pegasus.c Tx timed out
Summary: pegasus.c Tx timed out
Alias: None
Product: Drivers
Classification: Unclassified
Component: USB (show other bugs)
Hardware: i386 Linux
: P2 normal
Assignee: Greg Kroah-Hartman
Depends on:
Blocks: USB
  Show dependency tree
Reported: 2004-04-08 04:37 UTC by Sander Rijken
Modified: 2006-02-10 09:26 UTC (History)
1 user (show)

See Also:
Kernel Version: 2.6.5
Tree: Mainline
Regression: ---


Description Sander Rijken 2004-04-08 04:37:41 UTC
Distribution: Gentoo Linux

Hardware Environment: 
Pentium 233 MMX
Usb controller:
00:0b.0 USB Controller: NEC Corporation USB (rev 02)

Software Environment: 
USB driver: ohci-hcd
USB NIC driver: pegasus
both are compiled in the kernel, but I've tried it with those as modules as 

Problem Description: 
USB network adapter works perfectly on Windows, I've tried another USB pegasus 
device, and got the same errors

This is in my logs:

It starts with intr status -84

NIC is still up at that time. Then after a certain period of time NIC seems to 
hang, and this fills up my log:
NETDEV WATCHDOG: eth0: transmit timed out
drivers/usb/net/pegasus.c: eth0: Tx timed out.

It's impossible to bring the NIC down at that point, or remove the module

Steps to reproduce:
I'm not sure if _you_ can reproduce it. I'd suggest an ohci-hcd type usb 
controller, and a pegasus networkcard, and wait till things start to go wrong.

I've read that I'm not the only one experiencing the intr status -84 messages, 
but with them things keep on working.
Comment 1 Michel DEPEIGE 2004-11-02 09:26:29 UTC
I have exactly the same thing with all my 2.6 kernels.

My Hardware :
AMD K6-233
USB host : 0000:00:01.2 USB Controller: Intel Corp. 82371SB PIIX3 USB
[Natoma/Triton II] (rev 01)
(USB 1.0)

Software :
USB driver: uhci-hcd, pegasus, both modules
NIC hang after a few minutes (sometimes hours) OR heavy data rate ( > 100 Kb/s
). I will add that the NIC hang faster (only a few seconds) when the system is
under high load (2.00 and more). 

Now we know it isn't ohci specific. Here is the dmesg :Nov  2 13:51:33 BlueBox
kernel: drivers/usb/net/pegasus.c: eth2: Tx timed out.
Nov  2 13:51:43 BlueBox kernel: NETDEV WATCHDOG: eth2: transmit timed out
Nov  2 13:51:43 BlueBox kernel: drivers/usb/net/pegasus.c: eth2: Tx timed out.
Nov  2 13:51:53 BlueBox kernel: NETDEV WATCHDOG: eth2: transmit timed out
Nov  2 13:51:53 BlueBox kernel: drivers/usb/net/pegasus.c: eth2: Tx timed out.

(eth0 and eth1 are 3Com PCI NICs)

The only thing to do is to unplug/replug the NIC.

Also, ifconfig eth2 is strange :
eth2      Lien encap:Ethernet  HWaddr 00:05:1B:00:4C:B5
          adr inet6: fe80::205:1bff:fe00:4cb5/64 Scope:Lien
          RX packets:49804 errors:0 dropped:0 overruns:0 frame:0
          TX packets:57726 errors:10355 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:1000
          RX bytes:7542743 (7.1 MiB)  TX bytes:19227472 (18.3 MiB)

(only after a few seconds).

I tried on another system :
AMD K7 Barthon 2500+
Host : 0000:00:02.0 USB Controller: nVidia Corporation nForce2 USB Controller
(rev a4)

Works fine but lots of intr status -84 messages in kern.log (more than one per

Comment 2 Adrian Bunk 2005-08-07 18:24:00 UTC
Is this problem still present in kernel 2.6.13-rc6?
Comment 3 Adrian Bunk 2006-02-10 09:26:13 UTC
I'm assuming this issue is already fixed.
Please reopen this bug if it's still present in recent 2.6 kernels.

Note You need to log in before you can comment on or make changes to this bug.