将开发板串口连接到Ubuntu后未找到对应的设备文件?

目录

  • 一、问题现象
  • 二、问题排查
  • 三、解决方法
    • [方案 1:直接卸载 brltty(最彻底,推荐)](#方案 1:直接卸载 brltty(最彻底,推荐))
    • [方案 2:临时停止服务(测试用,重启后恢复)](#方案 2:临时停止服务(测试用,重启后恢复))
    • [方案 3:保留 brltty,修改 udev 规则屏蔽 CH341](#方案 3:保留 brltty,修改 udev 规则屏蔽 CH341)
  • 四、问题验证

一、问题现象

复现环境:

  1. 开发板的串口芯片为CH341/CH340
  2. VMware虚拟机下的Ubuntu22.04.5

将开发板的串口连接到电脑,并在VMware中将对应设备连接到Ubuntu

查看/dev/下已挂载设备,发现挂载设备并没有新增,多次尝试断开和连接设备,亦无效果

二、问题排查

怀疑被当前运行的其他服务给挤掉了。

通过dmsg实时查看内核日志,命令如下:

bash 复制代码
dmesg -w

先打开内核日志实时监控,然后连接开发板串口到Ubuntu,对应的日志内容如下:

日志分析:

  1. idVendor=1a86, idProduct=7523 → 识别到南京沁恒 CH341 USB 转串口芯片(ESP32 开发板最常用的下载芯片)
  2. ch341-uart converter now attached to ttyUSB0 → 正常挂载为 /dev/ttyUSB0
  3. interface 0 claimed by ch341 while 'brltty' sets config核心冲突:brltty 服务强行接管这个 USB 接口
  4. ch341-uart converter now disconnected from ttyUSB0 → 串口驱动被挤掉,设备断开
    因此问题原因就是**brltty 服务(Linux 盲文屏幕辅助工具)错误抢占了CH341 串口芯片**,导致 ESP32 的串口刚挂载上就被强制断开,属于串口冲突问题。

三、解决方法

方案 1:直接卸载 brltty(最彻底,推荐)

普通开发用户完全用不到盲文功能,卸载一劳永逸:

bash 复制代码
sudo apt remove brltty

执行完,拔掉 ESP32 再重新插上,串口就会正常挂载。

方案 2:临时停止服务(测试用,重启后恢复)

bash 复制代码
sudo systemctl stop brltty

适合临时验证问题,重启系统后 brltty 会重新启动,冲突会复现。

方案 3:保留 brltty,修改 udev 规则屏蔽 CH341

不想卸载 brltty 的话,注释掉对应规则:

bash 复制代码
sudo vim /usr/lib/udev/rules.d/90-brltty-device.rules

搜索 1a86(CH341 厂商 ID),把对应行注释掉(行首加 #),保存后重载规则:

bash 复制代码
sudo udevadm control --reload-rules

再重插设备即可。

因brltty功能在开发过程中使用不到,这里采用 方案一 ,直接将 brltty给卸载掉

bash 复制代码
sudo apt remove brltty

四、问题验证

重新连接开发板到Ubuntu,dmesg -w查看实时内核日志:

通过上面日志可以看到ch341 USB串口正常挂载到了ttyUSB0

再查看下/dev/ 中已有内核导出的设备文件ttyUSB0设备

相关推荐
Sophnet云平台14 分钟前
MCP与A2A双协议解析:2026年Agent互操作的技术选型
linux·服务器·网络·上下文·mcp·大模型测评·sophnet
淼澄研学15 分钟前
Debian通过AI决议:合规解析与Ollama本地部署Llama3实操
运维·人工智能·debian
晚风叙码16 分钟前
Linux(二)权限问题
linux·服务器
YHHLAI16 分钟前
TypeScript 面试题:type 与 interface 的区别与相同点
java·ubuntu·typescript
BI专家之路2 小时前
安装linux/hadoop/jdk/hive
linux·hive·hadoop
GeW15 小时前
超详细!RHCE10版通用备考策略,内含评分细则解读
linux
用户0413284651315 小时前
Linux 服务开机自启动怎么配置?systemctl enable 原理详解
linux
草莓熊Lotso1 天前
【Redis 初阶】Set 类型深度解析:去重集合的运算能力与实战场景
linux·网络·数据库·windows·redis·tcp/ip·缓存
张文君1 天前
ubuntu26.04坏道坏块分区隔离急速版260831-V0.12
linux·python