Some Arduino / USB Serial Converters use CH341 (or HL-340) which are not installed by the default jetpack. After struggling for a while, I solved the problem and decided to write this guide
Known Devices that might have this problem:
– Some Arduinos
– RS232 to USB serial converter
If you happen to have such device, by typing in command
You might see “QinHeng Electronics HL-340 USB-Serial adapter”
I found out that HL-340 can be used after CH341 driver is enabled.
There was an outdated guide on eLinux for FTDI drivers. Fortunately, it can be easily applied to CH341 as well.
download the source of your kernel from here at the bottom of the page
extract the file, you will see kernel_src.tar.bz2 inside.
Extract kernel_src.tar.bz2 by
tar xvjf kernel_src.tar.bz2
cd into the extract folder, you will see hardware folder and a kernel folder
cd into kernel folder and then cd into kernel-4.4 folder
We then copy the config file to here
zcat /proc/config.gz > ./.config
edit the file,
find the line with “#CONFIG_USB_SERIAL_CH341”
uncomment it and change it to CONFIG_USB_SERIAL_CH341=m
Next, find the line CONFIG_LOCALVERSION= ,
make it CONFIG_LOCALVERSION="-tegra"
This step is to avoid the version magic error.
sudo cp drivers/usb/serial/ch341.ko /lib/modules/$(uname -r)/kernel
sudo depmod -a
Now plug in your serial device and type in dmesg | grep ch341
You should see the device attached to ttyUSB*
The procedure may also be applied to other serial devices, but I found ch341 one of the most common one.