打印
[USB芯片]

CH341/CH340Linux驱动使用教程

[复制链接]
15287|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wiba|  楼主 | 2021-7-7 15:03 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
一、使用内核自带驱动
1、Linux内核源码树中位置:driver/usb/serial/ch341.c
2、Linux系统默认存放驱动目录:
/lib/modules/$(uname -r)/kernel/drivers

CH340串口驱动的完整路径名:
/lib/modules/$(uname -r)/kernel/drivers/usb/serial/ch341.ko
以Ubuntu18为例:

3、驱动加载

rambo@ubuntu:~$ sudo modprobe ch341


4、接入CH340设备并查看工作情况

出现以上信息,则代表CH340设备对应的串口设备节点已经生成,应用程序操作:"/dev/ttyUSB0"来使用该设备。


使用特权

评论回复
沙发
wiba|  楼主 | 2021-7-7 15:04 | 只看该作者
二、使用新版本驱动
1、这里以官网的驱动版本为例(注:最新版本以技术人员回复为准)。
2、将该驱动包下载并拷贝到需要使用的系统或匹配嵌入式开发板的Linux宿主机中,若在本机使用,可按照如下操作步骤进行;
注:若为交叉编译,则可以前往上文中提到的驱动存放位置,将新驱动添加进去,编译生成驱动模块或者静态编译即可;
3、卸载自带版本驱动
将系统lib/modules/$(uname -r)/kernel/drivers/usb/serial/位置下的ch341.ko驱动剪切到其他目录下,然后重启即可;
4、编译与使用新驱动

归纳为如下几个步骤:

rambo@ubuntu:~$ unzip CH341SER_LINUX.ZIP
rambo@ubuntu:~$ cd CH341SER_LINUX
rambo@ubuntu:~$ make
//每次动态加载
rambo@ubuntu:~$ insmod ch34x.ko
//开机自动加载
rambo@ubuntu:~$ make load


如上步骤务必确认make 之后的执行过程和结果,如果没有顺利生成 ko驱动文件,需要自行解决报错或者咨询 tech@wch.cn请求帮助。驱动加载成功后插入 CH340 硬件,输入命令:dmesg 查看工作情况:

成功后会产生ttyUSB设备节点。常用串口工具推荐:cutecom、picocom、minicom、putty等。


使用特权

评论回复
板凳
yangxiaor520| | 2021-7-7 21:29 | 只看该作者
谢谢分享教程

使用特权

评论回复
地板
zhengshuai888| | 2021-7-9 18:06 | 只看该作者
嵌入式Linux可以用吗?

使用特权

评论回复
5
两只袜子| | 2021-7-12 07:26 | 只看该作者
很不错的教程哦,感谢分享

使用特权

评论回复
6
单片小菜| | 2021-7-14 14:54 | 只看该作者
有没有安卓版本的?或者在安卓上应该如何进行移植呢?

使用特权

评论回复
7
自己造声卡| | 2021-7-14 16:26 | 只看该作者
这个内核是否支持安卓的版本呢?
还是只能是跑linux

使用特权

评论回复
8
usysm| | 2021-9-5 20:44 | 只看该作者
这个不是普通的驱动吗   

使用特权

评论回复
9
typeof| | 2021-9-5 20:44 | 只看该作者
ubuntu插上就可以识别的   

使用特权

评论回复
10
yujielun| | 2021-9-5 20:44 | 只看该作者
这个还需要编译吗?     

使用特权

评论回复
11
htmlme| | 2021-9-5 20:44 | 只看该作者
字符驱动?           

使用特权

评论回复
12
pklong| | 2021-9-5 20:44 | 只看该作者
ls usb 查找不到吗   

使用特权

评论回复
13
touser| | 2021-9-5 20:45 | 只看该作者
如何更新linux的驱动版本呢   

使用特权

评论回复
14
myiclife| | 2021-9-5 20:45 | 只看该作者
driver/usb/serial有驱动的。      

使用特权

评论回复
15
uytyu| | 2021-9-5 20:45 | 只看该作者
怎么设置默认识别   

使用特权

评论回复
16
iyoum| | 2021-9-5 20:45 | 只看该作者
核自带驱动就可以的。      

使用特权

评论回复
17
jkl21| | 2021-9-5 20:45 | 只看该作者
还需要自己编译内核吗   

使用特权

评论回复
18
htmlme| | 2021-9-5 20:45 | 只看该作者

使用特权

评论回复
19
WCH@TECH39| | 2021-10-3 22:38 | 只看该作者
关于网友关心的几个问题。
1、驱动是否需要编译才能使用?
CH340的Linux驱动在绝大多数系统中均内置,默认不需要下载源码和编译,绝大多数情况下,直接插入CH340,在/dev目录下就可以看到串口设备节点。
2、安卓上如何使用USB转串口?
实际上有2种方式支持安卓访问USB转串口,一种是使用Linux驱动的方式,操作ttyUSB设备节点,另一种是使用安卓免驱应用库,不需要linux驱动和root权限,前提是安卓设备支持OTG和开放usb host framework访问权限。

使用特权

评论回复
20
OIDCAT| | 2021-10-25 11:20 | 只看该作者
zhengshuai888 发表于 2021-7-9 18:06
嵌入式Linux可以用吗?

嵌入式Linux也可以的,一般Linux系统都自带ch341的驱动,但我还是觉得厂商提供的最新驱动最好用,以及其它的CH342、CH343这些交叉编译出ko后,在板上insmod就可以了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

78

主题

3313

帖子

3

粉丝