USB issues with 12.0

Hans Petter Selasky hps at selasky.org
Mon Apr 1 14:32:11 UTC 2019


On 4/1/19 4:01 PM, Florian Schulze wrote:
>> What exact PCI models of xhci/ehci/ohci and uhci have you got?
>> pciconf -lv
> 
> The following all is with 10.3. Can't reboot at the moment to try with 
> 12.0. Maybe tomorrow morning. This is a HP ProLiant Microserver Gen7 N54L.
> 
> ohci0 at pci0:0:18:0:    class=0x0c0310 card=0x1609103c chip=0x43971002 
> rev=0x00 hdr=0x00
>      vendor     = 'Advanced Micro Devices, Inc. [AMD/ATI]'
>      device     = 'SB7x0/SB8x0/SB9x0 USB OHCI0 Controller'
>      class      = serial bus
>      subclass   = USB
> ehci0 at pci0:0:18:2:    class=0x0c0320 card=0x1609103c chip=0x43961002 
> rev=0x00 hdr=0x00
>      vendor     = 'Advanced Micro Devices, Inc. [AMD/ATI]'
>      device     = 'SB7x0/SB8x0/SB9x0 USB EHCI Controller'
>      class      = serial bus
>      subclass   = USB
> ohci1 at pci0:0:19:0:    class=0x0c0310 card=0x1609103c chip=0x43971002 
> rev=0x00 hdr=0x00
>      vendor     = 'Advanced Micro Devices, Inc. [AMD/ATI]'
>      device     = 'SB7x0/SB8x0/SB9x0 USB OHCI0 Controller'
>      class      = serial bus
>      subclass   = USB
> ehci1 at pci0:0:19:2:    class=0x0c0320 card=0x1609103c chip=0x43961002 
> rev=0x00 hdr=0x00
>      vendor     = 'Advanced Micro Devices, Inc. [AMD/ATI]'
>      device     = 'SB7x0/SB8x0/SB9x0 USB EHCI Controller'
>      class      = serial bus
>      subclass   = USB
> ohci2 at pci0:0:22:0:    class=0x0c0310 card=0x1609103c chip=0x43971002 
> rev=0x00 hdr=0x00
>      vendor     = 'Advanced Micro Devices, Inc. [AMD/ATI]'
>      device     = 'SB7x0/SB8x0/SB9x0 USB OHCI0 Controller'
>      class      = serial bus
>      subclass   = USB
> ehci2 at pci0:0:22:2:    class=0x0c0320 card=0x1609103c chip=0x43961002 
> rev=0x00 hdr=0x00
>      vendor     = 'Advanced Micro Devices, Inc. [AMD/ATI]'
>      device     = 'SB7x0/SB8x0/SB9x0 USB EHCI Controller'
>      class      = serial bus
>      subclass   = USB
> 
> ugen2.1: <OHCI root HUB ATI> at usbus2, cfg=0 md=HOST spd=FULL (12Mbps) 
> pwr=SAVE (0mA)
> ugen1.1: <EHCI root HUB ATI> at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) 
> pwr=SAVE (0mA)
> ugen0.1: <OHCI root HUB ATI> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) 
> pwr=SAVE (0mA)
> ugen5.1: <EHCI root HUB ATI> at usbus5, cfg=0 md=HOST spd=HIGH (480Mbps) 
> pwr=SAVE (0mA)
> ugen4.1: <OHCI root HUB ATI> at usbus4, cfg=0 md=HOST spd=FULL (12Mbps) 
> pwr=SAVE (0mA)
> ugen3.1: <EHCI root HUB ATI> at usbus3, cfg=0 md=HOST spd=HIGH (480Mbps) 
> pwr=SAVE (0mA)
> ugen3.2: <USB2.0 Hub Action Star> at usbus3, cfg=0 md=HOST spd=HIGH 
> (480Mbps) pwr=SAVE (100mA)
> ugen1.2: <RNDISEthernet Gadget Linux 2.6.31-rt11-lab126 with 
> fsl-usb2-udc> at usbus1, cfg=1 md=HOST spd=HIGH (480Mbps) pwr=ON (2mA)
> ugen3.3: <USB HID Action Star> at usbus3, cfg=0 md=HOST spd=HIGH 
> (480Mbps) pwr=ON (20mA)
> ugen3.4: <Arduino Leonardo Arduino LLC> at usbus3, cfg=0 md=HOST 
> spd=FULL (12Mbps) pwr=ON (500mA)
> 
>> It might be the host controller driver needs a quirk. See:
>> sysctl -a hw.usb | grep hci
> 
> hw.usb.xhci.dma32: 0
> hw.usb.xhci.use_polling: 0
> hw.usb.xhci.xhci_port_route: 0
> hw.usb.xhci.debug: 0
> hw.usb.xhci.streams: 0
> hw.usb.uhci.loop: 0
> hw.usb.uhci.debug: 0
> hw.usb.ohci.debug: 0
> hw.usb.ehci.lostintrbug: 0
> hw.usb.ehci.iaadbug: 0
> hw.usb.ehci.no_hs: 0
> hw.usb.ehci.debug: 0
> 

Hi,

Basically there are very few changes in the EHCI/OHCI drivers between 
10.3 and 12.0 . Does re-plugging the USB device make it appear again?

If you don't see any messages like "failed to enumerate" ... it means 
the device is not visible at all to the USB host controller. Changing 
values under:

sysctl -a hw.usb.timings

Might affect the situation. In 12.0 there is a new system wide feature 
called early AP startup, which kicks multithreading much earlier. Maybe 
it affects the boot timing somehow.

When FreeBSD 12.0 is booted, you might also want to try to do a reset on 
the HUB, where I guess all devices are connected:

usbconfig -d X.Y reset

where X.Y are the numbers in ugenX.Y .

--HPS



More information about the freebsd-usb mailing list