* [PATCH] USB: serial: simple: narrow OWON match to avoid breaking VDS1022
@ 2026-08-10 9:13 Huang Wei
2026-08-10 11:43 ` Greg Kroah-Hartman
` (2 more replies)
0 siblings, 3 replies; 12+ messages in thread
From: Huang Wei @ 2026-08-10 9:13 UTC (permalink / raw)
To: Johan Hovold
Cc: Greg Kroah-Hartman, linux-usb, linux-kernel, leStoppe, Huang Wei
Commit 4cc01410e1c1 ("USB: serial: simple: add OWON HDS200 series
oscilloscope support") added a USB_DEVICE() match on VID:PID
0x5345:0x1234. OWON uses this same VID:PID across multiple device
families (HDS, VDS, SDS, PDS), so the overly broad match causes the
owon driver to also bind to devices like the VDS1022, which previously
worked fine with the generic usbserial driver.
Narrow the match to use USB_DEVICE_AND_INTERFACE_INFO() with the
Physical Interface Device class (bInterfaceClass=0x05,
bInterfaceSubClass=0x00, bInterfaceProtocol=0x00) as reported in the
HDS200 USB descriptor. Devices that use a different interface class
(e.g. vendor-specific 0xff) will no longer be claimed by the owon
driver and will fall back to the generic driver as before.
Reported-by: leStoppe <lestoppe@gmail.com>
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=220193
Signed-off-by: Huang Wei <huangwei@kylinos.cn>
---
drivers/usb/serial/usb-serial-simple.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/drivers/usb/serial/usb-serial-simple.c b/drivers/usb/serial/usb-serial-simple.c
index a0afaf254d12..82509669347e 100644
--- a/drivers/usb/serial/usb-serial-simple.c
+++ b/drivers/usb/serial/usb-serial-simple.c
@@ -100,9 +100,15 @@ DEVICE(nokia, NOKIA_IDS);
{ USB_DEVICE(0x09d7, 0x0100) } /* NovAtel FlexPack GPS */
DEVICE_N(novatel_gps, NOVATEL_IDS, 3);
-/* OWON electronic test and measurement equipment driver */
+/* OWON electronic test and measurement equipment driver.
+ * OWON uses the same VID:PID (0x5345:0x1234) for multiple device families
+ * (HDS, VDS, SDS, PDS). Match on the Physical Interface Device class (0x05)
+ * used by the HDS200 series to avoid binding devices that use a different
+ * interface class (e.g. vendor-specific 0xff) and may require different
+ * handling.
+ */
#define OWON_IDS() \
- { USB_DEVICE(0x5345, 0x1234) } /* HDS200 oscilloscopes and others */
+ { USB_DEVICE_AND_INTERFACE_INFO(0x5345, 0x1234, 0x05, 0x00, 0x00) }
DEVICE(owon, OWON_IDS);
/* Siemens USB/MPI adapter */
--
2.25.1
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] USB: serial: simple: narrow OWON match to avoid breaking VDS1022
2026-08-10 9:13 [PATCH] USB: serial: simple: narrow OWON match to avoid breaking VDS1022 Huang Wei
@ 2026-08-10 11:43 ` Greg Kroah-Hartman
2026-08-10 19:40 ` leStoppe
` (2 more replies)
2026-08-17 8:47 ` Johan Hovold
2026-10-15 2:54 ` [PATCH v2] " Huang Wei
2 siblings, 3 replies; 12+ messages in thread
From: Greg Kroah-Hartman @ 2026-08-10 11:43 UTC (permalink / raw)
To: Huang Wei; +Cc: Johan Hovold, linux-usb, linux-kernel, leStoppe
On Mon, Aug 10, 2026 at 05:13:22PM +0800, Huang Wei wrote:
> Commit 4cc01410e1c1 ("USB: serial: simple: add OWON HDS200 series
> oscilloscope support") added a USB_DEVICE() match on VID:PID
> 0x5345:0x1234. OWON uses this same VID:PID across multiple device
> families (HDS, VDS, SDS, PDS), so the overly broad match causes the
> owon driver to also bind to devices like the VDS1022, which previously
> worked fine with the generic usbserial driver.
Where is the "owon driver" located at? Is it just a userspace program
or a real kernel driver?
thanks,
greg k-h
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] USB: serial: simple: narrow OWON match to avoid breaking VDS1022
2026-08-10 11:43 ` Greg Kroah-Hartman
@ 2026-08-10 19:40 ` leStoppe
2026-08-11 13:17 ` Huang Wei
2026-08-11 7:39 ` Michal Pecio
2026-08-11 13:05 ` Huang Wei
2 siblings, 1 reply; 12+ messages in thread
From: leStoppe @ 2026-08-10 19:40 UTC (permalink / raw)
To: Huangwei; +Cc: Greg Kroah-Hartman, linux-usb, linux-kernel
Hi Huang Wei,
I've tested the patch and it solves the issue.
regards,
leStoppe
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] USB: serial: simple: narrow OWON match to avoid breaking VDS1022
2026-08-10 11:43 ` Greg Kroah-Hartman
2026-08-10 19:40 ` leStoppe
@ 2026-08-11 7:39 ` Michal Pecio
2026-08-11 13:05 ` Huang Wei
2 siblings, 0 replies; 12+ messages in thread
From: Michal Pecio @ 2026-08-11 7:39 UTC (permalink / raw)
To: Greg Kroah-Hartman, Huang Wei, Craig Hesling
Cc: Johan Hovold, linux-usb, linux-kernel, leStoppe, Florent
On Mon, 10 Aug 2026 13:43:33 +0200, Greg Kroah-Hartman wrote:
> On Mon, Aug 10, 2026 at 05:13:22PM +0800, Huang Wei wrote:
> > Commit 4cc01410e1c1 ("USB: serial: simple: add OWON HDS200 series
> > oscilloscope support") added a USB_DEVICE() match on VID:PID
> > 0x5345:0x1234. OWON uses this same VID:PID across multiple device
> > families (HDS, VDS, SDS, PDS), so the overly broad match causes the
> > owon driver to also bind to devices like the VDS1022, which
> > previously worked fine with the generic usbserial driver.
Did they really work with usbserial?
> Where is the "owon driver" located at? Is it just a userspace program
> or a real kernel driver?
Looks like some people want to support these devices in userspace
with usb-serial-simple and others with libusb, and they are getting
in each other's way.
libusb: https://github.com/florentbr/OWON-VDS1022/issues/109
serial: https://github.com/linux4life798/owon-hds200-capture
Maybe let's ask those people what they think. Not sure how much they
overlap in their scope (heh), but it's possible that patches to remove
and re-add IDs will keep flowing if the kernel keeps applying them
but conflicting userspace tools don't sort it out.
Regards,
Michal
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] USB: serial: simple: narrow OWON match to avoid breaking VDS1022
2026-08-10 11:43 ` Greg Kroah-Hartman
2026-08-10 19:40 ` leStoppe
2026-08-11 7:39 ` Michal Pecio
@ 2026-08-11 13:05 ` Huang Wei
2 siblings, 0 replies; 12+ messages in thread
From: Huang Wei @ 2026-08-11 13:05 UTC (permalink / raw)
To: Greg Kroah-Hartman
Cc: Johan Hovold, linux-usb, linux-kernel, leStoppe, Huang Wei
On Mon, Aug 10, 2026 at 07:43:33PM +0200, Greg Kroah-Hartman wrote:
> Where is the "owon driver" located at? Is it just a userspace program
> or a real kernel driver?
Sorry for the unclear wording. The "owon driver" refers to the
owon_device usb_serial_driver registered in
drivers/usb/serial/usb-serial-simple.c. It is a real kernel driver,
added by the same commit 4cc01410e1c1 that introduced the regression.
I'll reword the commit message to avoid the ambiguity if a v2 is
needed.
> thanks,
> greg k-h
To address Michal's point: the VDS1022 community indeed has a libusb
based userspace tool [1], which needs direct USB access. Before commit
4cc01410e1c1, the owon driver did not exist and the device was not
claimed by any specific kernel driver. After that commit, the broad
USB_DEVICE() match caused the owon driver to claim the VDS1022 as
well, preventing the userspace tool from accessing it.
This patch restores the pre-regression behavior by narrowing the
match to the HDS200's interface class (0x05). The reporter has
confirmed that the VDS1022 now falls back to the generic usbserial
driver and works again [2].
[1] https://github.com/florentbr/OWON-VDS1022
[2] https://lore.kernel.org/linux-usb/20260810091322.2201740-1-huangwei@kylinos.cn/
As for the broader kernel-vs-libusb conflict Michal raised, it is
valid but predates this regression and is outside the scope of this
fix. The generic usbserial driver can be prevented from claiming the
device at the user's discretion (e.g. via unbinding or a udev rule)
if direct libusb access is needed.
Best regards,
Huang Wei
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] USB: serial: simple: narrow OWON match to avoid breaking VDS1022
2026-08-10 19:40 ` leStoppe
@ 2026-08-11 13:17 ` Huang Wei
2026-08-11 15:18 ` Amit
0 siblings, 1 reply; 12+ messages in thread
From: Huang Wei @ 2026-08-11 13:17 UTC (permalink / raw)
To: leStoppe
Cc: Greg Kroah-Hartman, Johan Hovold, linux-usb, linux-kernel, Huang Wei
Hi leStoppe,
Thanks for testing! Could you provide a formal Tested-by tag so I
can add it to the patch? You can simply reply with:
Tested-by: leStoppe <lestoppe@gmail.com>
Best regards,
Huang Wei
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] USB: serial: simple: narrow OWON match to avoid breaking VDS1022
2026-08-11 13:17 ` Huang Wei
@ 2026-08-11 15:18 ` Amit
0 siblings, 0 replies; 12+ messages in thread
From: Amit @ 2026-08-11 15:18 UTC (permalink / raw)
To: Huang Wei; +Cc: Greg Kroah-Hartman, Johan Hovold, linux-usb, linux-kernel
Hi Huang Wei,
Sure, here you go!:
Tested-by: leStoppe <lestoppe@gmail.com> [Debian Bookworm Kernel
6.1.176 ]
regards,
leStoppe
On Tue, 11 Aug 2026 21:17:29 +0800
Huang Wei <huangwei@kylinos.cn> wrote:
> Hi leStoppe,
>
> Thanks for testing! Could you provide a formal Tested-by tag so I
> can add it to the patch? You can simply reply with:
>
> Tested-by: leStoppe <lestoppe@gmail.com>
>
> Best regards,
> Huang Wei
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] USB: serial: simple: narrow OWON match to avoid breaking VDS1022
2026-08-10 9:13 [PATCH] USB: serial: simple: narrow OWON match to avoid breaking VDS1022 Huang Wei
2026-08-10 11:43 ` Greg Kroah-Hartman
@ 2026-08-17 8:47 ` Johan Hovold
2026-08-17 9:35 ` Huang Wei
2026-10-15 2:54 ` [PATCH v2] " Huang Wei
2 siblings, 1 reply; 12+ messages in thread
From: Johan Hovold @ 2026-08-17 8:47 UTC (permalink / raw)
To: Huang Wei
Cc: Greg Kroah-Hartman, linux-usb, linux-kernel, leStoppe, Craig Hesling
[ +CC: Craig ]
On Mon, Aug 10, 2026 at 05:13:22PM +0800, Huang Wei wrote:
> Commit 4cc01410e1c1 ("USB: serial: simple: add OWON HDS200 series
> oscilloscope support") added a USB_DEVICE() match on VID:PID
> 0x5345:0x1234. OWON uses this same VID:PID across multiple device
> families (HDS, VDS, SDS, PDS), so the overly broad match causes the
> owon driver to also bind to devices like the VDS1022, which previously
> worked fine with the generic usbserial driver.
If it worked fine with the generic usbserial driver then it works fine
with the owon "simple" driver as it's effectively currently just an
alias for the generic driver but with automatic binding.
But based on the rest of the thread, it seems that you perhaps wanted to
say that it worked fine with a libusb based userspace driver?
> Narrow the match to use USB_DEVICE_AND_INTERFACE_INFO() with the
> Physical Interface Device class (bInterfaceClass=0x05,
> bInterfaceSubClass=0x00, bInterfaceProtocol=0x00) as reported in the
> HDS200 USB descriptor. Devices that use a different interface class
> (e.g. vendor-specific 0xff) will no longer be claimed by the owon
> driver and will fall back to the generic driver as before.
There is no fallback to any generic driver if you narrow the match.
And how do you know that won't cause regressions for users that have
started relying on the new driver?
For completeness, could you post the usb-devices (or lsusb -v) output
for the VDS1022?
Doesn't that device also support the SCPI protocol and should generally
work with the owon driver?
> Reported-by: leStoppe <lestoppe@gmail.com>
> Closes: https://bugzilla.kernel.org/show_bug.cgi?id=220193
> Signed-off-by: Huang Wei <huangwei@kylinos.cn>
> ---
> drivers/usb/serial/usb-serial-simple.c | 10 ++++++++--
> 1 file changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/usb/serial/usb-serial-simple.c b/drivers/usb/serial/usb-serial-simple.c
> index a0afaf254d12..82509669347e 100644
> --- a/drivers/usb/serial/usb-serial-simple.c
> +++ b/drivers/usb/serial/usb-serial-simple.c
> @@ -100,9 +100,15 @@ DEVICE(nokia, NOKIA_IDS);
> { USB_DEVICE(0x09d7, 0x0100) } /* NovAtel FlexPack GPS */
> DEVICE_N(novatel_gps, NOVATEL_IDS, 3);
>
> -/* OWON electronic test and measurement equipment driver */
> +/* OWON electronic test and measurement equipment driver.
> + * OWON uses the same VID:PID (0x5345:0x1234) for multiple device families
> + * (HDS, VDS, SDS, PDS). Match on the Physical Interface Device class (0x05)
> + * used by the HDS200 series to avoid binding devices that use a different
> + * interface class (e.g. vendor-specific 0xff) and may require different
> + * handling.
> + */
Multi-line comments should start with /* on its own line.
> #define OWON_IDS() \
> - { USB_DEVICE(0x5345, 0x1234) } /* HDS200 oscilloscopes and others */
> + { USB_DEVICE_AND_INTERFACE_INFO(0x5345, 0x1234, 0x05, 0x00, 0x00) }
And this should be USB_DEVICE_INTERFACE_CLASS().
> DEVICE(owon, OWON_IDS);
>
> /* Siemens USB/MPI adapter */
Johan
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] USB: serial: simple: narrow OWON match to avoid breaking VDS1022
2026-08-17 8:47 ` Johan Hovold
@ 2026-08-17 9:35 ` Huang Wei
2026-10-13 21:42 ` Amit
0 siblings, 1 reply; 12+ messages in thread
From: Huang Wei @ 2026-08-17 9:35 UTC (permalink / raw)
To: Johan Hovold
Cc: Huang Wei, Greg Kroah-Hartman, Craig Hesling, leStoppe,
linux-usb, linux-kernel
Hi Johan,
Thanks for the review.
You're right that the owon 'simple' driver is effectively an alias for
the generic usbserial driver, so a VDS1022 used through a kernel tty
would not have been broken by the new match. The reporter's breakage is
therefore most likely due to a libusb-based userspace tool, which can
no longer claim the interface once the kernel driver binds to it -
before commit 4cc01410e1c1 nothing claimed these interfaces in-kernel,
so such tools worked out of the box.
leStoppe, to figure out the right fix, could you share:
1. which userspace software you use with the VDS1022 (is it a
libusb-based tool?);
2. the output of "lsusb -v" (or "usb-devices") for the VDS1022;
3. whether the VDS1022 supports the same SCPI command set as the
HDS200 series.
Craig, was the intent of 4cc01410e1c1 to cover only the HDS200 series,
or the whole range of OWON scopes sharing this VID:PID?
I'll follow up with a v2 that switches to USB_DEVICE_INTERFACE_CLASS(),
fixes the comment style, and drops the wording about falling back to a
generic driver.
Best regards,
Huang Wei
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] USB: serial: simple: narrow OWON match to avoid breaking VDS1022
2026-08-17 9:35 ` Huang Wei
@ 2026-10-13 21:42 ` Amit
2026-10-15 2:54 ` Huang Wei
0 siblings, 1 reply; 12+ messages in thread
From: Amit @ 2026-10-13 21:42 UTC (permalink / raw)
To: Huang Wei
Cc: Johan Hovold, Greg Kroah-Hartman, Craig Hesling, linux-usb, linux-kernel
Hi Huang,
I've updated on the Bugzilla. Let me reply on the queries here
as well.
1. The userspace tool uses libusb and the automatic driver load
prevents it from accessing the device. The software used is:
https://github.com/florentbr/Owon-VDS1022
3. The VDS1022 supports some SCPI commands once I enabled it via the
console in the application above. I do not know if it's the same set as
the HDS200 series.
However, I want to emphasize that the SCPI interface is a
secondary feature for additional functionality. The userspace tool
above is the more basic / essential function to view the waveforms.
The HDS200 is a handheld scope with a built-in waveform display.
The VDS1022 is USB device that depends entirely on the PC software to
view anything at all. Turning it into a generic serial interface is a
downgrade.
2. output of lsusb -v -d 5345:1234
--------------------------------------------------------------------
Bus 001 Device 003: ID 5345:1234 Owon PDS6062T Oscilloscope
Negotiated speed: Full Speed (12Mbps)
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 2 Communications
bDeviceSubClass 0 [unknown]
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x5345 Owon
idProduct 0x1234 PDS6062T Oscilloscope
bcdDevice 10.01
iManufacturer 1 S
iProduct 2 U
iSerial 3 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x0029
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 50mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 5 Physical Interface Device
bInterfaceSubClass 6 [unknown]
bInterfaceProtocol 80
iInterface 0
** UNRECOGNIZED: 09 21 00 01 00 01 22 00 00
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
cannot read device status, Resource temporarily unavailable (11)
--------------------------------------------------------------------
On Mon, 17 Aug 2026 17:35:49 +0800
Huang Wei <huangwei@kylinos.cn> wrote:
> Hi Johan,
>
> Thanks for the review.
>
> You're right that the owon 'simple' driver is effectively an alias for
> the generic usbserial driver, so a VDS1022 used through a kernel tty
> would not have been broken by the new match. The reporter's breakage
> is therefore most likely due to a libusb-based userspace tool, which
> can no longer claim the interface once the kernel driver binds to it -
> before commit 4cc01410e1c1 nothing claimed these interfaces in-kernel,
> so such tools worked out of the box.
>
> leStoppe, to figure out the right fix, could you share:
>
> 1. which userspace software you use with the VDS1022 (is it a
> libusb-based tool?);
> 2. the output of "lsusb -v" (or "usb-devices") for the VDS1022;
> 3. whether the VDS1022 supports the same SCPI command set as the
> HDS200 series.
>
> Craig, was the intent of 4cc01410e1c1 to cover only the HDS200 series,
> or the whole range of OWON scopes sharing this VID:PID?
>
> I'll follow up with a v2 that switches to
> USB_DEVICE_INTERFACE_CLASS(), fixes the comment style, and drops the
> wording about falling back to a generic driver.
>
> Best regards,
> Huang Wei
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] USB: serial: simple: narrow OWON match to avoid breaking VDS1022
2026-10-13 21:42 ` Amit
@ 2026-10-15 2:54 ` Huang Wei
0 siblings, 0 replies; 12+ messages in thread
From: Huang Wei @ 2026-10-15 2:54 UTC (permalink / raw)
To: leStoppe
Cc: Johan Hovold, Greg Kroah-Hartman, Craig Hesling, linux-usb,
linux-kernel, huangwei
Hi leStoppe,
Thanks a lot for the dump - this settles it. Johan's hypothesis was
exactly right: the florentbr tool talks to the VDS1022 over libusb,
and the kernel driver binding is what blocks it from claiming the
interface. And the point that the VDS1022 is a headless scope where
the PC tool is the primary interface makes it clear it should stay
unclaimed.
The descriptor data also settles the match question, in a slightly
unexpected way. The two families share interface class 5, but:
HDS272S (dump in the commit message of 4cc01410e1c1):
class 5, subclass 0, protocol 0
VDS1022 (your dump):
class 5, subclass 6, protocol 0x50
So a class-only match - the USB_DEVICE_INTERFACE_CLASS() form that
came up in the August review - would still claim the VDS1022. The
full interface tuple does discriminate, which is what my original v1
used. I'll follow up with a v2 that keeps the full-tuple match and
reworks the commit message around the libusb breakage, with both
descriptor dumps as the justification.
Craig - if you happen to know whether subclass 0 / protocol 0 holds
across the HDS200 series and firmware versions, that would be a
useful confirmation; the dump in your commit message is the only
HDS200 data point I have.
Thanks,
Huang Wei
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v2] USB: serial: simple: narrow OWON match to avoid breaking VDS1022
2026-08-10 9:13 [PATCH] USB: serial: simple: narrow OWON match to avoid breaking VDS1022 Huang Wei
2026-08-10 11:43 ` Greg Kroah-Hartman
2026-08-17 8:47 ` Johan Hovold
@ 2026-10-15 2:54 ` Huang Wei
2 siblings, 0 replies; 12+ messages in thread
From: Huang Wei @ 2026-10-15 2:54 UTC (permalink / raw)
To: johan; +Cc: gregkh, lestoppe, craig, linux-usb, linux-kernel, huangwei
A USB_DEVICE() match on VID:PID 0x5345:0x1234 was added to the
owon_device entry in drivers/usb/serial/usb-serial-simple.c by
commit 4cc01410e1c1 ("USB: serial: simple: add OWON HDS200 series
oscilloscope support"). OWON uses this VID:PID across multiple device
families (HDS, VDS, SDS, PDS), so the broad match makes the
owon_device driver also claim devices such as the VDS1022.
While the owon_device entry is equivalent to the generic usbserial
driver for kernel-space users, the VDS1022 is a headless scope that
is driven from userspace over libusb (e.g. the florentbr/Owon-VDS1022
tool), which can no longer claim the interface once a kernel driver
binds to it. Prior to that commit, no in-kernel driver claimed these
interfaces.
The two families can be told apart by their interface descriptors
despite sharing interface class 5 (Physical): the HDS200 series
reports subclass 0 and protocol 0, as documented by the HDS272S dump
(firmware V5.7.1) in that commit's message, while the VDS1022 reports
subclass 6 and protocol 0x50. Match the full HDS200 interface
tuple so that the VDS1022 remains unclaimed and stays accessible to
userspace tools.
Reported-by: leStoppe <lestoppe@gmail.com>
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=220193
Tested-by: leStoppe <lestoppe@gmail.com>
Signed-off-by: Huang Wei <huangwei@kylinos.cn>
---
Changes in v2:
- Rework the commit message per Johan Hovold's review: describe the
libusb-based userspace breakage instead of the incorrect claim
about falling back to the generic usbserial driver.
- Match on the full HDS200 interface tuple (subclass 0, protocol 0)
instead of the interface class alone: both the HDS200 and the
VDS1022 are interface class 5, so a class-only match would still
claim the VDS1022. The tuple values are verified against the
HDS272S dump in the commit message of 4cc01410e1c1 and the VDS1022
dump provided by leStoppe.
- Fix the multi-line comment style.
---
drivers/usb/serial/usb-serial-simple.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/drivers/usb/serial/usb-serial-simple.c b/drivers/usb/serial/usb-serial-simple.c
index a0afaf254d12..879508f54d69 100644
--- a/drivers/usb/serial/usb-serial-simple.c
+++ b/drivers/usb/serial/usb-serial-simple.c
@@ -100,9 +100,17 @@ DEVICE(nokia, NOKIA_IDS);
{ USB_DEVICE(0x09d7, 0x0100) } /* NovAtel FlexPack GPS */
DEVICE_N(novatel_gps, NOVATEL_IDS, 3);
-/* OWON electronic test and measurement equipment driver */
+/*
+ * OWON electronic test and measurement equipment driver.
+ * OWON uses the same VID:PID (0x5345:0x1234) for multiple device
+ * families (HDS, VDS, SDS, PDS). Match the full interface tuple
+ * reported by the HDS200 series (class 5, subclass 0, protocol 0) so
+ * that devices with a different interface tuple, such as the VDS1022
+ * (class 5, subclass 6, protocol 0x50) which is driven from userspace
+ * over libusb, remain unclaimed.
+ */
#define OWON_IDS() \
- { USB_DEVICE(0x5345, 0x1234) } /* HDS200 oscilloscopes and others */
+ { USB_DEVICE_AND_INTERFACE_INFO(0x5345, 0x1234, 0x05, 0x00, 0x00) }
DEVICE(owon, OWON_IDS);
/* Siemens USB/MPI adapter */
--
2.25.1
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2026-10-15 2:55 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-08-10 9:13 [PATCH] USB: serial: simple: narrow OWON match to avoid breaking VDS1022 Huang Wei
2026-08-10 11:43 ` Greg Kroah-Hartman
2026-08-10 19:40 ` leStoppe
2026-08-11 13:17 ` Huang Wei
2026-08-11 15:18 ` Amit
2026-08-11 7:39 ` Michal Pecio
2026-08-11 13:05 ` Huang Wei
2026-08-17 8:47 ` Johan Hovold
2026-08-17 9:35 ` Huang Wei
2026-10-13 21:42 ` Amit
2026-10-15 2:54 ` Huang Wei
2026-10-15 2:54 ` [PATCH v2] " Huang Wei
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®