Linux 笔记 | CH340/CH34x驱动安装笔记

在官方Linux内核版本中自Kernel2.6以后就默认包含了对CH340/CH341芯片的驱动支持,并且能成功识别驱动。
CH340驱动正常识别

用串口软件正常打开串口却无法收发,其实是芯片官方更新芯片版本,这时候只需要用芯片官网提供的新驱动进行替换即可使用。
通讯不正常

经测试只有Jetson系列4.x内核正常识别却不可用,树莓派5.x内核、工控机5.x内核正常使用,应该是4.x内核驱动版本较老(由开源社区开发者提交)已不能满足使用需求了,因此我们需要用芯片官网提供的新驱动进行替换链接。

这里是CH34x驱动地址:http://www.wch.cn/download/CH341SER_LINUX_ZIP.html

驱动安装

  1. 卸载自带版本驱动
    将系统/lib/modules/$(uname -r)/kernel/drivers/usb/serial/位置下的ch341.ko驱动剪切到其他目录下
    删除系统自带驱动
  2. 下载新的驱动到linux系统里
  3. 解压驱动,进入驱动目录
    unzip CH341SER_LINUX.ZIP
    cd CH341SER_LINUX
    
  4. 编译驱动
    make
    

    该骤务必确认make 之后的执行过程和结果,如果没有顺利生成 ko驱动文件,需要自行解决报错或者咨询 tech@wch.cn请求帮助。

  5. 加载驱动

    sudo make load
    

    驱动

重新拔插设备,会出现下图所示的信息,通过命令sudo dmesg | tail可看到设备节点名称为 ttyUSB0,我们可以到 /dev 目录下进行查看,会发现设备文件 /dev/ttyUSB0
驱动加载

开机自加载驱动

可能重启驱动就不见了,因此如果希望系统可以启动时自动加载驱动,这时候首先把驱动放到Linux系统的驱动默认存放目录:/lib/modules/$(uname -r)/kernel/drivers/usb/serial/,执行完此步操作以后,再执行 depmod 命令更新驱动依赖关系文件 modules.dep,这一步一定要执行。之后我们重启系统,就可以发现驱动会自动加载了。

 sudo cp ch34x.ko /lib/modules/$(uname -r)/kernel/drivers/usb/serial/
 sudo depmod
许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。
电子工坊 » Linux 笔记 | CH340/CH34x驱动安装笔记

发表评论

提供最优质的资源集合

立即查看 了解详情