Download raw body.
uchcom: attach to device id 0x7522 (CH340K)
On Mon, Aug 11, 2025 at 07:05:09PM +0200, Sven M. Hallberg wrote:
> 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 },
Thanks for the patch. Committed with the CH340K line moved
to under the CH340 one to keep it sorted.
> { 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)