CH340 Serial Devices Not Enumerating In /dev/tty

Likely the same failure seen in CH340 devices are not showing up on "ls /dev/tty*"

Devices using the CH340 serial converter are recognized but no kernel module is available to enumerate a serial port. I’m not sure what Jetpack I’m on, but it’s no more than a year old. I’m very surprised to see that this module is missing given that Arduinos use this converter.

$ lsusb | grep CH340
Bus 001 Device 009: ID 1a86:7523 QinHeng Electronics CH340 serial converter
$ uname -r
5.15.148-tegra

Hi ss332,

Please share the result of the following command on your board.

$ cat /etc/nv_tegra_release
$ zcat /proc/config.gz | grep CONFIG_USB_SERIAL_CH341

You can also refer to Issue with CH340 USB-to-Serial Converter Not Creating Device Files on Jetson Orin Nano Super - #2 for the similar isse as yours.

@ss332 You’ll need to get a kernel module which supports the CH340/CH341 If you’re using the most recent JetPacks, this may help :

cat /etc/nv_tegra_release
# R36 (release), REVISION: 4.4, GCID: 41062509, BOARD: generic, EABI: aarch64, DATE: Mon Jun 16 16:07:13 UTC 2025
# KERNEL_VARIANT: oot
TARGET_USERSPACE_LIB_DIR=nvidia
TARGET_USERSPACE_LIB_DIR_PATH=usr/lib/aarch64-linux-gnu/nvidia
$ zcat /proc/config.gz | grep CONFIG_USB_SERIAL_CH341
# CONFIG_USB_SERIAL_CH341 is not set


I would expect this kernel module to be enabled by default considering how common it is; why isn’t it?

Thank you. Jetson hacks to the rescue, as always.

In L4T R36.x the kernel is the stock one from mainline. I think that’s mainline’s default configuration, and not really something NVIDIA has picked. In earlier releases (R35.x and below) this was a custom out-of-tree kernel. Do realize though that most of the arm64 devices out there are far more limited devices and not something which can compete with a full high end desktop system; most of the embedded traditional devices are quite limited in how much RAM and storage space is available, so they tend to have inherited a more minimal set of drivers than those you would find in a traditional desktop PC.

And yes, JetsonHacks.com is one of the few places that will go so far as to make a video for such fixes which are very clear! +1 to @kangalow.

Yes, we aligned the codebase with upstream since JP6(r36.x) and that kernel configuration is not added by default.
You can simply enable it manually for your use case.