drivers/usb/core/quirks.c | 9 +++++++++ 1 file changed, 9 insertions(+)
Add QUIRK_NO_BOS entries for:
* ASUS TUF 4K PRO (0x0b05:0x1ab9)
* Avermedia Live Gamer Ultra 2.1 (0x07ca:0x2553)
* UGREEN 35871 (0x2b89:0x5871)
Signed-off-by: A1RM4X <dev@a1rm4x.com>
---
drivers/usb/core/quirks.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
index c4d85089d19b..ddce45ce9f6c 100644
--- a/drivers/usb/core/quirks.c
+++ b/drivers/usb/core/quirks.c
@@ -453,6 +453,15 @@ static const struct usb_device_id usb_quirk_list[] = {
/* Elgato 4K X - BOS descriptor fetch hangs at SuperSpeed Plus */
{ USB_DEVICE(0x0fd9, 0x009b), .driver_info = USB_QUIRK_NO_BOS },
+ /* ASUS TUF 4K PRO - BOS descriptor fetch hangs at SuperSpeed Plus */
+ { USB_DEVICE(0x0b05, 0x1ab9), .driver_info = USB_QUIRK_NO_BOS },
+
+ /* Avermedia Live Gamer Ultra 2.1 (GC553G2) - BOS descriptor fetch hangs at SuperSpeed Plus */
+ { USB_DEVICE(0x07ca, 0x2553), .driver_info = USB_QUIRK_NO_BOS },
+
+ /* UGREEN 35871 - BOS descriptor fetch hangs at SuperSpeed Plus */
+ { USB_DEVICE(0x2b89, 0x5871), .driver_info = USB_QUIRK_NO_BOS },
+
/* Sony Xperia XZ1 Compact (lilac) smartphone in fastboot mode */
{ USB_DEVICE(0x0fce, 0x0dde), .driver_info = USB_QUIRK_NO_LPM },
--
2.53.0
On Tue, Feb 03, 2026 at 10:29:38PM -0500, A1RM4X wrote:
> Add QUIRK_NO_BOS entries for:
> * ASUS TUF 4K PRO (0x0b05:0x1ab9)
> * Avermedia Live Gamer Ultra 2.1 (0x07ca:0x2553)
> * UGREEN 35871 (0x2b89:0x5871)
Why? What is the results without this option being used here? And what
happens when userspace goes and asks for this descriptor?
> Signed-off-by: A1RM4X <dev@a1rm4x.com>
We need a real name, sorry.
> ---
> drivers/usb/core/quirks.c | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
> index c4d85089d19b..ddce45ce9f6c 100644
> --- a/drivers/usb/core/quirks.c
> +++ b/drivers/usb/core/quirks.c
> @@ -453,6 +453,15 @@ static const struct usb_device_id usb_quirk_list[] = {
> /* Elgato 4K X - BOS descriptor fetch hangs at SuperSpeed Plus */
> { USB_DEVICE(0x0fd9, 0x009b), .driver_info = USB_QUIRK_NO_BOS },
>
> + /* ASUS TUF 4K PRO - BOS descriptor fetch hangs at SuperSpeed Plus */
> + { USB_DEVICE(0x0b05, 0x1ab9), .driver_info = USB_QUIRK_NO_BOS },
> +
> + /* Avermedia Live Gamer Ultra 2.1 (GC553G2) - BOS descriptor fetch hangs at SuperSpeed Plus */
> + { USB_DEVICE(0x07ca, 0x2553), .driver_info = USB_QUIRK_NO_BOS },
> +
> + /* UGREEN 35871 - BOS descriptor fetch hangs at SuperSpeed Plus */
> + { USB_DEVICE(0x2b89, 0x5871), .driver_info = USB_QUIRK_NO_BOS },
Please read the comment for this structure for how to place these in the
list.
thanks,
greg k-h
Hi,
Please find attached the new patch which fixes the structure of the commit.
Why? If the option is not being used, the speed limit will be limited
to 5000M, which limits the capture capabilities of the device (4K30fps
at 5000M versus the expected 4K60fps at 10000M).
What happens in userspace?
- without patch
[ 5036.674972] usb 2-2: new SuperSpeed Plus Gen 2x1 USB device number
2 using xhci_hcd
[ 5041.770595] usb 2-2: unable to get BOS descriptor or descriptor too short
[ 5041.770605] usb 2-2: unable to read config index 0 descriptor/start: -19
[ 5041.955592] usb 2-2: Device not responding to setup address.
[ 5042.162588] usb 2-2: Device not responding to setup address.
[ 5042.370246] usb 2-2: device not accepting address 3, error -71
[ 5042.373859] usb usb2-port2: attempt power cycle
[ 5043.691464] usb 2-2: new SuperSpeed USB device number 5 using xhci_hcd
[ 5043.887185] usb 2-2: LPM exit latency is zeroed, disabling LPM.
[ 5043.980556] usb 2-2: New USB device found, idVendor=2b89,
idProduct=5871, bcdDevice= 0.00
[ 5043.980561] usb 2-2: New USB device strings: Mfr=6, Product=7, SerialNumber=3
[ 5043.980563] usb 2-2: Product: UGREEN 35871
[ 5043.980564] usb 2-2: Manufacturer: UGREEN 35871
[ 5043.980564] usb 2-2: SerialNumber: PRODUCT
[ 5044.166844] hid-generic 0003:2B89:5871.0007: hiddev99,hidraw6: USB
HID v1.11 Device [UGREEN 35871 UGREEN 35871] on
usb-0000:0b:00.0-2/input4
[ 5044.188946] videodev: Linux video capture interface: v2.00
[ 5044.207601] uvcvideo 2-2:1.1: Unknown video format
30313050-0000-0010-8000-00aa00389b71
[ 5044.207606] uvcvideo 2-2:1.0: Found UVC 1.00 device UGREEN 35871 (2b89:5871)
[ 5044.242584] usbcore: registered new interface driver uvcvideo
/: Bus 002.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/5p, 20000M/x2
|__ Port 002: Dev 005, If 0, Class=Video, Driver=uvcvideo, 5000M
|__ Port 002: Dev 005, If 1, Class=Video, Driver=uvcvideo, 5000M
|__ Port 002: Dev 005, If 2, Class=Audio, Driver=snd-usb-audio, 5000M
|__ Port 002: Dev 005, If 3, Class=Audio, Driver=snd-usb-audio, 5000M
|__ Port 002: Dev 005, If 4, Class=Human Interface Device,
Driver=usbhid, 5000M
- with patch
[ 51.913978] usb 6-1: new SuperSpeed Plus Gen 2x1 USB device number
3 using xhci_hcd
[ 52.181717] usb 6-1: New USB device found, idVendor=2b89,
idProduct=5871, bcdDevice= 0.00
[ 52.181721] usb 6-1: New USB device strings: Mfr=6, Product=7, SerialNumber=3
[ 52.181724] usb 6-1: Product: UGREEN 35871
[ 52.181726] usb 6-1: Manufacturer: UGREEN 35871
[ 52.181728] usb 6-1: SerialNumber: PRODUCT
[ 52.284659] uvcvideo 6-1:1.1: Unknown video format
30313050-0000-0010-8000-00aa00389b71
[ 52.284666] uvcvideo 6-1:1.0: Found UVC 1.00 device UGREEN 35871 (2b89:5871)
[ 52.475086] hid-generic 0003:2B89:5871.000A: hiddev100,hidraw6: USB
HID v1.11 Device [UGREEN 35871 UGREEN 35871] on
usb-0000:0e:00.3-1/input4
/: Bus 006.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/4p, 10000M
|__ Port 001: Dev 003, If 0, Class=Video, Driver=uvcvideo, 10000M
|__ Port 001: Dev 003, If 1, Class=Video, Driver=uvcvideo, 10000M
|__ Port 001: Dev 003, If 2, Class=Audio, Driver=snd-usb-audio, 10000M
|__ Port 001: Dev 003, If 3, Class=Audio, Driver=snd-usb-audio, 10000M
|__ Port 001: Dev 003, If 4, Class=Human Interface Device,
Driver=usbhid, 10000M
If more debug tests are required, please let me know how to proceed.
--------------------------------
Regarding the Signed‑off‑by line, I would like to use my public
content‑creator alias rather than my personal identity. Could you
advise how to do this while remaining compliant with the DCO?
Thanks,
A1RM4X
On Wed, Feb 4, 2026 at 12:15 AM Greg KH <gregkh@linuxfoundation.org> wrote:
>
> On Tue, Feb 03, 2026 at 10:29:38PM -0500, A1RM4X wrote:
> > Add QUIRK_NO_BOS entries for:
> > * ASUS TUF 4K PRO (0x0b05:0x1ab9)
> > * Avermedia Live Gamer Ultra 2.1 (0x07ca:0x2553)
> > * UGREEN 35871 (0x2b89:0x5871)
>
> Why? What is the results without this option being used here? And what
> happens when userspace goes and asks for this descriptor?
>
> > Signed-off-by: A1RM4X <dev@a1rm4x.com>
>
> We need a real name, sorry.
>
> > ---
> > drivers/usb/core/quirks.c | 9 +++++++++
> > 1 file changed, 9 insertions(+)
> >
> > diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
> > index c4d85089d19b..ddce45ce9f6c 100644
> > --- a/drivers/usb/core/quirks.c
> > +++ b/drivers/usb/core/quirks.c
> > @@ -453,6 +453,15 @@ static const struct usb_device_id usb_quirk_list[] = {
> > /* Elgato 4K X - BOS descriptor fetch hangs at SuperSpeed Plus */
> > { USB_DEVICE(0x0fd9, 0x009b), .driver_info = USB_QUIRK_NO_BOS },
> >
> > + /* ASUS TUF 4K PRO - BOS descriptor fetch hangs at SuperSpeed Plus */
> > + { USB_DEVICE(0x0b05, 0x1ab9), .driver_info = USB_QUIRK_NO_BOS },
> > +
> > + /* Avermedia Live Gamer Ultra 2.1 (GC553G2) - BOS descriptor fetch hangs at SuperSpeed Plus */
> > + { USB_DEVICE(0x07ca, 0x2553), .driver_info = USB_QUIRK_NO_BOS },
> > +
> > + /* UGREEN 35871 - BOS descriptor fetch hangs at SuperSpeed Plus */
> > + { USB_DEVICE(0x2b89, 0x5871), .driver_info = USB_QUIRK_NO_BOS },
>
> Please read the comment for this structure for how to place these in the
> list.
>
> thanks,
>
> greg k-h
>
On Wed, Feb 04, 2026 at 09:25:18AM -0500, A1RM4X wrote: > Hi, > > Please find attached the new patch which fixes the structure of the commit. Attached patches do not work :( > Why? If the option is not being used, the speed limit will be limited > to 5000M, which limits the capture capabilities of the device (4K30fps > at 5000M versus the expected 4K60fps at 10000M). Why does the device slow down like this? Is it a bug in it? > What happens in userspace? > - without patch > [ 5036.674972] usb 2-2: new SuperSpeed Plus Gen 2x1 USB device number > 2 using xhci_hcd > [ 5041.770595] usb 2-2: unable to get BOS descriptor or descriptor too short > [ 5041.770605] usb 2-2: unable to read config index 0 descriptor/start: -19 > [ 5041.955592] usb 2-2: Device not responding to setup address. > [ 5042.162588] usb 2-2: Device not responding to setup address. > [ 5042.370246] usb 2-2: device not accepting address 3, error -71 > [ 5042.373859] usb usb2-port2: attempt power cycle > [ 5043.691464] usb 2-2: new SuperSpeed USB device number 5 using xhci_hcd > [ 5043.887185] usb 2-2: LPM exit latency is zeroed, disabling LPM. > [ 5043.980556] usb 2-2: New USB device found, idVendor=2b89, > idProduct=5871, bcdDevice= 0.00 > [ 5043.980561] usb 2-2: New USB device strings: Mfr=6, Product=7, SerialNumber=3 > [ 5043.980563] usb 2-2: Product: UGREEN 35871 > [ 5043.980564] usb 2-2: Manufacturer: UGREEN 35871 > [ 5043.980564] usb 2-2: SerialNumber: PRODUCT > [ 5044.166844] hid-generic 0003:2B89:5871.0007: hiddev99,hidraw6: USB > HID v1.11 Device [UGREEN 35871 UGREEN 35871] on > usb-0000:0b:00.0-2/input4 > [ 5044.188946] videodev: Linux video capture interface: v2.00 > [ 5044.207601] uvcvideo 2-2:1.1: Unknown video format > 30313050-0000-0010-8000-00aa00389b71 > [ 5044.207606] uvcvideo 2-2:1.0: Found UVC 1.00 device UGREEN 35871 (2b89:5871) > [ 5044.242584] usbcore: registered new interface driver uvcvideo > > /: Bus 002.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/5p, 20000M/x2 > |__ Port 002: Dev 005, If 0, Class=Video, Driver=uvcvideo, 5000M > |__ Port 002: Dev 005, If 1, Class=Video, Driver=uvcvideo, 5000M > |__ Port 002: Dev 005, If 2, Class=Audio, Driver=snd-usb-audio, 5000M > |__ Port 002: Dev 005, If 3, Class=Audio, Driver=snd-usb-audio, 5000M > |__ Port 002: Dev 005, If 4, Class=Human Interface Device, > Driver=usbhid, 5000M > > > - with patch > [ 51.913978] usb 6-1: new SuperSpeed Plus Gen 2x1 USB device number > 3 using xhci_hcd > [ 52.181717] usb 6-1: New USB device found, idVendor=2b89, > idProduct=5871, bcdDevice= 0.00 > [ 52.181721] usb 6-1: New USB device strings: Mfr=6, Product=7, SerialNumber=3 > [ 52.181724] usb 6-1: Product: UGREEN 35871 > [ 52.181726] usb 6-1: Manufacturer: UGREEN 35871 > [ 52.181728] usb 6-1: SerialNumber: PRODUCT > [ 52.284659] uvcvideo 6-1:1.1: Unknown video format > 30313050-0000-0010-8000-00aa00389b71 > [ 52.284666] uvcvideo 6-1:1.0: Found UVC 1.00 device UGREEN 35871 (2b89:5871) > [ 52.475086] hid-generic 0003:2B89:5871.000A: hiddev100,hidraw6: USB > HID v1.11 Device [UGREEN 35871 UGREEN 35871] on > usb-0000:0e:00.3-1/input4 > > /: Bus 006.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/4p, 10000M > |__ Port 001: Dev 003, If 0, Class=Video, Driver=uvcvideo, 10000M > |__ Port 001: Dev 003, If 1, Class=Video, Driver=uvcvideo, 10000M > |__ Port 001: Dev 003, If 2, Class=Audio, Driver=snd-usb-audio, 10000M > |__ Port 001: Dev 003, If 3, Class=Audio, Driver=snd-usb-audio, 10000M > |__ Port 001: Dev 003, If 4, Class=Human Interface Device, > Driver=usbhid, 10000M > > > If more debug tests are required, please let me know how to proceed. If you run `lsusb -v` you will read the BOS values, and then look at the kernel to see if it has issues after that. > -------------------------------- > > Regarding the Signed‑off‑by line, I would like to use my public > content‑creator alias rather than my personal identity. Could you > advise how to do this while remaining compliant with the DCO? Sorry, I can't do that as I do not know who this is. greg k-h
On Wed, Feb 04, 2026 at 09:25:18AM -0500, A1RM4X wrote: > Hi, > > Please find attached the new patch which fixes the structure of the commit. Also, you sent a patch on top of your previous patch which was not accepted, and so this wouldn't even apply to our trees at all :( Please always make a "clean" patch. thanks, greg k-h
I added a clean patch to this email. I own the devices mentioned in the patch. For all 3 devices, the USB port speed (10Gbps) is reached on Windows, they just negotiate 5Gbps speed on Linux. After applying the patch, as mentioned earlier, they reach the correct speed. I just did a 3 hours record on the Avermedia on Linux and it works as expected with a patched kernel. Here is an updated dmesg output after following your instructions on the current kernel master: [ 701.425991] usb 2-2: new SuperSpeed Plus Gen 2x1 USB device number 2 using xhci_hcd [ 706.735379] usb 2-2: unable to get BOS descriptor or descriptor too short [ 706.735390] usb 2-2: unable to read config index 0 descriptor/start: -19 [ 706.920395] usb 2-2: Device not responding to setup address. [ 707.127380] usb 2-2: Device not responding to setup address. [ 707.335050] usb 2-2: device not accepting address 3, error -71 [ 707.338647] usb usb2-port2: attempt power cycle [ 708.656278] usb 2-2: new SuperSpeed USB device number 5 using xhci_hcd [ 708.859889] usb 2-2: LPM exit latency is zeroed, disabling LPM. [ 708.955893] usb 2-2: New USB device found, idVendor=2b89, idProduct=5871, bcdDevice= 0.00 [ 708.955895] usb 2-2: New USB device strings: Mfr=6, Product=7, SerialNumber=3 [ 708.955896] usb 2-2: Product: UGREEN 35871 [ 708.955897] usb 2-2: Manufacturer: UGREEN 35871 [ 708.955897] usb 2-2: SerialNumber: PRODUCT [ 709.142354] hid-generic 0003:2B89:5871.0007: hiddev99,hidraw6: USB HID v1.11 Device [UGREEN 35871 UGREEN 35871] on usb-0000:0b:00.0-2/input4 [ 709.165518] videodev: Linux video capture interface: v2.00 [ 709.187290] uvcvideo 2-2:1.1: Unknown video format 30313050-0000-0010-8000-00aa00389b71 [ 709.187297] uvcvideo 2-2:1.0: Found UVC 1.00 device UGREEN 35871 (2b89:5871) [ 709.224374] usbcore: registered new interface driver uvcvideo Regarding the Signed‑off‑by line, if I can't sign it with my content creator name, please sign it yourself. Whether I put my name on this patch is not important, what is important is the kernel to function properly with those devices. Thanks again for helping, A1RM4X On Wed, Feb 4, 2026 at 9:38 AM Greg KH <gregkh@linuxfoundation.org> wrote: > > On Wed, Feb 04, 2026 at 09:25:18AM -0500, A1RM4X wrote: > > Hi, > > > > Please find attached the new patch which fixes the structure of the commit. > > Also, you sent a patch on top of your previous patch which was not > accepted, and so this wouldn't even apply to our trees at all :( > > Please always make a "clean" patch. > > thanks, > > greg k-h >
On Wed, Feb 04, 2026 at 02:51:35PM -0500, A1RM4X wrote: > I added a clean patch to this email. Thanks, but again, we can not take attached patches :( > I own the devices mentioned in the patch. For all 3 devices, the USB > port speed (10Gbps) is reached on Windows, they just negotiate 5Gbps > speed on Linux. After applying the patch, as mentioned earlier, they > reach the correct speed. I just did a 3 hours record on the Avermedia > on Linux and it works as expected with a patched kernel. Ok, it looks like there is a very broken USB controller chip out there in all of these devices. > Here is an updated dmesg output after following your instructions on > the current kernel master: > > [ 701.425991] usb 2-2: new SuperSpeed Plus Gen 2x1 USB device number > 2 using xhci_hcd > [ 706.735379] usb 2-2: unable to get BOS descriptor or descriptor too short > [ 706.735390] usb 2-2: unable to read config index 0 descriptor/start: -19 > [ 706.920395] usb 2-2: Device not responding to setup address. > [ 707.127380] usb 2-2: Device not responding to setup address. > [ 707.335050] usb 2-2: device not accepting address 3, error -71 > [ 707.338647] usb usb2-port2: attempt power cycle > [ 708.656278] usb 2-2: new SuperSpeed USB device number 5 using xhci_hcd > [ 708.859889] usb 2-2: LPM exit latency is zeroed, disabling LPM. > [ 708.955893] usb 2-2: New USB device found, idVendor=2b89, > idProduct=5871, bcdDevice= 0.00 > [ 708.955895] usb 2-2: New USB device strings: Mfr=6, Product=7, SerialNumber=3 > [ 708.955896] usb 2-2: Product: UGREEN 35871 > [ 708.955897] usb 2-2: Manufacturer: UGREEN 35871 > [ 708.955897] usb 2-2: SerialNumber: PRODUCT > [ 709.142354] hid-generic 0003:2B89:5871.0007: hiddev99,hidraw6: USB > HID v1.11 Device [UGREEN 35871 UGREEN 35871] on > usb-0000:0b:00.0-2/input4 > [ 709.165518] videodev: Linux video capture interface: v2.00 > [ 709.187290] uvcvideo 2-2:1.1: Unknown video format > 30313050-0000-0010-8000-00aa00389b71 > [ 709.187297] uvcvideo 2-2:1.0: Found UVC 1.00 device UGREEN 35871 (2b89:5871) > [ 709.224374] usbcore: registered new interface driver uvcvideo Sorry, I wasn't specific. What happens with your patch applied, and THEN you run 'lsusb -v' on the system? Does the devices reset then? > Regarding the Signed‑off‑by line, if I can't sign it with my content > creator name, please sign it yourself. Whether I put my name on this > patch is not important, what is important is the kernel to function > properly with those devices. For obvious reasons, we can't sign off on other people's patches. But we can rewrite them, I'll go do that later today, and give you reported-by credit. Note, for the future, if you wish to contribute kernel patches, please read the documentation section about how to write changelog text, as what you provided we couldn't take as-is. thanks, greg k-h
From: Steve Harms <sharms@snowfoundry.com> On Thu, Feb 05, 2026 at 07:51:17AM +0100, Greg KH wrote: > Ok, it looks like there is a very broken USB controller chip out there > in all of these devices. Hey Greg, I think this references the same issues as in https://lore.kernel.org/linux-usb/2025122837-creamlike-motivator-8dcb@gregkh/ There are a few of us who need 10G support for video capture with these devices. Thanks, Steve
On Thu, Feb 05, 2026 at 10:24:32AM -0700, sharms wrote: > From: Steve Harms <sharms@snowfoundry.com> > > On Thu, Feb 05, 2026 at 07:51:17AM +0100, Greg KH wrote: > > Ok, it looks like there is a very broken USB controller chip out there > > in all of these devices. > > Hey Greg, > > I think this references the same issues as in > https://lore.kernel.org/linux-usb/2025122837-creamlike-motivator-8dcb@gregkh/ Yes. > There are a few of us who need 10G support for video capture with > these devices. Understood, and I guess they are all using the same chip in the device? I have the one listed at the link above for testing, but it would be really good if someone could figure out why Windows doesn't have this problem and only Linux does... thanks, greg k-h
© 2016 - 2026 Red Hat, Inc.