USB Serial Driver Request

Hi, can GL-iNet provide the driver (i think i’ll need both serial.ko and pl2303.ko) for my USB serial? I vaguely recall earlier version had it supported, but it doesn’t seem like the case anymore.

T:  Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  3 Spd=12   MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=067b ProdID=23a3 Rev= 3.05
S:  Manufacturer=Prolific Technology Inc. 
S:  Product=USB-Serial Controller 
S:  SerialNumber=ECASb153609
C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA
I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)
E:  Ad=81(I) Atr=03(Int.) MxPS=  10 Ivl=1ms
E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=83(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms



bash-4.4# uname -a
Linux glkvm 4.19.111 #1 SMP PREEMPT Wed Sep 16 15:47:42 CST 2026 armv7l GNU/Linux
bash-4.4# cat /proc/version 
Linux version 4.19.111 (tinghai@gl-MS-7D70) (gcc version 6.3.1 20170404 (Linaro GCC 6.3-2017.05)) #1 SMP PREEMPT Wed Sep 16 15:47:42 CST 2026

Hi, please let us know which firmware version and KVM model you're using.

# cat /etc/version
RK_MODEL=RM1
RK_VERSION=V1.10.1 release3
RK_OTA_HOST=

Hi, PL2303 is supported. The PL2303 driver is built into the kernel. If you have any issues using it, please provide us with the kernel log:

dmesg | tail -n 200

You're right, it's built in to kernel. My initial post body has /sys/kernel/debug/usb/devices output showing the device isn't bind to any driver.

After some digging, it looks like my device is a refresh'ed PL2303 adapter, such that its driver is only added after kernel 5.5 with more than just VID:PID table change. so the KVM's kernel predates that. I attempted manually binding the driver; while that creates the device ttyUSB0, it doesn't work.

[root@glkvm:/sys/bus/usb-serial/drivers/pl2303]# echo 067b 23a3 > new_id
[root@glkvm:/sys/bus/usb-serial/drivers/pl2303]# dmesg | tail -30
[167972.962166] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[167972.962187] usb 2-1: Product: USB-Serial Controller
[167972.962206] usb 2-1: Manufacturer: Prolific Technology Inc.
[167972.962225] usb 2-1: SerialNumber: ECASb153609
[168253.080371] pl2303 2-1:1.0: pl2303 converter detected
[168253.081032] pl2303 2-1:1.0: pl2303_vendor_read - failed to read [8484]: -32
[168253.083684] pl2303 2-1:1.0: pl2303_vendor_write - failed to write [0404]: -32
[168253.085045] pl2303 2-1:1.0: pl2303_vendor_read - failed to read [8484]: -32
[168253.087024] pl2303 2-1:1.0: pl2303_vendor_read - failed to read [8383]: -32
[168253.089058] pl2303 2-1:1.0: pl2303_vendor_read - failed to read [8484]: -32
[168253.091107] pl2303 2-1:1.0: pl2303_vendor_write - failed to write [0404]: -32
[168253.093204] pl2303 2-1:1.0: pl2303_vendor_read - failed to read [8484]: -32
[168253.095115] pl2303 2-1:1.0: pl2303_vendor_read - failed to read [8383]: -32
[168253.097082] pl2303 2-1:1.0: pl2303_vendor_write - failed to write [0000]: -32
[168253.099719] pl2303 2-1:1.0: pl2303_vendor_write - failed to write [0001]: -32
[168253.100998] pl2303 2-1:1.0: pl2303_vendor_write - failed to write [0002]: -32
[168253.101703] usb 2-1: pl2303 converter now attached to ttyUSB0
[168299.777113] pl2303 2-1:1.0: pl2303_vendor_write - failed to write [0008]: -32
[168299.778982] pl2303 2-1:1.0: pl2303_vendor_write - failed to write [0009]: -32
[168299.785100] pl2303 2-1:1.0: pl2303_vendor_write - failed to write [0000]: -32
[168299.793018] pl2303 2-1:1.0: pl2303_vendor_write - failed to write [0000]: -32
[168299.799059] pl2303 2-1:1.0: pl2303_vendor_write - failed to write [0000]: -32
[168317.738581] pl2303 2-1:1.0: pl2303_vendor_write - failed to write [0000]: -32
[168330.913879] RKMODULE_GET_HDR_CFG
[168330.914003] rkisp rkisp-vir0: can not get first iq setting in stream on
[168330.915151] rockchip-mipi-dphy-rx ff4b0000.csi-dphy: stream on:1
[168330.915186] rockchip-mipi-dphy-rx: data_rate_mbps 1000
[168330.916246] rkisp0: MIPI error: packet: 0x01000000
[168330.927355] rkisp0: MIPI error: packet: 0x00000101
[168458.725046] pl2303 2-1:1.0: pl2303_vendor_write - failed to write [0000]: -32

Looks like the i'd have to either use a different adapter, or to build the backported driver. Can you point me to where to find the kernel source and toolchain, so i can build driver for that? Or does GL-iNet has a way to ask if chip vendor (rockchip) already has a backported driver?

We recommend trying another adapter. The kernel version of RM1 is 4.19. Below are the corresponding source code and toolchain: https://github.com/gl-inet/kernel-4.19 https://github.com/gl-inet/glkvm-opensdk-rv1126 Other devices such as RM1V2 run kernel version 6.1.

Thanks! gpt-6.1-sol built me the back ported driver very quickly from those kernel source and toolchain. Putting the driver here since it might be helpful to others.

pl2303_rm1.ko.zip (92.7 KB)

Expect logs like those:

[  179.255076] usb 2-1: new full-speed USB device number 3 using ohci-platform
[  179.487159] usb 2-1: New USB device found, idVendor=067b, idProduct=23a3, bcdDevice= 3.05
[  179.487208] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  179.487224] usb 2-1: Product: USB-Serial Controller
[  179.487238] usb 2-1: Manufacturer: Prolific Technology Inc.
[  179.487251] usb 2-1: SerialNumber: ECASb153609
[  179.490344] pl2303_rm1 2-1:1.0: pl2303_rm1 converter detected
[  179.491383] usb 2-1: pl2303_rm1 converter now attached to ttyUSB0