Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 12 Dec 2020 22:30:21 +0000
From:      bugzilla-noreply@freebsd.org
To:        usb@FreeBSD.org
Subject:   [Bug 251784] USB_DO_REQUEST ERR#5 'Input/output error' for 0x0b05:0x18f3 ASUS AURA LED Controller
Message-ID:  <bug-251784-19105-vEpW3ZKxEL@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-251784-19105@https.bugs.freebsd.org/bugzilla/>
References:  <bug-251784-19105@https.bugs.freebsd.org/bugzilla/>

index | next in thread | previous in thread | raw e-mail

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=251784

--- Comment #7 from Greg V <greg@unrelenting.technology> ---
So, turns out libusb does its own descriptor parsing, I can fix this in libusb:

--- i/lib/libusb/libusb20_desc.c
+++ w/lib/libusb/libusb20_desc.c
@@ -208,10 +208,9 @@ libusb20_parse_config_desc(const void *config_desc)
                        }
                        /*
                         * Sometimes USB devices have corrupt interface
-                        * descriptors and we need to overwrite the provided
-                        * interface number!
+                        * descriptors. Do not overwrite the provided
+                        * interface number though!
                         */
-                       last_if->desc.bInterfaceNumber = niface - 1;
                        last_if->extra.ptr = LIBUSB20_ADD_BYTES(ptr, ptr[0]);
                        last_if->extra.len = 0;
                        last_if->extra.type = LIBUSB20_ME_IS_RAW;

…aaand huh. This changes the number in usbconfig dump_all_desc too.
TIL usbconfig uses libusb :)

Now, this shouldn't fix it for uhid/hidraw usage (and I'd like to eventually
get hidapi-hidraw working maybe) I guess?

But I can't find 'bInterfaceNumber =' in kernel code at all. Who assigns that?

-- 
You are receiving this mail because:
You are the assignee for the bug.

help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-251784-19105-vEpW3ZKxEL>