Download raw body.
uchcom: attach to device id 0x7522 (CH340K)
I've got a device with a CH340K USB-to-serial chip from QinHeng
Electronics, alias WCH, that has the USB device ID 0x7522. It works
with the CH341 code path of uchcom.
addr 02: 1a86:7522 QinHeng Electronics, USB Serial
full speed, power 98 mA, config 1, rev 2.64
driver: uchcom0
Index: dev/usb/uchcom.c
===================================================================
RCS file: /cvs/src/sys/dev/usb/uchcom.c,v
retrieving revision 1.37
diff -u -p -r1.37 uchcom.c
--- dev/usb/uchcom.c 22 Oct 2024 21:50:02 -0000 1.37
+++ dev/usb/uchcom.c 11 Aug 2025 16:26:13 -0000
@@ -241,6 +241,7 @@ 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_CH340K },
{ USB_VENDOR_WCH2, USB_PRODUCT_WCH2_CH340 },
{ USB_VENDOR_WCH2, USB_PRODUCT_WCH2_CH341A },
{ USB_VENDOR_WCH2, USB_PRODUCT_WCH2_CH343 },
Index: dev/usb/usbdevs
===================================================================
RCS file: /cvs/src/sys/dev/usb/usbdevs,v
retrieving revision 1.780
diff -u -p -r1.780 usbdevs
--- dev/usb/usbdevs 14 Jul 2025 23:49:08 -0000 1.780
+++ dev/usb/usbdevs 11 Aug 2025 16:26:13 -0000
@@ -4710,6 +4710,7 @@ product WCH CH341 0x5523 CH341 serial/p
product WCH2 CH341A 0x5523 CH341A serial/parallel
product WCH2 CH343 0x55d3 CH343 serial/parallel
product WCH2 CH9102 0x55d4 CH9102 serial/parallel
+product WCH2 CH340K 0x7522 CH340K serial/parallel
product WCH2 CH340 0x7523 CH340 serial/parallel
product WCH2 TEMPER 0xe025 TEMPer sensor
Index: dev/usb/usbdevs.h
===================================================================
RCS file: /cvs/src/sys/dev/usb/usbdevs.h,v
retrieving revision 1.792
diff -u -p -r1.792 usbdevs.h
--- dev/usb/usbdevs.h 14 Jul 2025 23:49:48 -0000 1.792
+++ dev/usb/usbdevs.h 11 Aug 2025 16:26:13 -0000
@@ -4717,6 +4717,7 @@
#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_CH340K 0x7522 /* CH340K serial/parallel */
#define USB_PRODUCT_WCH2_CH340 0x7523 /* CH340 serial/parallel */
#define USB_PRODUCT_WCH2_TEMPER 0xe025 /* TEMPer sensor */
Index: dev/usb/usbdevs_data.h
===================================================================
RCS file: /cvs/src/sys/dev/usb/usbdevs_data.h,v
retrieving revision 1.786
diff -u -p -r1.786 usbdevs_data.h
--- dev/usb/usbdevs_data.h 14 Jul 2025 23:49:48 -0000 1.786
+++ dev/usb/usbdevs_data.h 11 Aug 2025 16:26:13 -0000
@@ -12136,6 +12136,10 @@ const struct usb_known_product usb_known
{
USB_VENDOR_WCH2, USB_PRODUCT_WCH2_CH9102,
"CH9102 serial/parallel",
+ },
+ {
+ USB_VENDOR_WCH2, USB_PRODUCT_WCH2_CH340K,
+ "CH340K serial/parallel",
},
{
USB_VENDOR_WCH2, USB_PRODUCT_WCH2_CH340,
uchcom: attach to device id 0x7522 (CH340K)