在使用USB转串口时,明明插入了CH340串口USB设备,并且命令行输入:lsusb 显示出了你的USB设备,但是在输入命令:ls /dev/tty*时却找不到你的设备:
lsusb #查看USB设备
ls /dev/tty* #查看USB转串口设备
解决办法如下:
1. 打开南京沁恒官网下载CH340驱动
Linux版本驱动
直接点击下载即可
下载完成后是这样的,记得把它拷到一个文件夹中再解压
输入命令直接解压:
unzip CH341SER_LINUX.ZIP
解压完成后有1个文件夹,进入文件夹 cd CH341SER_LINUX/driver
cd CH341SER_LINUX/driver/
![]()
2. 编译文件Makefile
直接输入
make #进行编译
当你编译完成,想给 ch341.ko签名时却报错了
hobot-sign-file ch341.ko
![]()
![]()
sunrise@ubuntu:~/Desktop/Serial/CH341SER_LINUX/driver$ hobot-sign-file ch341.ko
sign-file: error while loading shared libraries: libcrypto.so.1.1: cannot open shared object file: No such file or director
此时提示缺少驱动libcrypto.so.1.1
此时得去装一个,命令行下载方式如下:
wget http://ports.ubuntu.com/ubuntu-ports/pool/main/o/openssl/libcrypto1.1-udeb_1.1.1f-1ubuntu2.24_arm64.udeb
如果链接挂了可以去官网找
驱动官网
下载完了是这样的:
同样把他拷到你的X3上并输入命令:
ar x libcrypto1.1-udeb_1.1.1f-1ubuntu2.24_arm64.udeb # 解包 .udeb(它是 ar 格式)
# 你会看到三个文件:debian-binary, control.tar.xz, data.tar.xz
# 我们要解压 data.tar.xz(包含实际文件)
tar -xf data.tar.xz
解压完成后,进入usr/lib文件夹:
cd usr/lib/
你会看到如下内容:
sunrise@ubuntu:~/Desktop/Serial/lib/usr/lib$ ls
libcrypto.so.1.1 ssl
libcrypto.so.1.1就是我们缺少的文件!
好了直接它拷到/usr/lib/aarch64-linux-gnu/中并刷新:
sudo cp libcrypto.so.1.1 /usr/lib/aarch64-linux-gnu/ #拷文件
sudo ldconfig #刷新
file /usr/lib/aarch64-linux-gnu/libcrypto.so.1.1 #看看刷出来没
如果你看到的内容和以下内容类似就没问题了
sunrise@ubuntu:~/Desktop/Serial/lib/usr/lib$ sudo cp libcrypto.so.1.1 /usr/lib/aarch64-linux-gnu/
sunrise@ubuntu:~/Desktop/Serial/lib/usr/lib$ sudo ldconfig
/sbin/ldconfig.real: file /usr/lib/libssl.so.10 is truncated
/sbin/ldconfig.real: file /usr/lib/libcrypto.so.10 is truncated
sunrise@ubuntu:~/Desktop/Serial/lib/usr/lib$ file /usr/lib/aarch64-linux-gnu/libcrypto.so.1.1
/usr/lib/aarch64-linux-gnu/libcrypto.so.1.1: ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=3a7fe0be0d70d0a88c22f0f0352b0bf8a63cc094, stripped
sunrise@ubuntu:~/Desktop/Serial/lib/usr/lib$ ldconfig -p | grep libcrypto.so.1.1
libcrypto.so.1.1 (libc6,AArch64) => /lib/aarch64-linux-gnu/libcrypto.so.1.1
3. 回到CH340的驱动文件夹重新编译驱动
/usr/bin/hobot-sign-file ch341.ko #重新签名ch341.ko
sudo make load #加载ch341
lsmod | grep ch341 #看看刷出来没
如果你看到类似以下页面,就是驱动安装成功了:
sunrise@ubuntu:~/Desktop/Serial/CH341SER_LINUX/driver$ /usr/bin/hobot-sign-file ch341.ko
Sign Kernel Module File Done.
sunrise@ubuntu:~/Desktop/Serial/CH341SER_LINUX/driver$ sudo make load
insmod ch341.ko
sunrise@ubuntu:~/Desktop/Serial/CH341SER_LINUX/driver$ lsmod | grep ch341
ch341 28672 0
最后插拔一下USB
ls /dev/tty*
还没搞定!
这种方法安装一会重启会掉,所以你得将他安装到系统的模块目录,设置重启自动启动
sudo cp ch341.ko /lib/modules/$(uname -r)/kernel/drivers/usb/serial/
sudo depmod -a #更新依赖关系
echo 'ch341' | sudo tee -a /etc/modules #开机自启
可以了解决!







