CH341-uart串口转换器连接后为何会从ttyUSB设备断开?
问题根因
该问题是系统内置的brltty服务抢占CH340串口设备导致的。
brltty是面向视障用户的盲文显示后台服务,它的默认设备匹配规则包含了CH340芯片的USB ID(1a86:7523),会误将普通CH340串口设备识别为盲文显示设备。- 从你提供的dmesg日志可以完整复现故障过程:
- 设备插入后,ch341串口驱动正常加载,生成
ttyUSB0设备文件 - brltty服务检测到符合匹配规则的设备,主动抢占设备接口
- ch341驱动被强制断开,
/dev路径下的ttyUSB0文件随之消失
- 设备插入后,ch341串口驱动正常加载,生成
对应关键日志:
[1182096.667353] usb 1-9: ch341-uart converter now attached to ttyUSB0 [1182096.803145] usb 1-9: usbfs: interface 0 claimed by ch341 while 'brltty' sets config #1 [1182096.803731] ch341-uart ttyUSB0: ch341-uart converter now disconnected from ttyUSB0
解决方法
- 临时解决:执行命令杀死brltty进程后重新插设备即可:
sudo killall brltty - 永久解决(无盲文设备使用需求):直接卸载brltty服务:
# Debian/Ubuntu系发行版 sudo apt remove brltty # Fedora/RHEL系发行版 sudo dnf remove brltty - 永久解决(需要保留brltty服务):修改brltty的udev规则,删除ID为
1a86:7523的设备匹配条目后,重载udev规则即可。
内容的提问来源于stack exchange,提问作者LunarEclipse
相关产品推荐
相关产品推荐

