7,699
社区成员
发帖
与我相关
我的任务
分享此问题在今年3月发现,我们暂未发现如何复现此问题,目前只能提供出现该问题的情况下的解决方案,目前并未得知官方是否修复此问题,但如果你出现了和我们类似的情况,希望我们能为你提供一些帮助。
ls /dev/ttyUSB* 报错:
ls: cannot access '/dev/ttyUSB*': No such file or directorylsusb 能看到 CH340 设备:
1a86:7523 QinHeng Electronics CH340 serial converter5.15.148-android13-8-gbc12fc1ae81e-dirty/dev/ttyACM0(IMU)关键检查结论:
usb-devices 中 CH340 显示 Driver=(none)。new_id + bind 初期仍无 /dev/ttyUSB0。brltty-udev.service 与 usbd.service 常驻,存在接口抢占行为。1-1:1.0 的 driver 在 none/usbfs 之间波动,说明并非稳定挂接到 ch341。ls -l /dev/ttyUSB* /dev/ttyACM*lsusbusb-devices | sed -n '/Vendor=1a86 ProdID=7523/,+12p'结论: CH340 在 USB 层可见,但没有生成 ttyUSB 设备节点。
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。
systemctl is-active brltty brltty-udev.service ModemManagersystemctl status brltty-udev.service --no-pagersystemctl status usbd --no-pagerpgrep -af 'brltty|usbd|ModemManager'brltty-udev.service 处于 active(并拉起 brltty)usbd.service 处于 active结论: 接口被用户态/系统服务反复抢占,导致 ch341 无法稳定接管。
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 成功出现说明: 根因成立,问题是“接口抢占导致绑定不稳定”,不是硬件没识别、不是普通权限问题。
Device or resource busy 的解释当接口已经被某驱动占用(或在并发绑定流程中)时,再执行 bind 会提示 busy。
在本次最终状态中,尽管命令回显 busy,但 driver 已指向 ch341 且 ttyUSB0 已创建,说明目标状态已达成。
/dev/ttyUSB0所以这个是系统层面的bug吗?