犀牛派X1 USB识别失效修复

IMCPilot 2026-09-21 00:06:15

如果你的犀牛派X1出现了这个问题,本篇帖子可能会为你提供帮助

此问题在今年3月发现,我们暂未发现如何复现此问题,目前只能提供出现该问题的情况下的解决方案,目前并未得知官方是否修复此问题,但如果你出现了和我们类似的情况,希望我们能为你提供一些帮助。

1. 问题现象

  • 执行 ls /dev/ttyUSB* 报错:
    • ls: cannot access '/dev/ttyUSB*': No such file or directory
  • 但 lsusb 能看到 CH340 设备:
    • 1a86:7523 QinHeng Electronics CH340 serial converter

2. 现场环境与关键事实

  • 系统: AidLux / Ubuntu 22.04
  • 内核: 5.15.148-android13-8-gbc12fc1ae81e-dirty
  • 同时存在一个正常 CDC 设备:
    • /dev/ttyACM0(IMU)

关键检查结论:

  1. USB 枚举正常,但 CH340 最初未绑定串口驱动
    • usb-devices 中 CH340 显示 Driver=(none)
  2. 手工 new_id + bind 初期仍无 /dev/ttyUSB0
  3. 检查服务发现有 brltty-udev.service 与 usbd.service 常驻,存在接口抢占行为。
  4. 观察接口 1-1:1.0 的 driver 在 none/usbfs 之间波动,说明并非稳定挂接到 ch341

3. 排错过程(按执行顺序)

步骤 A: 基础确认

  • 确认设备节点:
    • ls -l /dev/ttyUSB* /dev/ttyACM*
  • 确认 USB 枚举:
    • lsusb
  • 确认 CH340 绑定情况:
    • usb-devices | sed -n '/Vendor=1a86 ProdID=7523/,+12p'

结论: CH340 在 USB 层可见,但没有生成 ttyUSB 设备节点。

步骤 B: 手动绑定尝试

BASH复制

echo 1a86 7523 | sudo tee /sys/bus/usb-serial/drivers/ch341-uart/new_id
echo 1-1:1.0   | sudo tee /sys/bus/usb/drivers/ch341/bind
ls -l /dev/ttyUSB*

现象: 初期仍无 ttyUSB0,并出现 Device or resource busy

步骤 C: 定位抢占源

  • 检查服务与进程:
    • systemctl is-active brltty brltty-udev.service ModemManager
    • systemctl status brltty-udev.service --no-pager
    • systemctl status usbd --no-pager
    • pgrep -af 'brltty|usbd|ModemManager'
  • 结果:
    • brltty-udev.service 处于 active(并拉起 brltty
    • usbd.service 处于 active

结论: 接口被用户态/系统服务反复抢占,导致 ch341 无法稳定接管。

步骤 D: 临时隔离抢占(验证根因)

BASH复制

sudo systemctl mask --runtime --now brltty-udev.service brltty.service usbd.service
sudo pkill -f brltty || true
sudo pkill -x usbd || true
echo 1a86 7523 | sudo tee /sys/bus/usb-serial/drivers/ch341-uart/new_id
echo 1-1:1.0   | sudo tee /sys/bus/usb/drivers/ch341/bind
ls -l /sys/bus/usb/devices/1-1:1.0/driver
ls -l /dev/ttyUSB*

用户实测结果:

  • .../driver -> .../bus/usb/drivers/ch341
  • /dev/ttyUSB0 成功出现

说明: 根因成立,问题是“接口抢占导致绑定不稳定”,不是硬件没识别、不是普通权限问题。

4. 关于 Device or resource busy 的解释

当接口已经被某驱动占用(或在并发绑定流程中)时,再执行 bind 会提示 busy。
在本次最终状态中,尽管命令回显 busy,但 driver 已指向 ch341 且 ttyUSB0 已创建,说明目标状态已达成。

5. 最终效果

  • CH340 已可作为串口使用:
    • 设备节点: /dev/ttyUSB0
  • 相关串口通信恢复基础条件(可被上层 ROS2/控制程序打开)。
...全文
36 1 打赏 收藏 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
azouyana 09-21 13:53
  • 打赏
  • 举报
回复

所以这个是系统层面的bug吗?

【期刊论文复现】多元宇宙算法求解电力系统多目标优化问题(Matlab实现)内容概要:本文复现了期刊论文中提出的多元宇宙算法(Multi-Verse Optimizer, MVO)用于求解电力系统中的多目标优化调度问题,采用Matlab进行代码实现。该算法受宇宙中黑洞、白洞和虫洞等天文现象启发,通过数学建模模拟多目标搜索过程,具有较强的全局寻优能力和收敛性能。文中将其应用于典型的电力系统经济调度场景,如考虑燃料成本、排放量等多个优化目标的微电网或多能源系统调度问题,通过构建合理的数学模型和约束条件,实现对多个冲突目标的协同优化。同时,文章提供了完整的代码框架与仿真结果,便于读者理解和复现。; 适合人群:具备一定Matlab编程基础和优化算法基础知识的研究生、科研人员及从事电力系统优化调度工作的工程师。; 使用场景及目标:①学习和掌握新型智能优化算法——多元宇宙算法的基本原理与实现方法;②将其应用于电力系统经济调度、微电网优化、多目标决策等领域的模型求解;③为科研工作提供可复现的代码参考和技术支持。; 阅读建议:建议读者结合Matlab代码逐行理解算法实现细节,重点关注目标函数建模、约束处理及MVO算法核心迭代逻辑,并尝试在不同测试系统中进行参数调优与性能对比,以深入掌握其应用技巧。

7,699

社区成员

发帖
与我相关
我的任务
社区描述
本论坛以AI、IoT、PC 、XR、Auto等核心板块组成,为开发者提供便捷及高效的学习和交流平台。 高通开发者专区主页:https://qualcomm.csdn.net/
物联网人工智能开源 企业社区 北京·东城区
社区管理员
  • csdnsqst0050
  • chipseeker
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