From: Jonathan Gray Subject: Re: uchcom(4): add missing usb device To: Benjamin Stürz Cc: tech@openbsd.org Date: Tue, 12 Aug 2025 11:58:09 +1000 Thanks for the patch. I'll commit Sven's version that calls it CH340K. That is what the WCH windows driver refers to 0x7522 as. %CH340KSER.DeviceDesc% = CH341SER_Install, USB\VID_1A86&PID_7522 On Sun, Aug 10, 2025 at 03:00:12PM +0200, Benjamin Stürz wrote: > Hi tech@, > > I got a new WHY2025 badge [1] and it has a built-in CH340 chip, > which uses the 7522 product ID, instead of the 7523 [2]. > > This patch adds the missing ID. > Tested on amd64 and works with the badge. > > [1]: https://wiki.why2025.org/Badge > [2]: https://usb-ids.gowdy.us/read/UD/1a86/7522 > > diff /usr/src > path + /usr/src > commit - 3f426169bdac9dbe851ed420bdcbc18639cb08cb > blob - 19b50b5ad29f446f56600ea9344669455c05d778 > file + sys/dev/usb/uchcom.c > --- sys/dev/usb/uchcom.c > +++ sys/dev/usb/uchcom.c > @@ -241,7 +241,8 @@ const struct ucom_methods uchcom_methods = { > > static const struct usb_devno uchcom_devs[] = { > { USB_VENDOR_WCH, USB_PRODUCT_WCH_CH341 }, > - { USB_VENDOR_WCH2, USB_PRODUCT_WCH2_CH340 }, > + { USB_VENDOR_WCH2, USB_PRODUCT_WCH2_CH340_1 }, > + { USB_VENDOR_WCH2, USB_PRODUCT_WCH2_CH340_2 }, > { USB_VENDOR_WCH2, USB_PRODUCT_WCH2_CH341A }, > { USB_VENDOR_WCH2, USB_PRODUCT_WCH2_CH343 }, > { USB_VENDOR_WCH2, USB_PRODUCT_WCH2_CH9102 } > commit - 3f426169bdac9dbe851ed420bdcbc18639cb08cb > blob - b52fa8ef37ab7c819afc97c9c4b938277f61ae1a > file + sys/dev/usb/usbdevs > --- sys/dev/usb/usbdevs > +++ sys/dev/usb/usbdevs > @@ -4710,7 +4710,8 @@ product WCH CH341 0x5523 CH341 serial/parallel > product WCH2 CH341A 0x5523 CH341A serial/parallel > product WCH2 CH343 0x55d3 CH343 serial/parallel > product WCH2 CH9102 0x55d4 CH9102 serial/parallel > -product WCH2 CH340 0x7523 CH340 serial/parallel > +product WCH2 CH340_1 0x7522 CH340 serial/parallel > +product WCH2 CH340_2 0x7523 CH340 serial/parallel > product WCH2 TEMPER 0xe025 TEMPer sensor > > /* WIENER Plein & Baus products */ > commit - 3f426169bdac9dbe851ed420bdcbc18639cb08cb > blob - acb22cfa23aaed5441b05f974669c9c240ffeb95 > file + sys/dev/usb/usbdevs.h > --- sys/dev/usb/usbdevs.h > +++ sys/dev/usb/usbdevs.h > @@ -1,4 +1,4 @@ > -/* $OpenBSD: usbdevs.h,v 1.792 2025/07/14 23:49:48 jsg Exp $ */ > +/* $OpenBSD$ */ > > /* > * THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. > @@ -4717,7 +4717,8 @@ > #define USB_PRODUCT_WCH2_CH341A 0x5523 /* CH341A serial/parallel */ > #define USB_PRODUCT_WCH2_CH343 0x55d3 /* CH343 serial/parallel */ > #define USB_PRODUCT_WCH2_CH9102 0x55d4 /* CH9102 serial/parallel */ > -#define USB_PRODUCT_WCH2_CH340 0x7523 /* CH340 serial/parallel */ > +#define USB_PRODUCT_WCH2_CH340_1 0x7522 /* CH340 serial/parallel */ > +#define USB_PRODUCT_WCH2_CH340_2 0x7523 /* CH340 serial/parallel */ > #define USB_PRODUCT_WCH2_TEMPER 0xe025 /* TEMPer sensor */ > > /* WIENER Plein & Baus products */ > commit - 3f426169bdac9dbe851ed420bdcbc18639cb08cb > blob - 38d4fcf788e29d5d399149a80f3ee4833cf309d3 > file + sys/dev/usb/usbdevs_data.h > --- sys/dev/usb/usbdevs_data.h > +++ sys/dev/usb/usbdevs_data.h > @@ -1,4 +1,4 @@ > -/* $OpenBSD: usbdevs_data.h,v 1.786 2025/07/14 23:49:48 jsg Exp $ */ > +/* $OpenBSD$ */ > > /* > * THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. > @@ -12138,10 +12138,14 @@ const struct usb_known_product > usb_known_products[] = > "CH9102 serial/parallel", > }, > { > - USB_VENDOR_WCH2, USB_PRODUCT_WCH2_CH340, > + USB_VENDOR_WCH2, USB_PRODUCT_WCH2_CH340_1, > "CH340 serial/parallel", > }, > { > + USB_VENDOR_WCH2, USB_PRODUCT_WCH2_CH340_2, > + "CH340 serial/parallel", > + }, > + { > USB_VENDOR_WCH2, USB_PRODUCT_WCH2_TEMPER, > "TEMPer sensor", > }, > >