Download raw body.
uchcom(4): add missing usb device
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",
> },
>
>
uchcom(4): add missing usb device