Public bug reported:
== System ==
Ubuntu 24.04 LTS (Noble)
Affected kernel: 6.8.0-100-generic
Working kernels: 6.8.0-94-generic, 6.8.0-90-generic
== Device ==
ZWO EFF (Electronic Filter Focuser)
USB ID: 03c3:1f10
Connected via Digi AnywhereUSB (vhci_hcd)
Single HID interface, vendor-defined usage page 0xFF00
== Symptom ==
On 6.8.0-100, usbhid fails to probe the device every time:
usbhid 5-1:1.0: can't add hid device: -22
usbhid: probe of 5-1:1.0 failed with error -22
No /dev/hidraw is created. Device is completely inaccessible.
On 6.8.0-94, hid-generic probes successfully:
hid-generic 0003:03C3:1F10.0001: hiddev0,hidraw0: USB HID v1.01 Device [ZW0
ZWO EFF]
== Evidence ==
HID descriptor bytes are identical between kernels (verified via
/sys/bus/usb/devices/5-1/descriptors and usbhid-dump). The descriptor
is well-formed. The regression is in usbhid/hid-core, not the device
or transport layer.
== Root Cause ==
The change to __hid_request() in drivers/hid/hid-core.c visible in
the diff linux_6.8.0-94.96_6.8.0-100.100.diff.gz:
- ret = hid->ll_driver->raw_request(hid, report->id, buf, len, ...);
+ ret = hid_hw_raw_request(hid, report->id, buf, len, ...);
Combined with new null report ID buffer offset logic:
if (report->id == 0) {
data_buf++;
len++;
}
This causes double-handling of the report ID byte, resulting in an
invalid length passed to raw_request, which returns -EINVAL during probe.
== Workaround ==
Boot into 6.8.0-90-generic or 6.8.0-94-generic.
HID_QUIRK_NO_INIT_REPORTS (0x0080) does not resolve the issue.
** Affects: linux (Ubuntu)
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2142178
Title:
usbhid: probe fails with -22 (EINVAL) for HID devices over vhci_hcd on
6.8.0-100, regression from 6.8.0-94
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2142178/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs