Re: [PATCH] usb: Wait before re-enabling a port that has been disabled due to EMI

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

 



Hello Greg !

On dom, 2016-03-20 at 10:34 -0700, Greg KH wrote:
> On Sun, Mar 20, 2016 at 06:09:57PM +0100, Guido Trentalancia wrote:
>
> > [ 1295.575679] usb 6-2: FTDI USB Serial Device converter now
> > attached
> > to ttyUSB1
> > [ 1302.204285] usb usb6-port2: disabled by hub (EMI?), re-
> > enabling...
> > 
> > *** NOTE: EMI is probably still present here ***
> > 
> > [ 1303.205202] usb 6-2: USB disconnect, device number 6
> > [ 1303.205907] ftdi_sio ttyUSB1: FTDI USB Serial Device converter
> > now
> > disconnected from ttyUSB1
> > [ 1303.205950] ftdi_sio 6-2:1.0: device disconnected
> > [ 1303.414089] usb 6-2: new full-speed USB device number 7 using
> > uhci_hcd
> > [ 1303.526226] usb 6-2: device descriptor read/64, error -71
> > [ 1303.894228] usb 6-2: new full-speed USB device number 8 using
> > uhci_hcd
> > [ 1304.006185] usb 6-2: device descriptor read/64, error -71
> > [ 1304.219089] usb 6-2: device descriptor read/64, error -71
> > [ 1304.422107] usb 6-2: new full-speed USB device number 9 using
> > uhci_hcd
> > [ 1304.640020] usb 6-2: device not accepting address 9, error -71
> > [ 1304.752024] usb 6-2: new full-speed USB device number 10 using
> > uhci_hcd
> > [ 1305.160020] usb 6-2: device not accepting address 10, error -71
> > [ 1305.160038] hub 6-0:1.0: unable to enumerate USB device on port
> > 2
> > 
> > *** NOTE: Device is permanently disabled at this point ***
> > 
> > I don't know whether my analysis is correct (and therefore the
> > proposed
> > solution appropriate), as reproducing the problem is very
> > difficult...
> > 

> Module parameters are "icky", isn't there some way we can just
> dynamically determine this (i.e. fall back to longer and longer wait
> times?)

No, we cannot in general predict how long EMI lasts.

But, for example, I have a known source of EMI close to the computer
(RF transmitter) and I know it lasts a couple of seconds, therefore I
am able to set up the parameter correctly.

Also, I believe once it fails the first time, the device is permanently
disabled by the USB driver (I am no USB driver expert, do you confirm
?). Therefore, by the way the driver is actually designed, it is not
possible to try again with a longer wait interval. And it's much more
complicate, plus you still have to hard-code a maximum value I
suppose...

> Have you been able to test this out and see if it works?

So far, so good.

But before several days of testing, I won't be able to tell for sure
whether waiting those 2 seconds completely eliminates the issue. This
is because I cannot reliably reproduce the condition, it depends on the
(random) EMI.

Finally, I have been conservative in the patch defaulting to zero
seconds, but perhaps, it's worth defaulting to 1 second or something
similar.

> thanks,
> 
> greg k-h

You're welcome.

Guido
--
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