1. 问题背景与现象分析
在Ubuntu系统中使用CH340串口转换器时,经常会遇到一个典型问题:设备管理器显示"Bus 001 Device 014: ID 1a86:7523 QinHeng Electronics CH340 serial converter",但在/dev目录下却找不到对应的ttyUSB0设备节点。这个问题的根源在于系统预装的brltty服务与CH340驱动产生了冲突。
brltty是为视障用户提供盲文显示器支持的系统服务,它会自动检测并接管符合特定规则的USB串口设备。由于CH340设备的USB VID/PID(1a86:7523)被错误地纳入了brltty的识别范围,导致系统无法正常创建设备节点。这种现象在Ubuntu 18.04及更高版本中尤为常见,特别是当用户需要连接Arduino、3D打印机控制器等使用CH340芯片的设备时。
注意:这个问题不仅限于CH340,其他使用类似VID/PID的串口设备也可能遇到相同情况。
2. 解决方案比较与选择策略
2.1 方法优先级评估
针对这个问题,我们有以下三种解决方案,按照对系统影响从轻到重排序:
- 调整udev规则(推荐):最安全的方法,仅修改设备识别规则
- 停止并禁用brltty服务:中等影响,保留软件包但停止服务
- 完全卸载brltty:最彻底但影响最大,适合确定不需要盲文支持的用户
2.2 各方案适用场景
- 开发环境:推荐方法一,保持系统完整性
- 生产环境:根据实际需求选择方法一或二
- 资源受限设备:可考虑方法三以减少系统负载
3. 详细解决方案实施
3.1 方法一:调整udev规则(推荐)
3.1.1 操作步骤
bash复制# 复制规则文件到本地配置目录
sudo cp /usr/lib/udev/rules.d/85-brltty.rules /etc/udev/rules.d/
# 编辑规则文件
sudo nano /etc/udev/rules.d/85-brltty.rules
在打开的文件中,找到包含以下内容的行:
code复制ENV{PRODUCT}=="1a86/7523/*", ENV{BRLTTY_BRAIL
