一、问题提出:
- 2022/6/19,ubuntu22.04系统发布才2个多月,我在此系统上安装ROS2 humble版本,然后运行LDROBOT LiDAR LD19的ROS2功能包时,发现所使用的cp2102 USB转串口通讯模块无法在运行
ls /dev/tty*
下查看到对应的ttyUSB设备文件,但是运行lsusb
发现系统已经挂载了这个CP2102设备 - 为此,我通过搜索引擎检索了相关资料: https://blog.csdn.net/qq_40958331/article/details/124700051
二、问题分析:
1. 检查系统对于CP2102设备的驱动是否安装正常.
lsmod|grep -i cp210x
lsusb|grep -i cp210x
两个命令分别执行后,发现输出的信息中均存在CP210x的信息,未发现驱动安装失败信息
2. 检查系统log信息
sudo dmesg|grep -i cp210x
- 输出log简要:
cp210x converter detected
cp210x converter now attached to ttyUSB0
usbfs: interface 0 claimed by cp210x while ‘brltty’ sets config #1
cp210x ttyUSB0: cp210x converter now disconnected from ttyUSB0
cp210x 1-8:1.0: device disconnected
- 从输出的log可以看出usb接口被brltty程序给占了.
- brltty占用usb接口问题的由来:
brltty是用于盲文显示的帮助程序,据官方的说法,这个程序的工作方式理应如此,唯一让人困惑的是它在新的Debian发行版中默认安装了,Ubuntu是基于Debian的,这是上游的默认配置,暂时还没有给出修复补丁。
三、问题解决
既然brltty占用,但是我们使用ubuntu22.04不需要这个程序,那就卸载它吧!
sudo apt-get purge brltty