Why Ubuntu /dev/tty not found?
In this article, I will explain why the serial CH340 /dev/ttyUSB not showing in the Arduino ide software but is detected in the terminal when using the lsusb command Linux.
If we use the “lsusb” command, the USB bus is detected as “Bus 006 Device 008: ID 1a86:7523 QinHeng Electronics CH340 Serial Converter.”
neon@linux:~$ lsusb Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 006 Device 002: ID 046d:c534 Logitech, Inc. Unifying Receiver Bus 006 Device 008: ID 1a86:7523 QinHeng Electronics CH340 serial converter Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 001 Device 003: ID 10f1:1a36 Importek TOSHIBA Web Camera - MP Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 004 Device 002: ID 08ff:2810 AuthenTec, Inc. AES2810 Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
However, in the software, I use it doesn’t appear, so I can’t upload data via the USB.
Why is /tty/USB not showing?
It’s not just USB0 only, but all USB* will not appear.
This problem occurs because the CH340 driver is not available properly on Linux or the interface address of the USB is used by another device, so it will be disconnected automatically.
Although some Linux distros can detect it automatically just fine, for those who get this error, therefore, you can install this serial 2.0 chip driver.
If CH340 driver is missing/broken
Download CH340 Driver Linux
The first step is to download the library via the following button:
Install CH340 Driver Linux
When the download is complete, please extract the CH341SER-master.zip file.
Open a terminal and navigate to the CH341SER-master folder.
For example, the location of the extracted file is in the “Downloads” folder, then enter into that folder using the command:
If you look, some files like this:
neon@linux:~/Downloads/CH341SER-master$ ls -l total 92 -rw-rw-r-- 1 neon neon 35395 Jul 2 00:08 ch34x.c drwxrwxr-x 2 neon neon 4096 Jul 2 00:08 images -rw-rw-r-- 1 neon neon 35149 Jul 2 00:08 LICENSE -rw-rw-r-- 1 neon neon 332 Jul 2 00:08 Makefile -rw-rw-r-- 1 neon neon 5866 Jul 2 00:08 README.md -rw-rw-r-- 1 neon neon 531 Jul 2 00:08 readme.txt
Use the following command to compile:
After that, you will see there are files created.
Then use the following command to make load:
sudo make load
After this, replug the device and reload the application you are using. In the example of this article, I used the Arduino IDE application.
If it doesn’t appear, please logout/reboot your Linux operating system.
If interface address clashes with brltty
This possibility exists because the interface address is used by BRLTTY such as Interface claimed by ch34x while ‘brltty’ sets config #1.
What is BRLTTY?
BRLTTY is a background process (daemon) that provides access to the Linux/Unix console (when in text mode) for a blind person using a refreshable braille display. It drives the braille display and provides complete screen review functionality. Some speech capability has also been incorporated.
Look at this picture when I use “sudo dmesg” command:
Why did this happen?
This happens because BRLTTY uses the same idVendor and idProduct as CH340. Pay attention to the following table:
ID BRLTTY CH340 idVendor 1a86 1a86 idProduct 7523 7523
On the next page, we will fix this error caused by BRLTTY.