|Summary:||Huion tablet not recognized from kernel 5.3.1|
|Component:||USB||Assignee:||Default virtual assignee for Drivers/USB (drivers_usb)|
|Severity:||normal||CC:||andryandrew, florianmey, gdevenyi, hawk.it, henning, kernel.org, leho, miren_radia, msdeleonpeque, passini.valerio|
|Kernel Version:||from 5.3.1 to 5.6-rc6||Tree:||Mainline|
Description Hector 2020-03-20 21:54:47 UTC
Hi Kernel Experts! My Huion 1060plus tablet is not recognized from kernel version 5.3.1 dmesg output is: [ 4168.587592] usb 1-1.1: new full-speed USB device number 13 using xhci_hcd [ 4168.990456] usb 1-1.1: New USB device found, idVendor=256c, idProduct=006e, bcdDevice=30.00 [ 4168.990461] usb 1-1.1: New USB device strings: Mfr=5, Product=6, SerialNumber=0 [ 4168.990463] usb 1-1.1: Product: PenTablet [ 4169.003082] usb 1-1.1: can't set config #1, error -32 Previous working versions have this output: [ 62.724538] usb 2-3.1: new full-speed USB device number 3 using xhci_hcd [ 62.851463] usb 2-3.1: New USB device found, idVendor=256c, idProduct=006e, bcdDevice=30.00 [ 62.851470] usb 2-3.1: New USB device strings: Mfr=5, Product=6, SerialNumber=0 [ 62.851475] usb 2-3.1: Product: PenTablet [ 62.909757] hidraw: raw HID events driver (C) Jiri Kosina [ 62.929599] usbcore: registered new interface driver usbhid [ 62.929601] usbhid: USB HID core driver [ 62.939433] input: PenTablet as /devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.1/2-3.1:1.0/0003:256C:006E.0001/input/input15 [ 62.939691] input: PenTablet Mouse as /devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.1/2-3.1:1.0/0003:256C:006E.0001/input/input16 [ 62.939804] hid-generic 0003:256C:006E.0001: input,hidraw0: USB HID v1.11 Mouse [PenTablet ] on usb-0000:00:14.0-3.1/input0 [ 62.943515] input: PenTablet Mouse as /devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.1/2-3.1:1.1/0003:256C:006E.0002/input/input17 [ 62.943646] input: PenTablet as /devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.1/2-3.1:1.1/0003:256C:006E.0002/input/input18 [ 62.943805] hid-generic 0003:256C:006E.0002: input,hiddev0,hidraw1: USB HID v1.11 Mouse [PenTablet ] on usb-0000:00:14.0-3.1/input1 [ 62.944370] input: PenTablet Keyboard as /devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.1/2-3.1:1.2/0003:256C:006E.0003/input/input19 [ 62.951136] usb 2-3.4: new high-speed USB device number 4 using xhci_hcd [ 62.997966] input: PenTablet Consumer Control as /devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.1/2-3.1:1.2/0003:256C:006E.0003/input/input20 [ 62.998070] input: PenTablet System Control as /devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.1/2-3.1:1.2/0003:256C:006E.0003/input/input21 [ 62.998161] hid-generic 0003:256C:006E.0003: input,hidraw2: USB HID v1.0b Keyboard [PenTablet ] on usb-0000:00:14.0-3.1/input2 Looking further down, the commit that creates the problem is (thanks to https://bbs.archlinux.org/viewtopic.php?pid=1878478#p1878478): commit ef513be0a9057cc6baf5d29566aaaefa214ba344 Author: Jim Lin <email@example.com> Date: Mon Jun 3 18:53:44 2019 +0800 usb: xhci: Add Clear_TT_Buffer USB 2.0 specification chapter 11.17.5 says "as part of endpoint halt processing for full-/low-speed endpoints connected via a TT, the host software must use the Clear_TT_Buffer request to the TT to ensure that the buffer is not in the busy state". In our case, a full-speed speaker (ConferenceCam) is behind a high- speed hub (ConferenceCam Connect), sometimes once we get STALL on a request we may continue to get STALL with the folllowing requests, like Set_Interface. Here we invoke usb_hub_clear_tt_buffer() to send Clear_TT_Buffer request to the hub of the device for the following Set_Interface requests to the device to get ACK successfully. Signed-off-by: Jim Lin <firstname.lastname@example.org> Acked-by: Mathias Nyman <email@example.com> Signed-off-by: Greg Kroah-Hartman <firstname.lastname@example.org> drivers/usb/host/xhci-ring.c | 27 ++++++++++++++++++++++++++- drivers/usb/host/xhci.c | 21 +++++++++++++++++++++ drivers/usb/host/xhci.h | 5 +++++ 3 files changed, 52 insertions(+), 1 deletion(-) Thanks for your help!
Comment 1 Valerio Passini 2020-03-23 05:31:07 UTC
*** Bug 206921 has been marked as a duplicate of this bug. ***
Comment 2 Jan Jurzitza 2020-03-29 16:05:22 UTC
this is a regression, ef513be0a9057cc6baf5d29566aaaefa214ba344 is the first bad commit
Comment 3 Andrea Olivo 2020-04-06 17:52:04 UTC
I recently bought the tablet. If there's testing to be done, I am willing to help with it
Comment 4 Vincenzo Di Massa 2020-04-08 10:05:45 UTC
Hello, please have look at bug 206897, they look related. Bug 206897, comment 21 asks to provide logs with the following procedure... maybe we can anticipate it here for our device. Let's see who gets the job done faster :-) ### Detailed log generation procedure from Bug 206897, comment 21 > Also traces and logs with more usb details enabled could be useful. > These can be taken with any recent kernel. > mount -t debugfs none /sys/kernel/debug > echo 'module xhci_hcd =p' >/sys/kernel/debug/dynamic_debug/control > echo 'module usbcore =p' >/sys/kernel/debug/dynamic_debug/control > echo 81920 > /sys/kernel/debug/tracing/buffer_size_kb > echo 1 > /sys/kernel/debug/tracing/events/xhci-hcd/enable > < connect the logitec device > > Send output of dmesg > Send content of /sys/kernel/debug/tracing/trace
Comment 5 Henning Eiden 2020-04-08 13:15:31 UTC
(In reply to Vincenzo Di Massa from comment #4) Hello, I am facing the same issue. Trace and dmesg uploaded. Cheers, Henning
Comment 8 Vincenzo Di Massa 2020-04-10 18:00:23 UTC
bug 207065, comment 7 contains two patches to fix the problem.
Comment 9 Henning Eiden 2020-04-10 18:19:39 UTC
Comment 10 Valerio Passini 2020-04-11 10:56:21 UTC
(In reply to Vincenzo Di Massa from comment #8) > bug 207065, comment 7 contains two patches to fix the problem. Hi, I tried your patches and I can confirm that the graphical tablet is now recognized and the pen works; I've not tested all the features, but I think that you have probably hit the right spot.