Files
orin-nano-env-setup/docs/impl/reports/PL2303-DRIVER.md
T
2026-10-14 00:40:39 +09:00

1.9 KiB

type, date
type date
report 2026-10-14

PL2303 USB-serial driver, built out of tree

The WT61 plus (the IMU) sits behind a USB-UART adapter, and its enclosure is designed around a PL2303GC (067b:23a3). JetPack's kernel ships CONFIG_USB_SERIAL_PL2303 unset: of the plain USB-UART drivers it has only cp210x and ftdi_sio. The adapter enumerated but got no ttyUSB. Built the way qmi_wwan is (SIM7600-SETUP).

What is installed

~/infra/pl2303/
├── Makefile    # obj-m += pl2303.o ; `make install` → /lib/modules/$(uname -r)/misc/ + depmod
├── pl2303.c    # linux-stable v5.15.148 drivers/usb/serial/pl2303.c
└── pl2303.h    # linux-stable v5.15.148 drivers/usb/serial/pl2303.h (has PL2303_PRODUCT_ID_GC 0x23a3)

/lib/modules/5.15.148-tegra/misc/pl2303.ko, vermagic 5.15.148-tegra SMP preempt mod_unload modversions aarch64, depends on the in-tree usbserial. After depmod it loads through the USB modalias when the adapter is plugged in: no /etc/modules entry. Built as the user against /lib/modules/$(uname -r)/build; only make install needs sudo.

The adapter's serial number is not unique, and nothing names it: svc-core's imu service finds the WT61 by trying every USB-UART adapter (cp210x, pl2303, ftdi_sio, ch341), never the modem's option ports.

Rebuilding after a kernel update

Like pcan and qmi_wwan, it does not survive a kernel update. Sign: the adapter is in lsusb but there is no new ttyUSB, and yukart/system/imu says no WT61 on [].

cd ~/infra/pl2303
# if the kernel's upstream base version changed, refresh the sources:
#   V=v5.15.xxx; for f in pl2303.c pl2303.h; do
#     curl -fL -o $f "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/plain/drivers/usb/serial/$f?h=$V"; done
make clean && make && sudo make install
sudo modprobe pl2303