USB devices sometimes not seen at boot time
Hans Petter Selasky
hps at selasky.org
Thu Jun 29 21:29:00 UTC 2017
On 06/29/17 21:46, Matthias Apitz wrote:
>
> Hello,
>
> I have the problem that on my netbook (an Acer C720) sometimes the USB
> devices are not seen at boot time while the bus is probed. I filed an
> issue as https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=220127 which
> did not got any attention so far.
>
> Meanwhile I was trying to find the rule for the problem and have
> investigated the 'dmesg' output for any "good" boot (i.e. the devices
> was seen) and compared with "bad" boot (when the device was not seen).
> There is a clear dependency of the order the USB bus is probed:
>
> This is from a good one:
>
> # egrep 'uhub|ugen' dmesg-20170628-202601-good.txt
> ugen0.1: <0x8086 XHCI root HUB> at usbus0
> ugen1.1: <Intel EHCI root HUB> at usbus1
> uhub0: <0x8086 XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on usbus0
> uhub1: <Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus1
> uhub0: 13 ports with 13 removable, self powered
> uhub1: 2 ports with 2 removable, self powered
> ugen0.2: <Identiv uTrust 3512 SAM slot Token> at usbus0
> ugen0.3: <SunplusIT Inc HD WebCam> at usbus0
> ugen0.4: <vendor 0x0489 product 0xe056> at usbus0
>
> and this is from a bad one:
>
> # egrep 'uhub|ugen' dmesg-20170628-202351-bad.txt
> ugen1.1: <Intel EHCI root HUB> at usbus1
> ugen0.1: <0x8086 XHCI root HUB> at usbus0
> uhub0: <Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus1
> uhub1: <0x8086 XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on usbus0
> uhub1: 13 ports with 13 removable, self powered
> uhub0: 2 ports with 2 removable, self powered
> ugen1.2: <vendor 0x8087 product 0x8000> at usbus1
> uhub2 on uhub0
> uhub2: <vendor 0x8087 product 0x8000, class 9/0, rev 2.00/0.04, addr 2> on usbus1
> uhub2: 8 ports with 8 removable, self powered
>
> The device in question it the "Identiv uTrust 3512 SAM slot Token" and
> the rule is: When XHCI is probed as ugen0.1 and later as uhub0, all is
> fine; else it fails.
>
> Any ideas on this? What makes the boot differ in this order?
>
Hi,
USB explores different root HUBs ugen0.1, ugenX.1 and so on in parallell
and not serial. Maybe a race or electrical issue is causing the order to
fail. You can try compiling a kernel without USB support and loading
xhci, ehci, ohci and uhci by a script using kldload. Alternate the
loading order.
--HPS
More information about the freebsd-usb
mailing list