Index | Thread | Search

From:
Benjamin Stürz <benni+openbsd-tech@stuerz.xyz>
Subject:
uchcom(4): add missing usb device
To:
tech@openbsd.org
Cc:
jsg@openbsd.org
Date:
Sun, 10 Aug 2025 15:00:12 +0200

Download raw body.

Thread
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",
  	},