Ubuntu 22.04 解决CH340 usb转串失败问题

1 ,  发现PC上不能识别USB转串口设备.  用lsusb命令查看可以找到设备

Bus 001 Device 012: ID 1a86:7523 QinHeng Electronics CH340 serial converter

2,说明驱动程序出了问题.

    到网上去找驱动CH341SER_LINUX.ZIP - 南京沁恒微电子股份有限公司

根据readme.txt文件, make后得到ch341.ko

3, 但是,拔插usb后,还是没有 ttyUSB 设备. dmesg 可以看到一下信息

[  721.918560] usb 1-1: USB disconnect, device number 10
[  725.265898] usb 1-1: new full-speed USB device number 11 using xhci_hcd
[  725.416612] usb 1-1: New USB device found, idVendor=1a86, idProduct=7523, bcdDevice= 2.63
[  725.416629] usb 1-1: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[  725.416637] usb 1-1: Product: USB2.0-Serial
[  725.419432] ch341 1-1:1.0: ch341-uart converter detected
[  725.420318] usb 1-1: ch341-uart converter now attached to ttyUSB0
[  726.008084] input: B

### CH340驱动在Ubuntu 22.04上的安装 #### 准备工作 为了确保CH340设备能够在Ubuntu 22.04上正常运行,首先要确认当前系统内核版本以及是否存在旧版的冲突驱动。可以使用`uname -r`来获取操作系统发行版号,对于Ubuntu 22.04而言,这通常是5.15.0-58-generic这样的字符[^4]。 #### 查看现有驱动情况 由于Ubuntu 22.04自带的老版本ch34x驱动可能存在兼容性问题,建议先检查并移除这些可能引起冲突的模块。具体来说,可以通过命令`ls /lib/modules/$(uname -r)/kernel/drivers/usb/serial`查找已有的ch341.ko文件,并考虑将其删除以避免干扰新驱动加载:`sudo rm /lib/modules/$(uname -r)/kernel/drivers/usb/serial/ch341.ko`[^2]。 #### 安装必要的编译工具链 考虑到部分用户的环境中GCC版本较低或其他原因可能导致编译失败的情况,在尝试构建新的驱动前应确保已经安装了最新的开发环境组件: ```bash sudo apt update && sudo apt install build-essential dkms linux-headers-$(uname -r) ``` 此步骤有助于提高后续操作的成功率。 #### 获取最新源码与编译 从官方渠道或者其他可信资源处下载适用于目标平台(即Linux Kernel v5.15系列)的ch34x.c源代码文件,并替换项目中的对应位置;之后按照常规流程执行如下指令完成编译过程: ```bash cd ~/Downloads/CH341SER_LINUX # 假设解压后的路径为此处 cp path_to_new_ch34x_c ./ # 将更新过的C文件拷贝进来 make clean # 清理之前的编译残留物 make # 编译生成ko文件 ``` 如果一切顺利,则应该能够看到名为`ch34x.ko`的新建二进制对象被创建出来。 #### 加载自定义驱动 当上述准备工作完成后,就可以试着把刚刚制作好的驱动加入到正在运行的操作系统当中去了。不过在此之前还需要停止任何占用口的服务或应用程序——比如brltty服务可能会造成影响,所以最好提前处理掉这类潜在障碍: ```bash sudo systemctl stop brltty # 如果存在的话停用该服务 sudo make load # 执行加载动作 dmesg | grep ch34 # 检查日志输出验证是否成功装载 ``` 需要注意的是,在某些情况下即使顺利完成以上所有环节仍然会遇到诸如“File exists”的报错提示,这时不妨试试卸载同名模块后再试一次: ```bash sudo modprobe -r ch34x # 移除现有的相同名称模块 sudo insmod ch34x.ko # 明确指定要插入哪个具体的ko文件 ``` 最后一步就是测试连接硬件看看能否正常使用啦!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值