Slow boot due to USB errors

Hans de Goede hdegoede at redhat.com
Sat May 10 17:49:30 UTC 2014


Hi,

On 05/10/2014 05:13 PM, drago01 wrote:
> Hi,
> 
> Startup finished in 8.394s (firmware) + 590ms (loader) + 918ms
> (kernel) + 19.389s (initrd) + 1.940s (userspace) = 31.234s
> 
> ~19.4 seconds during initrd seems like a bit much ... looking at the
> log output I have noticed this:
> 
> [    3.306309] usb 1-4: new full-speed USB device number 3 using xhci_hcd
> [    5.502178] usb 1-4: unable to read config index 0 descriptor/start: -71
> [    5.502190] usb 1-4: can't read configurations, error -71
> [    5.655591] usb 1-4: new full-speed USB device number 4 using xhci_hcd
> [    7.699049] usb 1-4: unable to read config index 0 descriptor/start: -71
> [    7.699060] usb 1-4: can't read configurations, error -71
> [    7.851791] usb 1-4: new full-speed USB device number 5 using xhci_hcd
> [    9.895842] usb 1-4: unable to read config index 0 descriptor/start: -71
> [    9.895854] usb 1-4: can't read configurations, error -71
> [    9.895997] hub 1-0:1.0: unable to enumerate USB device on port 4
> [   10.048994] usb 1-5: new high-speed USB device number 6 using xhci_hcd
> [   10.363192] usb 1-5: New USB device found, idVendor=0bda, idProduct=58b1
> [   10.363202] usb 1-5: New USB device strings: Mfr=3, Product=1, SerialNumber=2
> [   10.363208] usb 1-5: Product: FJ Camera
> [   10.363212] usb 1-5: Manufacturer: Generic
> [   10.363215] usb 1-5: SerialNumber: 200901010001
> [   10.519824] usb 1-7: new full-speed USB device number 7 using xhci_hcd
> [   10.684975] usb 1-7: New USB device found, idVendor=8087, idProduct=07dc
> [   10.684986] usb 1-7: New USB device strings: Mfr=0, Product=0, SerialNumber=0
> [   10.942675] usb 1-4: new full-speed USB device number 8 using xhci_hcd
> [   13.139694] usb 1-4: unable to read config index 0 descriptor/start: -71
> [   13.139731] usb 1-4: can't read configurations, error -71
> [   13.292830] usb 1-4: new full-speed USB device number 9 using xhci_hcd
> [   15.489755] usb 1-4: unable to read config index 0 descriptor/start: -71
> [   15.489766] usb 1-4: can't read configurations, error -71
> [   15.642970] usb 1-4: new full-speed USB device number 10 using xhci_hcd
> [   17.687316] usb 1-4: unable to read config index 0 descriptor/start: -71
> [   17.687328] usb 1-4: can't read configurations, error -71
> [   17.840189] usb 1-4: new full-speed USB device number 11 using xhci_hcd
> [   19.884509] usb 1-4: unable to read config index 0 descriptor/start: -71
> [   19.884522] usb 1-4: can't read configurations, error -71
> [   19.884617] hub 1-0:1.0: unable to enumerate USB device on port 4
> [   19.919050] PM: Starting manual resume from disk
> [   19.940256] EXT4-fs (sda4): mounted filesystem with ordered data
> mode. Opts: (null)
> [   20.172347] usb 1-4: new full-speed USB device number 12 using xhci_hcd
> 
> 
> So  the questions are 1) what do those message actually mean? Seems
> like everything works anyway 2) why do those block the boot process
> ... its not like the root fs is on a usb driver or something.
> 
> Kernel is 3.14.3-200.fc20.x86_64 (but does this not seem to matter it
> happens for pretty much every kernel for almost every but not all boot
> ups).
> 
> Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
> Bus 001 Device 007: ID 8087:07dc Intel Corp.
> Bus 001 Device 006: ID 0bda:58b1 Realtek Semiconductor Corp.
> Bus 001 Device 012: ID 04f3:009b Elan Microelectronics Corp.
> Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
> 
> Any ideas where to investigate? Those error messages are really
> cryptic and do not tell me anything.

-71 means EPROTO, note the device causing these issues is likely not
in your lsusb output since it fails to enumerate.

linux/Documentation/usb/error-codes.txt says the following about EPROTO:

-EPROTO (*, **)         a) bitstuff error
                        b) no response packet received within the
                           prescribed bus turn-around time
                        c) unknown USB error

(*) Error codes like -EPROTO, -EILSEQ and -EOVERFLOW normally indicate
hardware problems such as bad devices (including firmware) or cables.

(**) This is also one of several codes that different kinds of host
controller use to indicate a transfer has failed because of device
disconnect.  In the interval before the hub driver starts disconnect
processing, devices may receive such fault reports for every request.


Your boot log indicated that eventually the device on Bus 1 port 4
does enumerate and is the "Elan Microelectronics Corp." device which
likely is a touchscreen or a touchpad (if this is a tablet device
with a keyboard dock). Possibly the cable from the touchpad / touchscreen
has a loose contact somewhere.

Regards,

Hans




More information about the kernel mailing list