Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 1 Apr 2019 16:31:41 +0200
From:      Hans Petter Selasky <hps@selasky.org>
To:        Florian Schulze <mail@florian-schulze.net>
Cc:        freebsd-usb@freebsd.org
Subject:   Re: USB issues with 12.0
Message-ID:  <f515fad2-7b43-70d7-4561-34b523751819@selasky.org>
In-Reply-To: <A57BA68E-C962-40B0-9501-522DB9E46D18@florian-schulze.net>
References:  <74A35CD5-8D89-48B8-95AD-85108E98B39E@florian-schulze.net> <429667b1-a5af-bb05-9927-f51e0a936323@selasky.org> <730B2CAC-E43A-48B6-BE38-632944023C35@florian-schulze.net> <26abd10e-a98b-215a-3355-fa104f76efcf@selasky.org> <B0CEE860-DE36-447A-8C4F-8EE50B451125@florian-schulze.net> <bb5b90e5-5093-84db-01bd-bb3d2da43ccb@selasky.org> <A57BA68E-C962-40B0-9501-522DB9E46D18@florian-schulze.net>

next in thread | previous in thread | raw e-mail | index | archive | help
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@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@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@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@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@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@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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?f515fad2-7b43-70d7-4561-34b523751819>