Re: new computer, strange usb messages at boot

From: Dimitry Andric <dim_at_FreeBSD.org>
Date: Sun, 21 Feb 2016 14:33:59 +0100
On 20 Feb 2016, at 10:25, Hans Petter Selasky <hps_at_selasky.org> wrote:
> 
> On 02/20/16 06:19, Larry Rosenman wrote:
>> ugen0.2: <CN06307G7248759DE3VFA03> at usbus0
>> Root mount waiting for: usbus0
>> usbd_setup_device_desc: getting device descriptor at addr 2 failed, USB_ERR_IOERROR
>> Root mount waiting for: usbus0
>> usbd_setup_device_desc: getting device descriptor at addr 2 failed, USB_ERR_IOERROR
>> Root mount waiting for: usbus0
>> Root mount waiting for: usbus0
>> usbd_setup_device_desc: getting device descriptor at addr 2 failed, USB_ERR_IOERROR
>> Root mount waiting for: usbus0
>> usbd_setup_device_desc: getting device descriptor at addr 2 failed, USB_ERR_IOERROR
>> Root mount waiting for: usbus0
>> Root mount waiting for: usbus0
>> usbd_setup_device_desc: getting device descriptor at addr 2 failed, USB_ERR_IOERROR
> 
> Hi,
> 
> Looks like there is an error enumerating one of the USB devices. It is harmless.
> 
> What does "pciconf -lv" say about your USB controllers?

It might be harmless, but it is surely annoying.  Initializing USB
devices takes so long because of these errors, that root mounting takes
30 to 40 seconds, and I had to hack in a 15 second pause in
/etc/rc.d/zfs to get all my ZFS filesystems on USB disks to mount
correctly.

If you ask me, something is just seriously broken in the way the xhci
driver works on Haswell or higher Intel CPUs.  For example, on an
embedded Haswell box with USB3 ports:

