Re: ehci-hang on 2.6.32

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

Thanks for the quick reply,

Alan Stern a écrit :
On Wed, 31 Mar 2010, matthieu castet wrote:

Hi,


since some kernels, high speed usb hang after some random time.

Here [1] is a trace of the hang with debug enabled for ehci.

When the hang occurs a device is disconnected, and then enumerated again.
The enumeration fails and fallback to full-speed.
If new device are plugged, high speed enumeration fails and fallback to full-speed.


Any idea what could cause the failure ?
Failing hardware ?

That's what it looks like.

If you leave the DVB tuner unplugged and use only the USB key, does the same thing still happen?
I don't know : I will try. Hangs can take some times to happen.
I know that a similar hang happen using a usb to ide bridge device.


These errors indicate some sort of hardware problem, although not
necessarily in the EHCI controller.  They could be caused by a bad
cable connection, electromagnetic interference, or something wrong with
the DVB tuner.
They happen on all ports. I will try to see if it happens with other devices.



[  787.775636] ehci_hcd 0000:00:10.3: GetStatus port 4 status 00100a POWER sig=se0 PEC CSC
[  787.775654] usb 1-4: USB disconnect, address 2
[  787.784508] af9015: bulk message failed:-22 (8/-1019085672)
[  787.784515] af9013: I2C read failed reg:d730

Did you manually unplug the tuner here?
No.
If you didn't then this is clearly a hardware error.



[  823.071048] usb 3-2: SerialNumber: 302471600900000
[  823.071250] usb 3-2: configuration #1 chosen from 1 choice
<-- full speed dvb tuner

[  825.000034] ehci_hcd 0000:00:10.3: suspend root hub
[  825.004005] ehci_hcd 0000:00:10.3: force halt; handhake f7c5ed14 0000c000 00000000 -> -110

This is very bad indeed.  It means the EHCI controller is misbehaving,
not turning off its async schedule when told to do so.  The driver
resets it, but from this point on it won't work at all.

The controller does not work anymore at this point. Only reloading ehci-hcd, make it work again [1].

Can adding a hub between the ehci port and the device, make the things better ?

Thanks

Matthieu

[1].
rmmod
[10045.695975] ehci_hcd 0000:00:10.3: remove, state 4
[10045.695996] usb usb1: USB disconnect, address 1
[10045.697907] ehci_hcd 0000:00:10.3: stop
[10045.700020] ehci_hcd 0000:00:10.3: reset command 01000a (park)=0 ithresh=1 period=256 Reset HALT
[10045.702953] ehci_hcd 0000:00:10.3: irq normal 125346 err 12 reclaim 1258 (lost 4)
[10045.702960] ehci_hcd 0000:00:10.3: complete 125744 unlink 33
[10045.702968] ehci_hcd 0000:00:10.3: ehci_stop completed status 1000 Halt
[10045.702979] ehci_hcd 0000:00:10.3: USB bus 1 deregistered
[10045.703026] ehci_hcd 0000:00:10.3: PCI INT D disabled
[10045.904069] usb 3-2: USB disconnect, address 2

[10046.144018] usb 3-2: new full speed USB device using uhci_hcd and address 3
[10046.326020] usb 3-2: New USB device found, idVendor=07ca, idProduct=850a
[10046.326028] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[10046.326033] usb 3-2: Product: A850 DVBT
[10046.326036] usb 3-2: Manufacturer: AVerMedia
[10046.326039] usb 3-2: SerialNumber: 302471600900000
[10046.326248] usb 3-2: configuration #1 chosen from 1 choice

modprobe


[10092.846140] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[10092.846150] Warning! ehci_hcd should always be loaded before uhci_hcd and ohci_hcd, not after
[10092.846155] ehci_hcd: block sizes: qh 60 qtd 96 itd 160 sitd 96
[10092.846236] ehci_hcd 0000:00:10.3: PCI INT D -> GSI 21 (level, low) -> IRQ 21
[10092.846281] ehci_hcd 0000:00:10.3: EHCI Host Controller
[10092.846304] ehci_hcd 0000:00:10.3: new USB bus registered, assigned bus number 1
[10092.846320] ehci_hcd 0000:00:10.3: reset hcs_params 0x3206 dbg=0 cc=3 pcc=2 ordered !ppc ports=6
[10092.846326] ehci_hcd 0000:00:10.3: reset hcc_params 6872 thresh 7 uframes 256/512/1024
[10092.846380] ehci_hcd 0000:00:10.3: reset command 080002 (park)=0 ithresh=8 period=1024 Reset HALT
[10092.846390] ehci_hcd 0000:00:10.3: MWI active
[10092.846408] ehci_hcd 0000:00:10.3: irq 21, io mem 0xdffffd00
[10092.846416] ehci_hcd 0000:00:10.3: reset command 080002 (park)=0 ithresh=8 period=1024 Reset HALT
[10092.846425] ehci_hcd 0000:00:10.3: init command 010009 (park)=0 ithresh=1 period=256 RUN
[10092.856019] ehci_hcd 0000:00:10.3: USB 2.0 started, EHCI 1.00
[10092.856102] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[10092.856107] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[10092.856112] usb usb1: Product: EHCI Host Controller
[10092.856115] usb usb1: Manufacturer: Linux 2.6.32-2-686 ehci_hcd
[10092.856119] usb usb1: SerialNumber: 0000:00:10.3
[10092.857520] usb usb1: configuration #1 chosen from 1 choice
[10092.857786] hub 1-0:1.0: USB hub found
[10092.857812] hub 1-0:1.0: 6 ports detected
[10092.956046] ehci_hcd 0000:00:10.3: GetStatus port 4 status 001803 POWER sig=j CSC CONNECT
[10093.024053] usb 3-2: USB disconnect, address 3

[10093.208230] ehci_hcd 0000:00:10.3: port 4 high speed
[10093.208241] ehci_hcd 0000:00:10.3: GetStatus port 4 status 001005 POWER sig=se0 PE CONNECT
[10093.264021] usb 1-4: new high speed USB device using ehci_hcd and address 2
[10093.320351] ehci_hcd 0000:00:10.3: port 4 high speed
[10093.320361] ehci_hcd 0000:00:10.3: GetStatus port 4 status 001005 POWER sig=se0 PE CONNECT
[10093.401289] usb 1-4: New USB device found, idVendor=07ca, idProduct=850a
[10093.401297] usb 1-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[10093.401302] usb 1-4: Product: A850 DVBT
[10093.401305] usb 1-4: Manufacturer: AVerMedia
[10093.401309] usb 1-4: SerialNumber: 302471600900000
[10093.402911] usb 1-4: configuration #1 chosen from 1 choice
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux