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串口调试工具安装

Debian系列-USB转串口(CH340)调试及cutecom串口调试工具安装

USB转串口芯片CH340G的使用,3.3V或5V供电电路

CH340g使用说明详解

USB转串口的问题 CH340 与 FT232

ch341和ch340一样吗