> FreeBSD 10.3-BETA2 #0 r295552: Fri Feb 12 22:28:27 CET 2016
> root_at_machine:/usr/obj/usr/src/sys/GENERIC amd64
> FreeBSD clang version 3.4.1 (tags/RELEASE_34/dot1-final 208032) 20140512
> VT(efifb): resolution 1920x1200
> CPU: Intel(R) Core(TM) i5-4300U CPU _at_ 1.90GHz (2494.28-MHz K8-class CPU)
> Origin="GenuineIntel"  Id=0x40651  Family=0x6  Model=0x45  Stepping=1
[... e.g., a Haswell ...]
> xhci0: <Intel Panther Point USB 3.0 controller> mem 0xf0720000-0xf072ffff at device 20.0 on pci0
> xhci0: 32 bytes context size, 64-bit DMA
> xhci0: Port routing mask set to 0xffffffff
> usbus0 on xhci0
[...]
> ehci0: <EHCI (generic) USB 2.0 controller> mem 0xf073d000-0xf073d3ff at device 29.0 on pci0
> usbus1: EHCI version 1.0
> usbus1 on ehci0
[...]
> usbus0: 5.0Gbps Super Speed USB v3.0
> usbus1: 480Mbps High Speed USB v2.0
> ugen0.1: <0x8086> at usbus0
> uhub0: <0x8086 XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on usbus0
> ugen1.1: <Intel> at usbus1
> uhub1: <Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus1
[... so far so good, now, the waiting starts ...]
> Root mount waiting for: usbus1 usbus0
> uhub0: 13 ports with 13 removable, self powered
> Root mount waiting for: usbus1 usbus0
> uhub1: 3 ports with 3 removable, self powered
> ugen0.2: <MOSART Semi.> at usbus0
> ukbd0: <MOSART Semi. Rapoo 2.4G Wireless Touch Desktop, class 0/0, rev 1.10/1.07, addr 1> on usbus0
> kbd2 at ukbd0
> ugen1.2: <vendor 0x8087> at usbus1
> uhub2: <vendor 0x8087 product 0x8000, class 9/0, rev 2.00/0.04, addr 2> on usbus1
> Root mount waiting for: usbus1 usbus0
> uhub2: 8 ports with 8 removable, self powered
> usb_alloc_device: set address 3 failed (USB_ERR_TIMEOUT, ignored)
> Root mount waiting for: usbus0
> usbd_setup_device_desc: getting device descriptor at addr 3 failed, USB_ERR_TIMEOUT
> Root mount waiting for: usbus0
> usbd_req_re_enumerate: addr=3, set address failed! (USB_ERR_TIMEOUT, ignored)
> Root mount waiting for: usbus0
> usbd_setup_device_desc: getting device descriptor at addr 3 failed, USB_ERR_TIMEOUT
> Root mount waiting for: usbus0
> usbd_req_re_enumerate: addr=3, set address failed! (USB_ERR_TIMEOUT, ignored)
> Root mount waiting for: usbus0
> usbd_setup_device_desc: getting device descriptor at addr 3 failed, USB_ERR_TIMEOUT
> Root mount waiting for: usbus0
> usbd_req_re_enumerate: addr=3, set address failed! (USB_ERR_TIMEOUT, ignored)
> usbd_setup_device_desc: getting device descriptor at addr 3 failed, USB_ERR_TIMEOUT
> Root mount waiting for: usbus0
> Root mount waiting for: usbus0
> usbd_req_re_enumerate: addr=3, set address failed! (USB_ERR_TIMEOUT, ignored)
> usbd_setup_device_desc: getting device descriptor at addr 3 failed, USB_ERR_IOERROR
> ugen0.3: <Unknown> at usbus0 (disconnected)
> uhub_reattach_port: could not allocate new device
> Root mount waiting for: usbus0
> usbd_req_re_enumerate: addr=3, set address failed! (USB_ERR_IOERROR, ignored)
> ugen0.3: <Seagate> at usbus0
> umass0: <Seagate Expansion, class 0/0, rev 3.00/1.00, addr 3> on usbus0
> umass0:  SCSI over Bulk-Only; quirks = 0xc101
> umass0:1:0:-1: Attached to scbus1
> Root mount waiting for: usbus0
> usbd_req_re_enumerate: addr=4, set address failed! (USB_ERR_IOERROR, ignored)
> Root mount waiting for: usbus0
> ugen0.4: <Seagate> at usbus0
> umass1: <Seagate Expansion, class 0/0, rev 3.00/1.00, addr 4> on usbus0
> umass1:  SCSI over Bulk-Only; quirks = 0xc101
> umass1:2:1:-1: Attached to scbus2
> Trying to mount root from zfs:zroot/ROOT/stable10-r295552 []...
[... here we are at 30 to 40 seconds into the boot, now the umass retries start ...]
> ugen0.3: <Seagate> at usbus0 (disconnected)
> umass0: at uhub0, port 10, addr 3 (disconnected)
> (probe0:umass-sim0:0:0:0): INQUIRY. CDB: 12 00 00 00 24 00
> (probe0:umass-sim0:0:0:0): CAM status: CCB request completed with an error
> (probe0:umass-sim0:0:0:0): Retrying command
> (probe0:umass-sim0:0:0:0): INQUIRY. CDB: 12 00 00 00 24 00
> (probe0:umass-sim0:0:0:0): CAM status: CCB request completed with an error
> (probe0:umass-sim0:0:0:0): Retrying command
> (probe0:umass-sim0:0:0:0): INQUIRY. CDB: 12 00 00 00 24 00
> (probe0:umass-sim0:0:0:0): CAM status: CCB request completed with an error
> (probe0:umass-sim0:0:0:0): Retrying command
> (probe0:umass-sim0:0:0:0): INQUIRY. CDB: 12 00 00 00 24 00
> (probe0:umass-sim0:0:0:0): CAM status: CCB request completed with an error
> (probe0:umass-sim0:0:0:0): Retrying command
> (probe0:umass-sim0:0:0:0): INQUIRY. CDB: 12 00 00 00 24 00
> (probe0:umass-sim0:0:0:0): CAM status: CCB request completed with an error
> (probe0:umass-sim0:0:0:0): Error 5, Retries exhausted
> ugen0.3: <Seagate> at usbus0
> umass0: <Seagate Expansion, class 0/0, rev 3.00/1.00, addr 5> on usbus0
> umass0:  SCSI over Bulk-Only; quirks = 0x0100
> umass0:1:0:-1: Attached to scbus1
> ugen0.4: <Seagate> at usbus0 (disconnected)
> umass1: at uhub0, port 11, addr 4 (disconnected)
> (probe1:umass-sim1:1:0:0): INQUIRY. CDB: 12 00 00 00 24 00
> (probe1:umass-sim1:1:0:0): CAM status: CCB request completed with an error
> (probe1:umass-sim1:1:0:0): Retrying command
> (probe1:umass-sim1:1:0:0): INQUIRY. CDB: 12 00 00 00 24 00
> (probe1:umass-sim1:1:0:0): CAM status: CCB request completed with an error
> (probe1:umass-sim1:1:0:0): Retrying command
> (probe1:umass-sim1:1:0:0): INQUIRY. CDB: 12 00 00 00 24 00
> (probe1:umass-sim1:1:0:0): CAM status: CCB request completed with an error
> (probe1:umass-sim1:1:0:0): Retrying command
> (probe1:umass-sim1:1:0:0): INQUIRY. CDB: 12 00 00 00 24 00
> (probe1:umass-sim1:1:0:0): CAM status: CCB request completed with an error
> (probe1:umass-sim1:1:0:0): Retrying command
> (probe1:umass-sim1:1:0:0): INQUIRY. CDB: 12 00 00 00 24 00
> (probe1:umass-sim1:1:0:0): CAM status: CCB request completed with an error
> (probe1:umass-sim1:1:0:0): Error 5, Retries exhausted
> da0 at umass-sim0 bus 0 scbus1 target 0 lun 0
> da0: <Seagate Expansion 0502> Fixed Direct Access SPC-4 SCSI device
> da0: Serial Number NA4BTF51
> da0: 400.000MB/s transfers
> da0: 1907729MB (3907029167 512 byte sectors)
> da0: quirks=0x2<NO_6_BYTE>
> ugen0.4: <Seagate> at usbus0
> umass1: <Seagate Expansion, class 0/0, rev 3.00/1.00, addr 6> on usbus0
> umass1:  SCSI over Bulk-Only; quirks = 0x0100
> umass1:2:1:-1: Attached to scbus2
> da1 at umass-sim1 bus 1 scbus2 target 0 lun 0
> da1: <Seagate Expansion 0502> Fixed Direct Access SPC-4 SCSI device
> da1: Serial Number NA4BTF6H
> da1: 400.000MB/s transfers
> da1: 1907729MB (3907029167 512 byte sectors)
> da1: quirks=0x2<NO_6_BYTE>
[...]
> ums0: <MOSART Semi. Rapoo 2.4G Wireless Touch Desktop, class 0/0, rev 1.10/1.07, addr 1> on usbus0
> ums0: 5 buttons and [XYZT] coordinates ID=3

Of course initially I also tried some tests with Linux and even Windows
on this very same box, and both could enumerate all the USB devices
without any errors...

-Dimitry


Received on Sun Feb 21 2016 - 12:34:09 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:02 UTC