Arch LInux 使用USB转串口(CH340)
Posted Mculover666
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Arch LInux 使用USB转串口(CH340)相关的知识,希望对你有一定的参考价值。
一、CH340/CH341
1. 卸载系统已有驱动
查看系统版本:
uname -r
这里我是 5.17.1-arch1-1 版本,进入内核源码目录:
cd /lib/modules/5.17.1-arch1-1/kernel/drivers/usb/serial/
移动到用户目录,作为备份:
sudo mv ch341.ko.zst ~
2. 下载安装官网驱动
在沁恒官方下载ch340驱动:http://www.wch.cn/download/CH341SER_LINUX_ZIP.html。
(1)下载后解压:
unzip CH341SER_LINUX.ZIP
(2)修改驱动源码
1.5版本目前支持到LInux kernel 3.13,我用的内核是5.17版本,所以需要修改驱动源码 ch34x.c。
增加头文件:
#include <linux/sched/signal.h>
注释591-593行的变量:
// int bps;
// long timeout;
// wait_queue_t wait;
939行 ch34x_write_room 函数的返回值改为unsigned int:
static unsigned int ch34x_write_room( struct tty_struct *tty )
965行 ch34x_chars_in_buffer函数的返回值改为unsigned int:
static unsigned int ch34x_chars_in_buffer( struct tty_struct *tty )
(3)编译:
make
(4)安装:
sudo make load
(5)拷贝到内核目录:
sudo cp -v ch34x.ko /lib/modules/5.17.1-arch1-1/kernel/drivers/usb/serial
sudo depmod
3. 解决没有ttyUSB0问题
查看设备节点,没有ttyUSB*。
再看usb设备,有ch340:
只能看系统日志,找到了问题所在,与brltty冲突:
卸载这个鬼玩意,有个orca依赖于它:
yay -R orca
yay -R brltty
重新插拔USB,查看系统日志,没有冲突:
再看看有没有ttyUSB节点:
使用minicom打开该设备,查看串口日志,正常使用:
以上是关于Arch LInux 使用USB转串口(CH340)的主要内容,如果未能解决你的问题,请参考以下文章
Debian系列-USB转串口(CH340)调试及cutecom串口调试工具安装