Re: USB regression on Overdrive 1000

From: Hans Petter Selasky <hps_at_selasky.org>
Date: Wed, 16 Mar 2022 14:51:35 UTC
On 3/16/22 14:46, John F Carr wrote:
> I updated my kernel from 13.0-STABLE from early December to 13.1-STABLE from yesterday and I am having USB problems on my Overdrive 1000 ARM box.  I see some usb_msc_auto_quirk messages I haven't seen before and there is a long delay "Root mount waiting for: usbus0".  It does boot eventually off of the internal drive, ada0, but it continues to spew USB errors to the console.  It doesn't register a "CAMuhub0" device and it never finds the USB stick plugged into the external port which should appear as da0.  Any ideas?
> 
> dmesg output attached, "good" comes from "boot kernel.old".  The if_msk error is probably caused by a mismatch between old kernel and new root filesystem.
> 
> 
> CPU  3: ARM Cortex-A57 r1p2 affinity:  1  1
> Release APs...done
> usbus0: 5.0Gbps Super Speed USB v3.0
> Trying to mount root from zfs:zroot/ROOT/default []...
> ugen0.1: <(0x1b73) XHCI root HUB> at usbus0
> uhub0 on usbus0
> uhub0: <(0x1b73) XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on usbus0
> ada0 at ahcich1 bus 0 scbus1 target 0 lun 0
> ada0: <Patriot P200 1TB S0424A0> ACS-2 ATA SATA 3.x device
> ...
> Root mount waiting for: usbus0
> usb_msc_auto_quirk: UQ_MSC_NO_GETMAXLUN set for USB mass storage device Generic Mass Storage Device (0x14cd:0x125d)
> usb_msc_auto_quirk: UQ_MSC_NO_TEST_UNIT_READY set for USB mass storage device Generic Mass Storage Device (0x14cd:0x125d)
> usb_msc_auto_quirk: UQ_MSC_NO_PREVENT_ALLOW set for USB mass storage device Generic Mass Storage Device (0x14cd:0x125d)
> usb_msc_auto_quirk: UQ_MSC_NO_SYNC_CACHE set for USB mass storage device Generic Mass Storage Device (0x14cd:0x125d)
> Root mount waiting for: usbus0
> xhci0: Resetting controller
> Root mount waiting for: usbus0
> usbd_req_re_enumerate: addr=1, set address failed! (USB_ERR_TIMEOUT, ignored)
> Root mount waiting for: usbus0
> ...
> xhci0: Resetting controller
> 

Hi,

Can you cherry pick this commit:

https://cgit.freebsd.org/src/commit/?id=33cbbf268f7d0f3daff0c2aa06836d932faf56a9

to your 13-stable and enable it in the loader either manually or in 
/boot/loader.conf:

set hw.usb.xhci.dcepquirk=1

hw.usb.xhci.dcepquirk=1

--HPS