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>