usb: dwc2: Disconnecting hub from rpi leads to errors

Alan Stern stern at rowland.harvard.edu
Wed Jan 27 12:05:15 PST 2016


On Wed, 27 Jan 2016, Doug Anderson wrote:

> Stefan,
> 
> On Sat, Jan 23, 2016 at 9:08 AM, Stefan Wahren <stefan.wahren at i2se.com> wrote:
> > Hi,
> >
> >> Stefan Wahren <stefan.wahren at i2se.com> hat am 17. Januar 2016 um 04:36
> >> geschrieben:
> >>
> >>
> >> Hi,
> >>
> >> i have a Cherry G83 USB Keyboard connected to external 4 Port USB hub and this
> >> is connected to a Raspberry Pi B (Linux 4.4-rc7).
> >>
> >> If i disconnect the USB hub from the Pi, i will get multiple of this message:
> >>
> >> [ 103.558379] dwc2 20980000.usb: --Host Channel 1 Interrupt: Transaction
> >> Error--
> >> [ 103.558639] dwc2 20980000.usb: --Host Channel 6 Interrupt: Transaction
> >> Error--
> >> [ 103.558709] dwc2 20980000.usb: --Host Channel 7 Interrupt: Transaction
> >> Error--
> >> [ 103.558771] dwc2 20980000.usb: --Host Channel 3 Interrupt: Transaction
> >> Error--
> >> [ 103.558871] usb 1-1.2: clear tt 1 (9051) error -71
> >>
> >> If i reconnect the USB hub everything works as before.
> 
> It would be interesting to find out what the root cause of the
> transaction error was, but perhaps things would be a little less bad
> with <https://chromium-review.googlesource.com/323773>?  You might
> need to comment out your "Transaction Error" printouts, but then maybe
> things would at least be slightly better?

Those errors are actually quite normal.  You would get the same sort of
thing if you were using a desktop PC instead of a Raspberry Pi
(although maybe the messages would be at a lower severity level).

The reason is that the computer doesn't know the hub has been
disconnected until it sees a status change from the hub's upstream
parent, and the status gets polled at intervals of about 250 ms.  That
leaves plenty of time for attempted transfers to fail.

Alan Stern




More information about the linux-rpi-kernel mailing list