* [regression] 1a8953f4f774 ("HID: Add IGNORE quirk for SMARTLINKTECHNOLOGY") causes issue with ID 4c4a:4155 Jieli Technology USB Composite Device
@ 2025-09-07 15:10 Salvatore Bonaccorso
2025-09-08 4:10 ` Terry Junge
2025-09-12 12:49 ` zhangheng
0 siblings, 2 replies; 15+ messages in thread
From: Salvatore Bonaccorso @ 2025-09-07 15:10 UTC (permalink / raw)
To: Zhang Heng, Jiri Kosina, Staffan Melin
Cc: Benjamin Tissoires, linux-input, linux-kernel, regressions,
stable, 1114557
Hi Zhang, hi Jiri,
In Debian Staffan Melin reported that after an update containing the
commit 1a8953f4f774 ("HID: Add IGNORE quirk for SMARTLINKTECHNOLOGY"),
the input device with same idVendor and idProduct, the Jieli
Technology USB Composite Device, does not get recognized anymore.
The full Debian report is at: https://bugs.debian.org/1114557
The issue is not specific to the 6.12.y series and confirmed in 6.16.3
as well.
Staffan Melin did bisect the kernels between 6.12.38 (which was still
working) and 6.1.41 (which was not), confirming by bisection that the
offending commit is
1a8953f4f774 ("HID: Add IGNORE quirk for SMARTLINKTECHNOLOGY")
#regzbot introduced: 1a8953f4f774
#regzbot monitor: https://bugs.debian.org/1114557
So it looks that the quirk applied is unfortunately affecting
negatively as well Staffan Melin case.
Can you have a look?
Regards,
Salvatore
^ permalink raw reply [flat|nested] 15+ messages in thread* Re: [regression] 1a8953f4f774 ("HID: Add IGNORE quirk for SMARTLINKTECHNOLOGY") causes issue with ID 4c4a:4155 Jieli Technology USB Composite Device 2025-09-07 15:10 [regression] 1a8953f4f774 ("HID: Add IGNORE quirk for SMARTLINKTECHNOLOGY") causes issue with ID 4c4a:4155 Jieli Technology USB Composite Device Salvatore Bonaccorso @ 2025-09-08 4:10 ` Terry Junge 2025-09-08 9:00 ` Staffan Melin 2025-09-12 12:49 ` zhangheng 1 sibling, 1 reply; 15+ messages in thread From: Terry Junge @ 2025-09-08 4:10 UTC (permalink / raw) To: Salvatore Bonaccorso, Zhang Heng, Jiri Kosina, Staffan Melin Cc: Benjamin Tissoires, linux-input, linux-kernel, regressions, stable, 1114557 On 9/7/25 8:10 AM, Salvatore Bonaccorso wrote: > Hi Zhang, hi Jiri, > > In Debian Staffan Melin reported that after an update containing the > commit 1a8953f4f774 ("HID: Add IGNORE quirk for SMARTLINKTECHNOLOGY"), > the input device with same idVendor and idProduct, the Jieli > Technology USB Composite Device, does not get recognized anymore. > > The full Debian report is at: https://bugs.debian.org/1114557 > The root of the issue here is that two devices have bootlegged the same VID:PID. 0x4c4a is not a valid VID that has been assigned according to the latest list from USBIF (vendor_ids072325_1.pdf) so conflicts like this could surface at any time. [ 10.188336] usb 3-3: device descriptor read/64, error -71 [ 10.439533] usb 3-3: config 1 interface 0 altsetting 0 has 2 endpoint descriptors, different from the interface descriptor's value: 1 [ 10.451534] usb 3-3: New USB device found, idVendor=4c4a, idProduct=4155, bcdDevice= 1.00 [ 10.451540] usb 3-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 10.451543] usb 3-3: Product: USB Composite Device [ 10.451545] usb 3-3: Manufacturer: Jieli Technology [ 10.451546] usb 3-3: SerialNumber: FFFFFFFFFFFFFFFF Can anyone supply the Jieli descriptors, including the Report Descriptor? It clearly has problems but not bad enough to fail enumeration. The commit 1a8953f4f774 should be reverted and SMARTLINKTECHNOLOGY should either bootleg a different PID, get a valid VID, or fix their device so a quirk is never required. Thanks, Terry > The issue is not specific to the 6.12.y series and confirmed in 6.16.3 > as well. > > Staffan Melin did bisect the kernels between 6.12.38 (which was still > working) and 6.1.41 (which was not), confirming by bisection that the > offending commit is > > 1a8953f4f774 ("HID: Add IGNORE quirk for SMARTLINKTECHNOLOGY") > > #regzbot introduced: 1a8953f4f774 > #regzbot monitor: https://bugs.debian.org/1114557 > > So it looks that the quirk applied is unfortunately affecting > negatively as well Staffan Melin case. > > Can you have a look? > > Regards, > Salvatore > ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [regression] 1a8953f4f774 ("HID: Add IGNORE quirk for SMARTLINKTECHNOLOGY") causes issue with ID 4c4a:4155 Jieli Technology USB Composite Device 2025-09-08 4:10 ` Terry Junge @ 2025-09-08 9:00 ` Staffan Melin 0 siblings, 0 replies; 15+ messages in thread From: Staffan Melin @ 2025-09-08 9:00 UTC (permalink / raw) To: Terry Junge Cc: Salvatore Bonaccorso, Zhang Heng, Jiri Kosina, Benjamin Tissoires, linux-input, linux-kernel, regressions, stable, 1114557 Hi Terry, I am the one with the Jieli touchscreen. On 2025-09-08 06:10, Terry Junge wrote: > > The root of the issue here is that two devices have bootlegged the same > VID:PID. > > 0x4c4a is not a valid VID that has been assigned according to the > latest list from USBIF (vendor_ids072325_1.pdf) so conflicts like this > could surface at any time. > > [ 10.188336] usb 3-3: device descriptor read/64, error -71 > [ 10.439533] usb 3-3: config 1 interface 0 altsetting 0 has 2 > endpoint descriptors, different from the interface descriptor's value: > 1 > [ 10.451534] usb 3-3: New USB device found, idVendor=4c4a, > idProduct=4155, bcdDevice= 1.00 > [ 10.451540] usb 3-3: New USB device strings: Mfr=1, Product=2, > SerialNumber=3 > [ 10.451543] usb 3-3: Product: USB Composite Device > [ 10.451545] usb 3-3: Manufacturer: Jieli Technology > [ 10.451546] usb 3-3: SerialNumber: FFFFFFFFFFFFFFFF > > Can anyone supply the Jieli descriptors, including the Report > Descriptor? It clearly has problems but not bad enough to fail > enumeration. > > The commit 1a8953f4f774 should be reverted and SMARTLINKTECHNOLOGY > should either bootleg a different PID, get a valid VID, or fix their > device so a quirk is never required. > > Thanks, > Terry In /sys/bus/hid/devices/0003:4C4A:4155.0003 i have the report_descriptor file: 00000000 05 0d 09 04 a1 01 85 aa 09 22 a1 00 09 42 15 00 |........."...B..| 00000010 25 01 75 01 95 01 81 02 75 03 81 03 09 51 75 04 |%.u.....u....Qu.| 00000020 25 0a 81 02 75 08 95 01 81 03 05 01 75 10 55 00 |%...u.......u.U.| 00000030 65 00 09 30 35 00 26 00 10 46 00 10 81 02 09 31 |e..05.&..F.....1| 00000040 26 00 10 46 00 10 81 02 c0 a1 00 05 0d 09 42 15 |&..F..........B.| 00000050 00 25 01 75 01 95 01 81 02 75 03 81 03 09 51 75 |.%.u.....u....Qu| 00000060 04 25 0a 81 02 75 08 95 01 81 03 05 01 75 10 55 |.%...u.......u.U| 00000070 00 65 00 09 30 35 00 26 00 10 46 00 10 81 02 09 |.e..05.&..F.....| 00000080 31 26 00 10 46 00 10 81 02 c0 a1 00 05 0d 09 42 |1&..F..........B| 00000090 15 00 25 01 75 01 95 01 81 02 75 03 81 03 09 51 |..%.u.....u....Q| 000000a0 75 04 25 0a 81 02 75 08 95 01 81 03 05 01 75 10 |u.%...u.......u.| 000000b0 55 00 65 00 09 30 35 00 26 00 10 46 00 10 81 02 |U.e..05.&..F....| 000000c0 09 31 26 00 10 46 00 10 81 02 c0 a1 00 05 0d 09 |.1&..F..........| 000000d0 42 15 00 25 01 75 01 95 01 81 02 75 03 81 03 09 |B..%.u.....u....| 000000e0 51 75 04 25 0a 81 02 75 08 95 01 81 03 05 01 75 |Qu.%...u.......u| 000000f0 10 55 00 65 00 09 30 35 00 26 00 10 46 00 10 81 |.U.e..05.&..F...| 00000100 02 09 31 26 00 10 46 00 10 81 02 c0 a1 00 05 0d |..1&..F.........| 00000110 09 42 15 00 25 01 75 01 95 01 81 02 75 03 81 03 |.B..%.u.....u...| 00000120 09 51 75 04 25 0a 81 02 75 08 95 01 81 03 05 01 |.Qu.%...u.......| 00000130 75 10 55 00 65 00 09 30 35 00 26 00 10 46 00 10 |u.U.e..05.&..F..| 00000140 81 02 09 31 26 00 10 46 00 10 81 02 c0 05 0d 09 |...1&..F........| 00000150 54 95 01 75 08 15 00 25 0a 81 02 09 55 b1 02 95 |T..u...%....U...| 00000160 3e b1 03 c0 05 0d 09 02 a1 01 85 cc 09 20 a1 00 |>............ ..| 00000170 09 42 09 44 09 3c 09 45 15 00 25 01 75 01 95 04 |.B.D.<.E..%.u...| 00000180 81 02 95 01 09 32 81 02 95 03 81 03 05 01 09 30 |.....2.........0| 00000190 75 10 95 01 a4 55 0d 65 13 35 00 26 00 10 46 00 |u....U.e.5.&..F.| 000001a0 10 81 02 09 31 26 00 10 46 00 10 81 02 b4 05 0d |....1&..F.......| 000001b0 09 30 26 ff 00 81 02 75 08 09 3d 15 81 25 7f 81 |.0&....u..=..%..| 000001c0 02 09 3e 15 81 25 7f 81 02 c0 c0 05 01 09 02 a1 |..>..%..........| 000001d0 01 85 58 09 01 a1 00 05 09 19 01 29 02 15 00 25 |..X........)...%| 000001e0 01 75 01 95 02 81 02 95 06 81 03 05 01 09 30 15 |.u............0.| 000001f0 00 26 00 10 09 31 26 00 10 75 10 95 02 55 0e 65 |.&...1&..u...U.e| 00000200 11 35 00 46 00 10 81 02 09 38 15 81 25 7f 75 08 |.5.F.....8..%.u.| 00000210 95 01 81 06 c0 c0 |......| And here is the output from lsusb -c: Bus 003 Device 003: ID 4c4a:4155 Jieli Technology USB Composite Device Couldn't open device, some information will be missing Negotiated speed: Full Speed (12Mbps) Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 0 [unknown] bDeviceSubClass 0 [unknown] bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x4c4a Jieli Technology idProduct 0x4155 USB Composite Device bcdDevice 1.00 iManufacturer 1 Jieli Technology iProduct 2 USB Composite Device iSerial 3 FFFFFFFFFFFFFFFF bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 0x0029 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xa0 (Bus Powered) Remote Wakeup MaxPower 100mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 Human Interface Device bInterfaceSubClass 0 [unknown] bInterfaceProtocol 0 iInterface 0 HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.10 bCountryCode 33 Unknown bNumDescriptors 1 bDescriptorType 34 (null) wDescriptorLength 534 Report Descriptors: ** UNAVAILABLE ** Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0020 1x 32 bytes bInterval 1 Best regards, Staffan > >> The issue is not specific to the 6.12.y series and confirmed in 6.16.3 >> as well. >> >> Staffan Melin did bisect the kernels between 6.12.38 (which was still >> working) and 6.1.41 (which was not), confirming by bisection that the >> offending commit is >> >> 1a8953f4f774 ("HID: Add IGNORE quirk for SMARTLINKTECHNOLOGY") >> >> #regzbot introduced: 1a8953f4f774 >> #regzbot monitor: https://bugs.debian.org/1114557 >> >> So it looks that the quirk applied is unfortunately affecting >> negatively as well Staffan Melin case. >> >> Can you have a look? >> >> Regards, >> Salvatore >> ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [regression] 1a8953f4f774 ("HID: Add IGNORE quirk for SMARTLINKTECHNOLOGY") causes issue with ID 4c4a:4155 Jieli Technology USB Composite Device 2025-09-07 15:10 [regression] 1a8953f4f774 ("HID: Add IGNORE quirk for SMARTLINKTECHNOLOGY") causes issue with ID 4c4a:4155 Jieli Technology USB Composite Device Salvatore Bonaccorso 2025-09-08 4:10 ` Terry Junge @ 2025-09-12 12:49 ` zhangheng 2025-09-12 19:57 ` Staffan Melin 1 sibling, 1 reply; 15+ messages in thread From: zhangheng @ 2025-09-12 12:49 UTC (permalink / raw) To: Salvatore Bonaccorso, Jiri Kosina, Staffan Melin Cc: Benjamin Tissoires, linux-input, linux-kernel, regressions, stable, 1114557 [-- Attachment #1: Type: text/plain, Size: 1238 bytes --] I am currently working on resolving this issue by limiting the original patch based on the information in the device descriptor to avoid affecting your device, You can try this patch and look forward to your reply. 在 2025/9/7 23:10, Salvatore Bonaccorso 写道: > Hi Zhang, hi Jiri, > > In Debian Staffan Melin reported that after an update containing the > commit 1a8953f4f774 ("HID: Add IGNORE quirk for SMARTLINKTECHNOLOGY"), > the input device with same idVendor and idProduct, the Jieli > Technology USB Composite Device, does not get recognized anymore. > > The full Debian report is at: https://bugs.debian.org/1114557 > > The issue is not specific to the 6.12.y series and confirmed in 6.16.3 > as well. > > Staffan Melin did bisect the kernels between 6.12.38 (which was still > working) and 6.1.41 (which was not), confirming by bisection that the > offending commit is > > 1a8953f4f774 ("HID: Add IGNORE quirk for SMARTLINKTECHNOLOGY") > > #regzbot introduced: 1a8953f4f774 > #regzbot monitor: https://bugs.debian.org/1114557 > > So it looks that the quirk applied is unfortunately affecting > negatively as well Staffan Melin case. > > Can you have a look? > > Regards, > Salvatore [-- Attachment #2: 0001-HID-quirks-Add-device-descriptor-for-4c4a-4155.patch --] [-- Type: text/plain, Size: 2175 bytes --] From 9fb4fd3873e5693647e517c7960383c4523cd093 Mon Sep 17 00:00:00 2001 From: Zhang Heng <zhangheng@kylinos.cn> Date: Fri, 12 Sep 2025 20:38:18 +0800 Subject: [PATCH] HID: quirks: Add device descriptor for 4c4a:4155 Two USB devices use the same ID. To avoid affecting functionality, device descriptors are added to distinguish between them Signed-off-by: Zhang Heng <zhangheng@kylinos.cn> --- drivers/hid/hid-quirks.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/drivers/hid/hid-quirks.c b/drivers/hid/hid-quirks.c index ffd034566e2e..d39a8e53ea36 100644 --- a/drivers/hid/hid-quirks.c +++ b/drivers/hid/hid-quirks.c @@ -913,6 +913,17 @@ static const struct hid_device_id hid_ignore_list[] = { #endif { HID_USB_DEVICE(USB_VENDOR_ID_YEALINK, USB_DEVICE_ID_YEALINK_P1K_P4K_B2K) }, { HID_USB_DEVICE(USB_VENDOR_ID_QUANTA, USB_DEVICE_ID_QUANTA_HP_5MP_CAMERA_5473) }, + { } +}; +/* + * hid_ignore_mic - Microphone devices do not require HID core processing + * + * Now there are two USB devices using the same ID, one is the microphone and the other + * is the touch screen. The touch screen requires hid core processing, but the + * microphone does not. The two have different bcdIDs, which will be used to + * distinguish them in the future + */ +static const struct hid_device_id hid_ignore_mic[] = { { HID_USB_DEVICE(USB_VENDOR_ID_SMARTLINKTECHNOLOGY, USB_DEVICE_ID_SMARTLINKTECHNOLOGY_4155) }, { } }; @@ -1068,6 +1079,9 @@ bool hid_ignore(struct hid_device *hdev) hdev->quirks & HID_QUIRK_IGNORE_MOUSE) return true; + if(hid_match_id(hdev, hid_ignore_mic) && (hdev->version > 1.1)) + return true; + return !!hid_match_id(hdev, hid_ignore_list); } EXPORT_SYMBOL_GPL(hid_ignore); @@ -1266,7 +1280,8 @@ static unsigned long hid_gets_squirk(const struct hid_device *hdev) const struct hid_device_id *bl_entry; unsigned long quirks = hdev->initial_quirks; - if (hid_match_id(hdev, hid_ignore_list)) + if (hid_match_id(hdev, hid_ignore_list) || + (hid_match_id(hdev, hid_ignore_mic) && (hdev->version > 1.1))) quirks |= HID_QUIRK_IGNORE; if (hid_match_id(hdev, hid_mouse_ignore_list)) -- 2.47.1 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [regression] 1a8953f4f774 ("HID: Add IGNORE quirk for SMARTLINKTECHNOLOGY") causes issue with ID 4c4a:4155 Jieli Technology USB Composite Device 2025-09-12 12:49 ` zhangheng @ 2025-09-12 19:57 ` Staffan Melin 2025-09-13 8:53 ` Salvatore Bonaccorso 0 siblings, 1 reply; 15+ messages in thread From: Staffan Melin @ 2025-09-12 19:57 UTC (permalink / raw) To: zhangheng Cc: Salvatore Bonaccorso, Jiri Kosina, Benjamin Tissoires, linux-input, linux-kernel, regressions, stable, 1114557 Thank you, I tried to apply this patch to 6.12.39, the first problematic kernel, as well as 6.12.41, the first bad I tried, and on both I got an error message: Applying: HID: quirks: Add device descriptor for 4c4a:4155 error: patch failed: drivers/hid/hid-quirks.c:1068 error: drivers/hid/hid-quirks.c: patch does not apply Patch failed at 0001 HID: quirks: Add device descriptor for 4c4a:4155 To which kernel version should I apply the patch? I used the command git am < <file> Best regards, Staffan On 2025-09-12 14:49, zhangheng wrote: > I am currently working on resolving this issue by limiting the original > patch > > based on the information in the device descriptor to avoid affecting > your device, > > You can try this patch and look forward to your reply. > > > 在 2025/9/7 23:10, Salvatore Bonaccorso 写道: >> Hi Zhang, hi Jiri, >> >> In Debian Staffan Melin reported that after an update containing the >> commit 1a8953f4f774 ("HID: Add IGNORE quirk for SMARTLINKTECHNOLOGY"), >> the input device with same idVendor and idProduct, the Jieli >> Technology USB Composite Device, does not get recognized anymore. >> >> The full Debian report is at: https://bugs.debian.org/1114557 >> >> The issue is not specific to the 6.12.y series and confirmed in 6.16.3 >> as well. >> >> Staffan Melin did bisect the kernels between 6.12.38 (which was still >> working) and 6.1.41 (which was not), confirming by bisection that the >> offending commit is >> >> 1a8953f4f774 ("HID: Add IGNORE quirk for SMARTLINKTECHNOLOGY") >> >> #regzbot introduced: 1a8953f4f774 >> #regzbot monitor: https://bugs.debian.org/1114557 >> >> So it looks that the quirk applied is unfortunately affecting >> negatively as well Staffan Melin case. >> >> Can you have a look? >> >> Regards, >> Salvatore ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [regression] 1a8953f4f774 ("HID: Add IGNORE quirk for SMARTLINKTECHNOLOGY") causes issue with ID 4c4a:4155 Jieli Technology USB Composite Device 2025-09-12 19:57 ` Staffan Melin @ 2025-09-13 8:53 ` Salvatore Bonaccorso 2025-09-13 8:55 ` Salvatore Bonaccorso 0 siblings, 1 reply; 15+ messages in thread From: Salvatore Bonaccorso @ 2025-09-13 8:53 UTC (permalink / raw) To: Staffan Melin Cc: zhangheng, Jiri Kosina, Benjamin Tissoires, linux-input, linux-kernel, regressions, stable, 1114557 Hi Staffan, chiming in hopefully it is of help. On Fri, Sep 12, 2025 at 09:57:04PM +0200, Staffan Melin wrote: > Thank you, > > I tried to apply this patch to 6.12.39, the first problematic kernel, as > well as 6.12.41, the first bad I tried, and on both I got an error message: > > Applying: HID: quirks: Add device descriptor for 4c4a:4155 > error: patch failed: drivers/hid/hid-quirks.c:1068 > error: drivers/hid/hid-quirks.c: patch does not apply > Patch failed at 0001 HID: quirks: Add device descriptor for 4c4a:4155 > > To which kernel version should I apply the patch? As the deveopment goes from mainline then down to stable series, the fix needs to be developed first for mainline. So the patch is targeted there. But please find attached an updated patch which hopefully should work which resolved the context changes. But ideally you can provide a Tested-by on zhangheng's mainline patch to get things rolling as needed. Regards, Salvatore ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [regression] 1a8953f4f774 ("HID: Add IGNORE quirk for SMARTLINKTECHNOLOGY") causes issue with ID 4c4a:4155 Jieli Technology USB Composite Device 2025-09-13 8:53 ` Salvatore Bonaccorso @ 2025-09-13 8:55 ` Salvatore Bonaccorso 2025-09-13 13:11 ` Staffan Melin 0 siblings, 1 reply; 15+ messages in thread From: Salvatore Bonaccorso @ 2025-09-13 8:55 UTC (permalink / raw) To: Staffan Melin Cc: zhangheng, Jiri Kosina, Benjamin Tissoires, linux-input, linux-kernel, regressions, stable, 1114557 [-- Attachment #1: Type: text/plain, Size: 1010 bytes --] Hi Staffan, chiming in hopefully it is of help. Now really with the patch ... On Fri, Sep 12, 2025 at 09:57:04PM +0200, Staffan Melin wrote: > Thank you, > > I tried to apply this patch to 6.12.39, the first problematic kernel, as > well as 6.12.41, the first bad I tried, and on both I got an error message: > > Applying: HID: quirks: Add device descriptor for 4c4a:4155 > error: patch failed: drivers/hid/hid-quirks.c:1068 > error: drivers/hid/hid-quirks.c: patch does not apply > Patch failed at 0001 HID: quirks: Add device descriptor for 4c4a:4155 > > To which kernel version should I apply the patch? As the deveopment goes from mainline then down to stable series, the fix needs to be developed first for mainline. So the patch is targeted there. But please find attached an updated patch which hopefully should work which resolved the context changes on top of 6.12.47. But ideally you can provide a Tested-by on zhangheng's mainline patch to get things rolling as needed. Regards, Salvatore [-- Attachment #2: 0001-HID-quirks-Add-device-descriptor-for-4c4a-4155.patch --] [-- Type: text/x-diff, Size: 2181 bytes --] From 16b03e802a858ebf3eafcfdb22e3025e1a840afd Mon Sep 17 00:00:00 2001 From: Zhang Heng <zhangheng@kylinos.cn> Date: Fri, 12 Sep 2025 20:38:18 +0800 Subject: [PATCH] HID: quirks: Add device descriptor for 4c4a:4155 Two USB devices use the same ID. To avoid affecting functionality, device descriptors are added to distinguish between them Signed-off-by: Zhang Heng <zhangheng@kylinos.cn> --- drivers/hid/hid-quirks.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/drivers/hid/hid-quirks.c b/drivers/hid/hid-quirks.c index 64f9728018b8..cbb658c2c60d 100644 --- a/drivers/hid/hid-quirks.c +++ b/drivers/hid/hid-quirks.c @@ -898,6 +898,17 @@ static const struct hid_device_id hid_ignore_list[] = { #endif { HID_USB_DEVICE(USB_VENDOR_ID_YEALINK, USB_DEVICE_ID_YEALINK_P1K_P4K_B2K) }, { HID_USB_DEVICE(USB_VENDOR_ID_QUANTA, USB_DEVICE_ID_QUANTA_HP_5MP_CAMERA_5473) }, + { } +}; +/* + * hid_ignore_mic - Microphone devices do not require HID core processing + * + * Now there are two USB devices using the same ID, one is the microphone and the other + * is the touch screen. The touch screen requires hid core processing, but the + * microphone does not. The two have different bcdIDs, which will be used to + * distinguish them in the future + */ +static const struct hid_device_id hid_ignore_mic[] = { { HID_USB_DEVICE(USB_VENDOR_ID_SMARTLINKTECHNOLOGY, USB_DEVICE_ID_SMARTLINKTECHNOLOGY_4155) }, { } }; @@ -1061,6 +1072,9 @@ bool hid_ignore(struct hid_device *hdev) hid_match_id(hdev, hid_mouse_ignore_list)) return true; + if(hid_match_id(hdev, hid_ignore_mic) && (hdev->version > 1.1)) + return true; + return !!hid_match_id(hdev, hid_ignore_list); } EXPORT_SYMBOL_GPL(hid_ignore); @@ -1259,7 +1273,8 @@ static unsigned long hid_gets_squirk(const struct hid_device *hdev) const struct hid_device_id *bl_entry; unsigned long quirks = hdev->initial_quirks; - if (hid_match_id(hdev, hid_ignore_list)) + if (hid_match_id(hdev, hid_ignore_list) || + (hid_match_id(hdev, hid_ignore_mic) && (hdev->version > 1.1))) quirks |= HID_QUIRK_IGNORE; if (hid_match_id(hdev, hid_have_special_driver)) -- 2.51.0 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [regression] 1a8953f4f774 ("HID: Add IGNORE quirk for SMARTLINKTECHNOLOGY") causes issue with ID 4c4a:4155 Jieli Technology USB Composite Device 2025-09-13 8:55 ` Salvatore Bonaccorso @ 2025-09-13 13:11 ` Staffan Melin 2025-09-15 8:37 ` zhangheng 0 siblings, 1 reply; 15+ messages in thread From: Staffan Melin @ 2025-09-13 13:11 UTC (permalink / raw) To: Salvatore Bonaccorso Cc: zhangheng, Jiri Kosina, Benjamin Tissoires, linux-input, linux-kernel, regressions, stable, 1114557 Ah, thanks, I get it now :) So I got 6.16.7, and the patch applied without problems. But no luck, the same results as before: touchscreen not working, xinput --list not showing the Jieli touchscreen. dmesg shows the same as before, too. Best regards, Staffan On 2025-09-13 10:55, Salvatore Bonaccorso wrote: > Hi Staffan, > > chiming in hopefully it is of help. > > Now really with the patch ... > > On Fri, Sep 12, 2025 at 09:57:04PM +0200, Staffan Melin wrote: >> Thank you, >> >> I tried to apply this patch to 6.12.39, the first problematic kernel, >> as >> well as 6.12.41, the first bad I tried, and on both I got an error >> message: >> >> Applying: HID: quirks: Add device descriptor for 4c4a:4155 >> error: patch failed: drivers/hid/hid-quirks.c:1068 >> error: drivers/hid/hid-quirks.c: patch does not apply >> Patch failed at 0001 HID: quirks: Add device descriptor for 4c4a:4155 >> >> To which kernel version should I apply the patch? > > As the deveopment goes from mainline then down to stable series, the > fix needs to be developed first for mainline. So the patch is targeted > there. > > But please find attached an updated patch which hopefully should work > which resolved the context changes on top of 6.12.47. > > But ideally you can provide a Tested-by on zhangheng's mainline patch > to get things rolling as needed. > > Regards, > Salvatore ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [regression] 1a8953f4f774 ("HID: Add IGNORE quirk for SMARTLINKTECHNOLOGY") causes issue with ID 4c4a:4155 Jieli Technology USB Composite Device 2025-09-13 13:11 ` Staffan Melin @ 2025-09-15 8:37 ` zhangheng 2025-09-15 23:06 ` Terry Junge 0 siblings, 1 reply; 15+ messages in thread From: zhangheng @ 2025-09-15 8:37 UTC (permalink / raw) To: Staffan Melin, Salvatore Bonaccorso Cc: Jiri Kosina, Benjamin Tissoires, linux-input, linux-kernel, regressions, stable, 1114557 [-- Attachment #1: Type: text/plain, Size: 1760 bytes --] Apply this new patch and test the kernel again. I don't have the original mic device in my hands, which means I have to wait for a response for testing now. You can test it first, and the other mic device also needs to be retested 在 2025/9/13 21:11, Staffan Melin 写道: > Ah, thanks, I get it now :) > > So I got 6.16.7, and the patch applied without problems. > > But no luck, the same results as before: touchscreen not working, > xinput --list not showing the Jieli touchscreen. dmesg shows the same > as before, too. > > Best regards, > > Staffan > > > On 2025-09-13 10:55, Salvatore Bonaccorso wrote: >> Hi Staffan, >> >> chiming in hopefully it is of help. >> >> Now really with the patch ... >> >> On Fri, Sep 12, 2025 at 09:57:04PM +0200, Staffan Melin wrote: >>> Thank you, >>> >>> I tried to apply this patch to 6.12.39, the first problematic >>> kernel, as >>> well as 6.12.41, the first bad I tried, and on both I got an error >>> message: >>> >>> Applying: HID: quirks: Add device descriptor for 4c4a:4155 >>> error: patch failed: drivers/hid/hid-quirks.c:1068 >>> error: drivers/hid/hid-quirks.c: patch does not apply >>> Patch failed at 0001 HID: quirks: Add device descriptor for 4c4a:4155 >>> >>> To which kernel version should I apply the patch? >> >> As the deveopment goes from mainline then down to stable series, the >> fix needs to be developed first for mainline. So the patch is targeted >> there. >> >> But please find attached an updated patch which hopefully should work >> which resolved the context changes on top of 6.12.47. >> >> But ideally you can provide a Tested-by on zhangheng's mainline patch >> to get things rolling as needed. >> >> Regards, >> Salvatore [-- Attachment #2: v2-0001-HID-quirks-Add-device-descriptor-for-4c4a-4155.patch --] [-- Type: text/plain, Size: 2178 bytes --] From f3c1312ec4ad434801981dc97209eff512b2c195 Mon Sep 17 00:00:00 2001 From: Zhang Heng <zhangheng@kylinos.cn> Date: Fri, 12 Sep 2025 20:38:18 +0800 Subject: [PATCH v2] HID: quirks: Add device descriptor for 4c4a:4155 Two USB devices use the same ID. To avoid affecting functionality, device descriptors are added to distinguish between them Signed-off-by: Zhang Heng <zhangheng@kylinos.cn> --- drivers/hid/hid-quirks.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/drivers/hid/hid-quirks.c b/drivers/hid/hid-quirks.c index ffd034566e2e..d39a8e53ea36 100644 --- a/drivers/hid/hid-quirks.c +++ b/drivers/hid/hid-quirks.c @@ -913,6 +913,17 @@ static const struct hid_device_id hid_ignore_list[] = { #endif { HID_USB_DEVICE(USB_VENDOR_ID_YEALINK, USB_DEVICE_ID_YEALINK_P1K_P4K_B2K) }, { HID_USB_DEVICE(USB_VENDOR_ID_QUANTA, USB_DEVICE_ID_QUANTA_HP_5MP_CAMERA_5473) }, + { } +}; +/* + * hid_ignore_mic - Microphone devices do not require HID core processing + * + * Now there are two USB devices using the same ID, one is the microphone and the other + * is the touch screen. The touch screen requires hid core processing, but the + * microphone does not. The two have different bcdIDs, which will be used to + * distinguish them in the future + */ +static const struct hid_device_id hid_ignore_mic[] = { { HID_USB_DEVICE(USB_VENDOR_ID_SMARTLINKTECHNOLOGY, USB_DEVICE_ID_SMARTLINKTECHNOLOGY_4155) }, { } }; @@ -1068,6 +1079,9 @@ bool hid_ignore(struct hid_device *hdev) hdev->quirks & HID_QUIRK_IGNORE_MOUSE) return true; + if(hid_match_id(hdev, hid_ignore_mic) && (hdev->version > 1.1)) + return true; + return !!hid_match_id(hdev, hid_ignore_list); } EXPORT_SYMBOL_GPL(hid_ignore); @@ -1266,7 +1280,8 @@ static unsigned long hid_gets_squirk(const struct hid_device *hdev) const struct hid_device_id *bl_entry; unsigned long quirks = hdev->initial_quirks; - if (hid_match_id(hdev, hid_ignore_list)) + if (hid_match_id(hdev, hid_ignore_list) || + (hid_match_id(hdev, hid_ignore_mic) && (hdev->version > 1.1))) quirks |= HID_QUIRK_IGNORE; if (hid_match_id(hdev, hid_mouse_ignore_list)) -- 2.47.1 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [regression] 1a8953f4f774 ("HID: Add IGNORE quirk for SMARTLINKTECHNOLOGY") causes issue with ID 4c4a:4155 Jieli Technology USB Composite Device 2025-09-15 8:37 ` zhangheng @ 2025-09-15 23:06 ` Terry Junge 2025-09-18 14:05 ` zhangheng 0 siblings, 1 reply; 15+ messages in thread From: Terry Junge @ 2025-09-15 23:06 UTC (permalink / raw) To: zhangheng, Staffan Melin, Salvatore Bonaccorso Cc: Jiri Kosina, Benjamin Tissoires, linux-input, linux-kernel, regressions, stable, 1114557 On 9/15/25 1:37 AM, zhangheng wrote: > Apply this new patch and test the kernel again. I don't have the original mic device in my hands, which means I have to wait for a response for testing now. > > You can test it first, and the other mic device also needs to be retested Your patch will not work as you expect for two reasons. if (hid_match_id(hdev, hid_ignore_list) || (hid_match_id(hdev, hid_ignore_mic) && (hdev->version > 1.1))) quirks |= HID_QUIRK_IGNORE; hdev->version is U32 not float. Version (bcdDevice) 1.00 would be 0x0100. The value 1.1 is probably cast to 0x0001. Second, both devices have identical VID, PID, bcdDevice, and Product names. [ 563.104908] usb 1-1.4.1.2: New USB device found, idVendor=4c4a, idProduct=4155, bcdDevice= 1.00 [ 563.104910] usb 1-1.4.1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 563.104911] usb 1-1.4.1.2: Product: USB Composite Device [ 563.104912] usb 1-1.4.1.2: Manufacturer: SmartlinkTechnology [ 563.104913] usb 1-1.4.1.2: SerialNumber: 20201111000001 [ 10.451534] usb 3-3: New USB device found, idVendor=4c4a, idProduct=4155, bcdDevice= 1.00 [ 10.451540] usb 3-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 10.451543] usb 3-3: Product: USB Composite Device [ 10.451545] usb 3-3: Manufacturer: Jieli Technology [ 10.451546] usb 3-3: SerialNumber: FFFFFFFFFFFFFFFF If you could get the descriptors for the microphone device, it would be helpful. Thanks, Terry > > 在 2025/9/13 21:11, Staffan Melin 写道: >> Ah, thanks, I get it now :) >> >> So I got 6.16.7, and the patch applied without problems. >> >> But no luck, the same results as before: touchscreen not working, xinput --list not showing the Jieli touchscreen. dmesg shows the same as before, too. >> >> Best regards, >> >> Staffan >> >> >> On 2025-09-13 10:55, Salvatore Bonaccorso wrote: >>> Hi Staffan, >>> >>> chiming in hopefully it is of help. >>> >>> Now really with the patch ... >>> >>> On Fri, Sep 12, 2025 at 09:57:04PM +0200, Staffan Melin wrote: >>>> Thank you, >>>> >>>> I tried to apply this patch to 6.12.39, the first problematic kernel, as >>>> well as 6.12.41, the first bad I tried, and on both I got an error message: >>>> >>>> Applying: HID: quirks: Add device descriptor for 4c4a:4155 >>>> error: patch failed: drivers/hid/hid-quirks.c:1068 >>>> error: drivers/hid/hid-quirks.c: patch does not apply >>>> Patch failed at 0001 HID: quirks: Add device descriptor for 4c4a:4155 >>>> >>>> To which kernel version should I apply the patch? >>> >>> As the deveopment goes from mainline then down to stable series, the >>> fix needs to be developed first for mainline. So the patch is targeted >>> there. >>> >>> But please find attached an updated patch which hopefully should work >>> which resolved the context changes on top of 6.12.47. >>> >>> But ideally you can provide a Tested-by on zhangheng's mainline patch >>> to get things rolling as needed. >>> >>> Regards, >>> Salvatore ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [regression] 1a8953f4f774 ("HID: Add IGNORE quirk for SMARTLINKTECHNOLOGY") causes issue with ID 4c4a:4155 Jieli Technology USB Composite Device 2025-09-15 23:06 ` Terry Junge @ 2025-09-18 14:05 ` zhangheng 2025-09-18 19:56 ` Staffan Melin 0 siblings, 1 reply; 15+ messages in thread From: zhangheng @ 2025-09-18 14:05 UTC (permalink / raw) To: Terry Junge, Staffan Melin, Salvatore Bonaccorso Cc: Jiri Kosina, Benjamin Tissoires, linux-input, linux-kernel, regressions, stable, 1114557 [-- Attachment #1.1: Type: text/plain, Size: 4992 bytes --] It's interesting that I found another USB device with the same ID, but it's a USB headphone, device descriptors in headphone.txt Microphone.txt is the device descriptor for SMARTLINKTechnology. I was originally planning to differentiate according to bcdHID, but there is hdev ->version=0x100, therefore, I created the v3 patch. The microphone device is normal, but I'm not sure if your touchscreen function is working properly. [ 67.417805] usb 1-3.4.2: new full-speed USB device number 11 using xhci_hcd [ 67.566700] usb 1-3.4.2: New USB device found, idVendor=4c4a, idProduct=4155, bcdDevice= 1.00 [ 67.566707] usb 1-3.4.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 67.566712] usb 1-3.4.2: Product: USB Composite Device [ 67.566717] usb 1-3.4.2: Manufacturer: SmartlinkTechnology [ 67.566721] usb 1-3.4.2: SerialNumber: 20201111000001 [ 67.568816] DEBUG: drivers/hid/hid-quirks.c 1227 hid_gets_squirk hdev->version = 0x100 [ 67.568827] DEBUG: drivers/hid/hid-quirks.c 1025 hid_ignore hdev->version = 0x100 [ 67.568832] DEBUG: drivers/hid/hid-quirks.c 1227 hid_gets_squirk hdev->version = 0x100 [ 67.569256] DEBUG: drivers/hid/hid-quirks.c 1227 hid_gets_squirk hdev->version = 0x201 [ 39.692821] DEBUG: drivers/hid/usbhid/hid-core.c 985 usbhid_parse dev->serial = 20201111000001 Later, I thought of using a serial number, Later, I thought of using a serial number, but the headphone serial number was NULL, and printing it directly would trigger OOPs, at present, I can only consider distinguishing between manufacturers, this is v4 patch. If there are better ideas or patches, they can also be provided. The microphone device will arrive in a few days, and I will verify it then. 在 2025/9/16 7:06, Terry Junge 写道: > > On 9/15/25 1:37 AM, zhangheng wrote: >> Apply this new patch and test the kernel again. I don't have the original mic device in my hands, which means I have to wait for a response for testing now. >> >> You can test it first, and the other mic device also needs to be retested > Your patch will not work as you expect for two reasons. > > if (hid_match_id(hdev, hid_ignore_list) || > (hid_match_id(hdev, hid_ignore_mic) && (hdev->version > 1.1))) > quirks |= HID_QUIRK_IGNORE; > > hdev->version is U32 not float. Version (bcdDevice) 1.00 would be 0x0100. The value 1.1 is probably cast to 0x0001. > > Second, both devices have identical VID, PID, bcdDevice, and Product names. > > [ 563.104908] usb 1-1.4.1.2: New USB device found, idVendor=4c4a, idProduct=4155, bcdDevice= 1.00 > [ 563.104910] usb 1-1.4.1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 > [ 563.104911] usb 1-1.4.1.2: Product: USB Composite Device > [ 563.104912] usb 1-1.4.1.2: Manufacturer: SmartlinkTechnology > [ 563.104913] usb 1-1.4.1.2: SerialNumber: 20201111000001 > > [ 10.451534] usb 3-3: New USB device found, idVendor=4c4a, idProduct=4155, bcdDevice= 1.00 > [ 10.451540] usb 3-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3 > [ 10.451543] usb 3-3: Product: USB Composite Device > [ 10.451545] usb 3-3: Manufacturer: Jieli Technology > [ 10.451546] usb 3-3: SerialNumber: FFFFFFFFFFFFFFFF > > If you could get the descriptors for the microphone device, it would be helpful. > > Thanks, > Terry > >> 在 2025/9/13 21:11, Staffan Melin 写道: >>> Ah, thanks, I get it now :) >>> >>> So I got 6.16.7, and the patch applied without problems. >>> >>> But no luck, the same results as before: touchscreen not working, xinput --list not showing the Jieli touchscreen. dmesg shows the same as before, too. >>> >>> Best regards, >>> >>> Staffan >>> >>> >>> On 2025-09-13 10:55, Salvatore Bonaccorso wrote: >>>> Hi Staffan, >>>> >>>> chiming in hopefully it is of help. >>>> >>>> Now really with the patch ... >>>> >>>> On Fri, Sep 12, 2025 at 09:57:04PM +0200, Staffan Melin wrote: >>>>> Thank you, >>>>> >>>>> I tried to apply this patch to 6.12.39, the first problematic kernel, as >>>>> well as 6.12.41, the first bad I tried, and on both I got an error message: >>>>> >>>>> Applying: HID: quirks: Add device descriptor for 4c4a:4155 >>>>> error: patch failed: drivers/hid/hid-quirks.c:1068 >>>>> error: drivers/hid/hid-quirks.c: patch does not apply >>>>> Patch failed at 0001 HID: quirks: Add device descriptor for 4c4a:4155 >>>>> >>>>> To which kernel version should I apply the patch? >>>> As the deveopment goes from mainline then down to stable series, the >>>> fix needs to be developed first for mainline. So the patch is targeted >>>> there. >>>> >>>> But please find attached an updated patch which hopefully should work >>>> which resolved the context changes on top of 6.12.47. >>>> >>>> But ideally you can provide a Tested-by on zhangheng's mainline patch >>>> to get things rolling as needed. >>>> >>>> Regards, >>>> Salvatore [-- Attachment #1.2: Type: text/html, Size: 8621 bytes --] [-- Attachment #2: v3-0001-HID-quirks-Add-device-descriptor-for-4c4a-4155.patch --] [-- Type: text/plain, Size: 2504 bytes --] From 5e4a9245de142a0bc0877a3d50fbe01359a65022 Mon Sep 17 00:00:00 2001 From: Zhang Heng <zhangheng@kylinos.cn> Date: Fri, 12 Sep 2025 20:38:18 +0800 Subject: [PATCH v3] HID: quirks: Add device descriptor for 4c4a:4155 Multiple USB devices use the same ID. To avoid affecting functionality, device descriptors are added to distinguish between them Signed-off-by: Zhang Heng <zhangheng@kylinos.cn> --- drivers/hid/hid-quirks.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/drivers/hid/hid-quirks.c b/drivers/hid/hid-quirks.c index ffd034566e2e..e1a6ba0e069a 100644 --- a/drivers/hid/hid-quirks.c +++ b/drivers/hid/hid-quirks.c @@ -913,6 +913,17 @@ static const struct hid_device_id hid_ignore_list[] = { #endif { HID_USB_DEVICE(USB_VENDOR_ID_YEALINK, USB_DEVICE_ID_YEALINK_P1K_P4K_B2K) }, { HID_USB_DEVICE(USB_VENDOR_ID_QUANTA, USB_DEVICE_ID_QUANTA_HP_5MP_CAMERA_5473) }, + { } +}; +/* + * hid_ignore_mic - Microphone devices do not require HID core processing + * + * Now there are two USB devices using the same ID, one is the microphone and the other + * is the touch screen. The touch screen requires hid core processing, but the + * microphone does not. The two have different bcdIDs, which will be used to + * distinguish them in the future + */ +static const struct hid_device_id hid_ignore_mic[] = { { HID_USB_DEVICE(USB_VENDOR_ID_SMARTLINKTECHNOLOGY, USB_DEVICE_ID_SMARTLINKTECHNOLOGY_4155) }, { } }; @@ -1068,6 +1079,13 @@ bool hid_ignore(struct hid_device *hdev) hdev->quirks & HID_QUIRK_IGNORE_MOUSE) return true; + if (hid_match_id(hdev, hid_ignore_mic) && (hdev->version == 0x201)) + return true; + if (hid_match_id(hdev, hid_ignore_mic) && (hdev->version == 0x201)) + return true; + + pr_err("DEBUG: %s %d %s hdev->version = 0x%x\n", __FILE__, __LINE__, __func__, hdev->version); + return !!hid_match_id(hdev, hid_ignore_list); } EXPORT_SYMBOL_GPL(hid_ignore); @@ -1268,6 +1286,12 @@ static unsigned long hid_gets_squirk(const struct hid_device *hdev) if (hid_match_id(hdev, hid_ignore_list)) quirks |= HID_QUIRK_IGNORE; + if (hid_match_id(hdev, hid_ignore_mic) && (hdev->version == 0x201)) + quirks |= HID_QUIRK_IGNORE; + if (hid_match_id(hdev, hid_ignore_mic) && (hdev->version == 0x100)) + quirks |= HID_QUIRK_IGNORE; + + pr_err("DEBUG: %s %d %s hdev->version = 0x%x\n", __FILE__, __LINE__, __func__, hdev->version); if (hid_match_id(hdev, hid_mouse_ignore_list)) quirks |= HID_QUIRK_IGNORE_MOUSE; -- 2.47.1 [-- Attachment #3: v4-0001-HID-quirks-Add-device-descriptor-for-4c4a-4155.patch --] [-- Type: text/plain, Size: 2031 bytes --] From 55d2ccdaba36c6cf9a3639d083c1089f3320a347 Mon Sep 17 00:00:00 2001 From: Zhang Heng <zhangheng@kylinos.cn> Date: Thu, 18 Sep 2025 21:37:07 +0800 Subject: [PATCH v4] HID: quirks: Add device descriptor for 4c4a:4155 Multiple USB devices use the same ID. To avoid affecting functionality, device descriptors are added to distinguish between them Signed-off-by: Zhang Heng <zhangheng@kylinos.cn> --- drivers/hid/usbhid/hid-core.c | 11 +++++++++++ drivers/hid/usbhid/usbhid.h | 2 ++ 2 files changed, 13 insertions(+) diff --git a/drivers/hid/usbhid/hid-core.c b/drivers/hid/usbhid/hid-core.c index aac0051a2cf6..d0b994f97fcc 100644 --- a/drivers/hid/usbhid/hid-core.c +++ b/drivers/hid/usbhid/hid-core.c @@ -992,6 +992,12 @@ static int usbhid_parse(struct hid_device *hid) quirks = hid_lookup_quirk(hid); + if ((hid->vendor == USB_VENDOR_ID_SMARTLINKTECHNOLOGY) && (hid->product == USB_DEVICE_ID_SMARTLINKTECHNOLOGY_4155)) { + if(strcmp(dev->manufacturer, "SmartlinkTechnology") == 0) { + quirks |= HID_QUIRK_IGNORE; + } + } + if (quirks & HID_QUIRK_IGNORE) return -ENODEV; @@ -1432,6 +1438,11 @@ static int usbhid_probe(struct usb_interface *intf, const struct usb_device_id * spin_lock_init(&usbhid->lock); mutex_init(&usbhid->mutex); + if ((hid->vendor == USB_VENDOR_ID_SMARTLINKTECHNOLOGY) && (hid->product == USB_DEVICE_ID_SMARTLINKTECHNOLOGY_4155)) { + if(strcmp(dev->manufacturer, "SmartlinkTechnology") == 0) + return 0; + + } ret = hid_add_device(hid); if (ret) { if (ret != -ENODEV) diff --git a/drivers/hid/usbhid/usbhid.h b/drivers/hid/usbhid/usbhid.h index 75fe85d3d27a..3760c73c3455 100644 --- a/drivers/hid/usbhid/usbhid.h +++ b/drivers/hid/usbhid/usbhid.h @@ -48,6 +48,8 @@ struct usb_interface *usbhid_find_interface(int minor); */ #define HID_IN_POLLING 14 +#define USB_VENDOR_ID_SMARTLINKTECHNOLOGY 0x4c4a +#define USB_DEVICE_ID_SMARTLINKTECHNOLOGY_4155 0x4155 /* * USB-specific HID struct, to be pointed to * from struct hid_device->driver_data -- 2.47.1 [-- Attachment #4: headphone.txt --] [-- Type: text/plain, Size: 9696 bytes --] Bus 001 Device 006: ID 4c4a:4155 Jieli Technology UACDemoV1.0 Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 0 bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x4c4a idProduct 0x4155 bcdDevice 1.00 iManufacturer 1 Jieli Technology iProduct 2 UACDemoV1.0 iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 0x00e1 bNumInterfaces 4 bConfigurationValue 1 iConfiguration 0 bmAttributes 0x80 (Bus Powered) MaxPower 100mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 Audio bInterfaceSubClass 1 Control Device bInterfaceProtocol 0 iInterface 8 AudioControl Interface Descriptor: bLength 10 bDescriptorType 36 bDescriptorSubtype 1 (HEADER) bcdADC 1.00 wTotalLength 0x0047 bInCollection 2 baInterfaceNr(0) 1 baInterfaceNr(1) 2 AudioControl Interface Descriptor: bLength 12 bDescriptorType 36 bDescriptorSubtype 2 (INPUT_TERMINAL) bTerminalID 1 wTerminalType 0x0101 USB Streaming bAssocTerminal 0 bNrChannels 2 wChannelConfig 0x0003 Left Front (L) Right Front (R) iChannelNames 0 iTerminal 0 AudioControl Interface Descriptor: bLength 12 bDescriptorType 36 bDescriptorSubtype 2 (INPUT_TERMINAL) bTerminalID 4 wTerminalType 0x0201 Microphone bAssocTerminal 0 bNrChannels 1 wChannelConfig 0x0000 iChannelNames 0 iTerminal 0 AudioControl Interface Descriptor: bLength 9 bDescriptorType 36 bDescriptorSubtype 3 (OUTPUT_TERMINAL) bTerminalID 3 wTerminalType 0x0301 Speaker bAssocTerminal 0 bSourceID 2 iTerminal 0 AudioControl Interface Descriptor: bLength 9 bDescriptorType 36 bDescriptorSubtype 3 (OUTPUT_TERMINAL) bTerminalID 6 wTerminalType 0x0101 USB Streaming bAssocTerminal 2 bSourceID 7 iTerminal 0 AudioControl Interface Descriptor: bLength 7 bDescriptorType 36 bDescriptorSubtype 5 (SELECTOR_UNIT) bUnitID 7 bNrInPins 1 baSourceID(0) 5 iSelector 0 AudioControl Interface Descriptor: bLength 10 bDescriptorType 36 bDescriptorSubtype 6 (FEATURE_UNIT) bUnitID 2 bSourceID 1 bControlSize 1 bmaControls(0) 0x01 Mute Control bmaControls(1) 0x02 Volume Control bmaControls(2) 0x02 Volume Control iFeature 0 AudioControl Interface Descriptor: bLength 9 bDescriptorType 36 bDescriptorSubtype 6 (FEATURE_UNIT) bUnitID 5 bSourceID 4 bControlSize 1 bmaControls(0) 0x43 Mute Control Volume Control Automatic Gain Control bmaControls(1) 0x00 iFeature 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 1 bNumEndpoints 1 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0 AudioStreaming Interface Descriptor: bLength 7 bDescriptorType 36 bDescriptorSubtype 1 (AS_GENERAL) bTerminalLink 1 bDelay 1 frames wFormatTag 0x0001 PCM AudioStreaming Interface Descriptor: bLength 11 bDescriptorType 36 bDescriptorSubtype 2 (FORMAT_TYPE) bFormatType 1 (FORMAT_TYPE_I) bNrChannels 2 bSubframeSize 2 bBitResolution 16 bSamFreqType 1 Discrete tSamFreq[ 0] 48000 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x03 EP 3 OUT bmAttributes 9 Transfer Type Isochronous Synch Type Adaptive Usage Type Data wMaxPacketSize 0x00c4 1x 196 bytes bInterval 1 bRefresh 0 bSynchAddress 0 AudioStreaming Endpoint Descriptor: bLength 7 bDescriptorType 37 bDescriptorSubtype 1 (EP_GENERAL) bmAttributes 0x00 bLockDelayUnits 0 Undefined wLockDelay 0x0000 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 1 bNumEndpoints 1 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0 AudioStreaming Interface Descriptor: bLength 7 bDescriptorType 36 bDescriptorSubtype 1 (AS_GENERAL) bTerminalLink 6 bDelay 1 frames wFormatTag 0x0001 PCM AudioStreaming Interface Descriptor: bLength 11 bDescriptorType 36 bDescriptorSubtype 2 (FORMAT_TYPE) bFormatType 1 (FORMAT_TYPE_I) bNrChannels 1 bSubframeSize 2 bBitResolution 16 bSamFreqType 1 Discrete tSamFreq[ 0] 48000 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x0060 1x 96 bytes bInterval 1 bRefresh 0 bSynchAddress 0 AudioStreaming Endpoint Descriptor: bLength 7 bDescriptorType 37 bDescriptorSubtype 1 (EP_GENERAL) bmAttributes 0x00 bLockDelayUnits 0 Undefined wLockDelay 0x0000 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 Human Interface Device bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.00 bCountryCode 0 Not supported bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 51 Report Descriptors: ** UNAVAILABLE ** Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0008 1x 8 bytes bInterval 10 [-- Attachment #5: microphone.txt --] [-- Type: text/plain, Size: 7021 bytes --] Bus 001 Device 013: ID 4c4a:4155 SmartlinkTechnology USB Composite Device Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 0 bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x4c4a idProduct 0x4155 bcdDevice 1.00 iManufacturer 1 SmartlinkTechnology iProduct 2 USB Composite Device iSerial 3 20201111000001 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 0x00a0 bNumInterfaces 4 bConfigurationValue 1 iConfiguration 0 bmAttributes 0x80 (Bus Powered) MaxPower 100mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 Audio bInterfaceSubClass 1 Control Device bInterfaceProtocol 0 iInterface 0 AudioControl Interface Descriptor: bLength 9 bDescriptorType 36 bDescriptorSubtype 1 (HEADER) bcdADC 1.00 wTotalLength 0x002f bInCollection 1 baInterfaceNr(0) 1 AudioControl Interface Descriptor: bLength 12 bDescriptorType 36 bDescriptorSubtype 2 (INPUT_TERMINAL) bTerminalID 4 wTerminalType 0x0201 Microphone bAssocTerminal 0 bNrChannels 2 wChannelConfig 0x0003 Left Front (L) Right Front (R) iChannelNames 0 iTerminal 0 AudioControl Interface Descriptor: bLength 10 bDescriptorType 36 bDescriptorSubtype 6 (FEATURE_UNIT) bUnitID 5 bSourceID 4 bControlSize 2 bmaControls(0) 0x0001 Mute Control iFeature 0 Warning: Junk at end of descriptor (1 bytes): 00 AudioControl Interface Descriptor: bLength 7 bDescriptorType 36 bDescriptorSubtype 5 (SELECTOR_UNIT) bUnitID 6 bNrInPins 1 baSourceID(0) 5 iSelector 0 AudioControl Interface Descriptor: bLength 9 bDescriptorType 36 bDescriptorSubtype 3 (OUTPUT_TERMINAL) bTerminalID 6 wTerminalType 0x0101 USB Streaming bAssocTerminal 0 bSourceID 5 iTerminal 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 1 bNumEndpoints 1 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0 AudioStreaming Interface Descriptor: bLength 7 bDescriptorType 36 bDescriptorSubtype 1 (AS_GENERAL) bTerminalLink 6 bDelay 1 frames wFormatTag 0x0001 PCM AudioStreaming Interface Descriptor: bLength 11 bDescriptorType 36 bDescriptorSubtype 2 (FORMAT_TYPE) bFormatType 1 (FORMAT_TYPE_I) bNrChannels 2 bSubframeSize 2 bBitResolution 16 bSamFreqType 1 Discrete tSamFreq[ 0] 48000 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 13 Transfer Type Isochronous Synch Type Synchronous Usage Type Data wMaxPacketSize 0x00c0 1x 192 bytes bInterval 1 bRefresh 0 bSynchAddress 0 AudioStreaming Endpoint Descriptor: bLength 7 bDescriptorType 37 bDescriptorSubtype 1 (EP_GENERAL) bmAttributes 0x00 bLockDelayUnits 0 Undefined wLockDelay 0x0000 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 Human Interface Device bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 2.01 bCountryCode 0 Not supported bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 65 Report Descriptors: ** UNAVAILABLE ** Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0008 1x 8 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 3 Human Interface Device bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 2.01 bCountryCode 0 Not supported bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 36 Report Descriptors: ** UNAVAILABLE ** ^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [regression] 1a8953f4f774 ("HID: Add IGNORE quirk for SMARTLINKTECHNOLOGY") causes issue with ID 4c4a:4155 Jieli Technology USB Composite Device 2025-09-18 14:05 ` zhangheng @ 2025-09-18 19:56 ` Staffan Melin 2025-09-22 9:21 ` zhangheng 0 siblings, 1 reply; 15+ messages in thread From: Staffan Melin @ 2025-09-18 19:56 UTC (permalink / raw) To: zhangheng Cc: Terry Junge, Salvatore Bonaccorso, Jiri Kosina, Benjamin Tissoires, linux-input, linux-kernel, regressions, stable, 1114557 Thank you for the patches! Unfortunately I could not apply v3, I got an error message. While I could apply patch v4 and compile and test it, same result as before -- no working touchscreen, and touchscreen not visible on xinput --list. This was on 6.16.7. Best regards, Staffan On 2025-09-18 16:05, zhangheng wrote: > It's interesting that I found another USB device with the same ID, but > it's a USB headphone, device descriptors in headphone.txt > > Microphone.txt is the device descriptor for SMARTLINKTechnology. > > I was originally planning to differentiate according to bcdHID, but > there is hdev ->version=0x100, therefore, I created the v3 patch. > > The microphone device is normal, but I'm not sure if your touchscreen > function is working properly. > > [ 67.417805] usb 1-3.4.2: new full-speed USB device number 11 using > xhci_hcd > [ 67.566700] usb 1-3.4.2: New USB device found, idVendor=4c4a, > idProduct=4155, bcdDevice= 1.00 > [ 67.566707] usb 1-3.4.2: New USB device strings: Mfr=1, Product=2, > SerialNumber=3 > [ 67.566712] usb 1-3.4.2: Product: USB Composite Device > [ 67.566717] usb 1-3.4.2: Manufacturer: SmartlinkTechnology > [ 67.566721] usb 1-3.4.2: SerialNumber: 20201111000001 > [ 67.568816] DEBUG: drivers/hid/hid-quirks.c 1227 hid_gets_squirk > hdev->version = 0x100 > [ 67.568827] DEBUG: drivers/hid/hid-quirks.c 1025 hid_ignore > hdev->version = 0x100 > [ 67.568832] DEBUG: drivers/hid/hid-quirks.c 1227 hid_gets_squirk > hdev->version = 0x100 > [ 67.569256] DEBUG: drivers/hid/hid-quirks.c 1227 hid_gets_squirk > hdev->version = 0x201 > > [ 39.692821] DEBUG: drivers/hid/usbhid/hid-core.c 985 usbhid_parse > dev->serial = 20201111000001 > > Later, I thought of using a serial number, Later, I thought of using > a serial number, but the headphone serial number was NULL, > > and printing it directly would trigger OOPs, at present, I can only > consider distinguishing between manufacturers, this is v4 patch. > > If there are better ideas or patches, they can also be provided. The > microphone device will arrive in a few days, and I will verify it > then. > > 在 2025/9/16 7:06, Terry Junge 写道: > >> On 9/15/25 1:37 AM, zhangheng wrote: >> >>> Apply this new patch and test the kernel again. I don't have the >>> original mic device in my hands, which means I have to wait for a >>> response for testing now. >>> >>> You can test it first, and the other mic device also needs to be >>> retested >> >> Your patch will not work as you expect for two reasons. >> >> if (hid_match_id(hdev, hid_ignore_list) || >> (hid_match_id(hdev, hid_ignore_mic) && (hdev->version > >> 1.1))) >> quirks |= HID_QUIRK_IGNORE; >> >> hdev->version is U32 not float. Version (bcdDevice) 1.00 would be >> 0x0100. The value 1.1 is probably cast to 0x0001. >> >> Second, both devices have identical VID, PID, bcdDevice, and Product >> names. >> >> [ 563.104908] usb 1-1.4.1.2: New USB device found, idVendor=4c4a, >> idProduct=4155, bcdDevice= 1.00 >> [ 563.104910] usb 1-1.4.1.2: New USB device strings: Mfr=1, >> Product=2, SerialNumber=3 >> [ 563.104911] usb 1-1.4.1.2: Product: USB Composite Device >> [ 563.104912] usb 1-1.4.1.2: Manufacturer: SmartlinkTechnology >> [ 563.104913] usb 1-1.4.1.2: SerialNumber: 20201111000001 >> >> [ 10.451534] usb 3-3: New USB device found, idVendor=4c4a, >> idProduct=4155, bcdDevice= 1.00 >> [ 10.451540] usb 3-3: New USB device strings: Mfr=1, Product=2, >> SerialNumber=3 >> [ 10.451543] usb 3-3: Product: USB Composite Device >> [ 10.451545] usb 3-3: Manufacturer: Jieli Technology >> [ 10.451546] usb 3-3: SerialNumber: FFFFFFFFFFFFFFFF >> >> If you could get the descriptors for the microphone device, it would >> be helpful. >> >> Thanks, >> Terry >> >> 在 2025/9/13 21:11, Staffan Melin 写道: >> >> Ah, thanks, I get it now :) >> >> So I got 6.16.7, and the patch applied without problems. >> >> But no luck, the same results as before: touchscreen not working, >> xinput --list not showing the Jieli touchscreen. dmesg shows the >> same as before, too. >> >> Best regards, >> >> Staffan >> >> On 2025-09-13 10:55, Salvatore Bonaccorso wrote: >> >> Hi Staffan, >> >> chiming in hopefully it is of help. >> >> Now really with the patch ... >> >> On Fri, Sep 12, 2025 at 09:57:04PM +0200, Staffan Melin wrote: >> >> Thank you, >> >> I tried to apply this patch to 6.12.39, the first problematic >> kernel, as >> well as 6.12.41, the first bad I tried, and on both I got an error >> message: >> >> Applying: HID: quirks: Add device descriptor for 4c4a:4155 >> error: patch failed: drivers/hid/hid-quirks.c:1068 >> error: drivers/hid/hid-quirks.c: patch does not apply >> Patch failed at 0001 HID: quirks: Add device descriptor for >> 4c4a:4155 >> >> To which kernel version should I apply the patch? >> >> As the deveopment goes from mainline then down to stable series, the >> fix needs to be developed first for mainline. So the patch is >> targeted >> there. >> >> But please find attached an updated patch which hopefully should >> work >> which resolved the context changes on top of 6.12.47. >> >> But ideally you can provide a Tested-by on zhangheng's mainline >> patch >> to get things rolling as needed. >> >> Regards, >> Salvatore ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [regression] 1a8953f4f774 ("HID: Add IGNORE quirk for SMARTLINKTECHNOLOGY") causes issue with ID 4c4a:4155 Jieli Technology USB Composite Device 2025-09-18 19:56 ` Staffan Melin @ 2025-09-22 9:21 ` zhangheng 2025-09-22 18:33 ` Staffan Melin 0 siblings, 1 reply; 15+ messages in thread From: zhangheng @ 2025-09-22 9:21 UTC (permalink / raw) To: Staffan Melin Cc: Terry Junge, Salvatore Bonaccorso, Jiri Kosina, Benjamin Tissoires, linux-input, linux-kernel, regressions, stable, 1114557 [-- Attachment #1: Type: text/plain, Size: 126 bytes --] Please help test this patch, I will push it to the kernel community. Currently, the microphone device is functioning normally [-- Attachment #2: 0001-HID-quirks-Add-device-descriptor-for-4c4a-4155.patch --] [-- Type: text/plain, Size: 1645 bytes --] From 532b87dbad4bd634ca4d5ff41001075f768e0bc1 Mon Sep 17 00:00:00 2001 From: Zhang Heng <zhangheng@kylinos.cn> Date: Fri, 12 Sep 2025 20:38:18 +0800 Subject: [PATCH] HID: quirks: Add device descriptor for 4c4a:4155 Multiple USB devices have the same ID; add device descriptors to distinguish them. Signed-off-by: Zhang Heng <zhangheng@kylinos.cn> --- drivers/hid/hid-quirks.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/drivers/hid/hid-quirks.c b/drivers/hid/hid-quirks.c index ffd034566e2e..d28b180abd72 100644 --- a/drivers/hid/hid-quirks.c +++ b/drivers/hid/hid-quirks.c @@ -913,7 +913,6 @@ static const struct hid_device_id hid_ignore_list[] = { #endif { HID_USB_DEVICE(USB_VENDOR_ID_YEALINK, USB_DEVICE_ID_YEALINK_P1K_P4K_B2K) }, { HID_USB_DEVICE(USB_VENDOR_ID_QUANTA, USB_DEVICE_ID_QUANTA_HP_5MP_CAMERA_5473) }, - { HID_USB_DEVICE(USB_VENDOR_ID_SMARTLINKTECHNOLOGY, USB_DEVICE_ID_SMARTLINKTECHNOLOGY_4155) }, { } }; @@ -1062,6 +1061,17 @@ bool hid_ignore(struct hid_device *hdev) strlen(elan_acpi_id[i].id))) return true; break; + case USB_VENDOR_ID_SMARTLINKTECHNOLOGY: + /* Multiple USB devices with identical IDs (mic & touchscreen). + * The touch screen requires hid core processing, but the + * microphone does not. They can be distinguished by manufacturer + * and serial number. + */ + if (hdev->product == USB_DEVICE_ID_SMARTLINKTECHNOLOGY_4155 && + strncmp(hdev->name, "SmartlinkTechnology", 19) == 0 && + strncmp(hdev->uniq, "20201111000001", 14) == 0) + return true; + break; } if (hdev->type == HID_TYPE_USBMOUSE && -- 2.47.1 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [regression] 1a8953f4f774 ("HID: Add IGNORE quirk for SMARTLINKTECHNOLOGY") causes issue with ID 4c4a:4155 Jieli Technology USB Composite Device 2025-09-22 9:21 ` zhangheng @ 2025-09-22 18:33 ` Staffan Melin 2025-09-29 0:39 ` Linux Hid 0 siblings, 1 reply; 15+ messages in thread From: Staffan Melin @ 2025-09-22 18:33 UTC (permalink / raw) To: zhangheng Cc: Terry Junge, Salvatore Bonaccorso, Jiri Kosina, Benjamin Tissoires, linux-input, linux-kernel, regressions, stable, 1114557 Thank you, I can confirm that this patch fixes the touchscreen issue on my GPD DUO. Tested-by: staffan.melin@oscillator.se Thank you for your work! Staffan On 2025-09-22 11:21, zhangheng wrote: > Please help test this patch, I will push it to the kernel community. > Currently, the microphone device is functioning normally ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [regression] 1a8953f4f774 ("HID: Add IGNORE quirk for SMARTLINKTECHNOLOGY") causes issue with ID 4c4a:4155 Jieli Technology USB Composite Device 2025-09-22 18:33 ` Staffan Melin @ 2025-09-29 0:39 ` Linux Hid 0 siblings, 0 replies; 15+ messages in thread From: Linux Hid @ 2025-09-29 0:39 UTC (permalink / raw) To: Staffan Melin, zhangheng Cc: Salvatore Bonaccorso, Jiri Kosina, Benjamin Tissoires, linux-input, linux-kernel, regressions, stable, 1114557 All, It's good a working solution has been found. I'll comment separately on the patch submission. I did some digging to find out why there were multiple devices in the wild with the same VID:PID. It seems that Jieli does have a valid USB VID. Zhuhai Jieli Technology Co., LTD owns VID 13908 (0x3654) However, in one of their public SDKs they populate the default device descriptor with: 'J', 'L', // idVendor: 0x4a4c - JL (actually 0x4c4a) 0x55, 0x41, // idProduct: chip id ('U', 'A' 0x4155) So anyone developing a device using that chip's SDK who doesn't change the default VID:PID will create a device with 4c4a:4155 VID:PID. In other SDKs I see a different PID but the same 0x4c4a VID '5', '4', // idProduct: chip id (0x3435) So there are probably multiple devices in the wild with 4c4a:3435 VID:PIDs as well. Here's a link to the 4c4a:4155 SDK if you'd like to take a look. https://github.com/Jieli-Tech/AW30N/blob/main/sdk/apps/app/bsp/common/usb/device/descriptor.c#L31 Regards, Terry On 9/22/2025 11:33 AM, Staffan Melin wrote: > Thank you, > > I can confirm that this patch fixes the touchscreen issue on my GPD DUO. > > Tested-by: staffan.melin@oscillator.se > > Thank you for your work! > > Staffan > > On 2025-09-22 11:21, zhangheng wrote: >> Please help test this patch, I will push it to the kernel community. >> Currently, the microphone device is functioning normally ^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2025-09-29 0:45 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-07 15:10 [regression] 1a8953f4f774 ("HID: Add IGNORE quirk for SMARTLINKTECHNOLOGY") causes issue with ID 4c4a:4155 Jieli Technology USB Composite Device Salvatore Bonaccorso
2025-09-08 4:10 ` Terry Junge
2025-09-08 9:00 ` Staffan Melin
2025-09-12 12:49 ` zhangheng
2025-09-12 19:57 ` Staffan Melin
2025-09-13 8:53 ` Salvatore Bonaccorso
2025-09-13 8:55 ` Salvatore Bonaccorso
2025-09-13 13:11 ` Staffan Melin
2025-09-15 8:37 ` zhangheng
2025-09-15 23:06 ` Terry Junge
2025-09-18 14:05 ` zhangheng
2025-09-18 19:56 ` Staffan Melin
2025-09-22 9:21 ` zhangheng
2025-09-22 18:33 ` Staffan Melin
2025-09-29 0:39 ` Linux Hid
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).