尽管出现在 dmesg 中,但 dev/ttyacm0 并不存在

尽管出现在 dmesg 中,但 dev/ttyacm0 并不存在

我正在尝试使用 teensy 3.6 运行 rosserial,但出现以下错误

[ERROR] [1603751770.005130]: Error opening serial: [Errno 2] could not open port /dev/ttyACM0: [Errno 2] No such file or directory: '/dev/ttyACM0'

但是,我的 dmesg | grep tty 输出显示以下内容

[    0.000000] console [tty0] enabled
[12758.910672] cdc_acm 1-2:1.0: ttyACM0: USB ACM device

当我运行 ls dev/tty* 时,TTYACM0 也没有出现。

提前致谢!

答案1

可能是因为该设备在 udev 规则中被列入了黑名单。

答案2

当我将关闭的智能手机(Alcatel Idol 2 6037K)连接到计算机的 USB 端口时,我也遇到了同样的问题。在内核日志中我提到了 ttyACM0,但该设备未出现在系统中。

[ 7813.982058] usb 2-1.3: new high-speed USB device number 28 using ehci-pci
[ 7814.061817] usb 2-1.3: New USB device found, idVendor=0e8d, idProduct=2000, bcdDevice= 1.00
[ 7814.061823] usb 2-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 7814.061826] usb 2-1.3: Product: MT65xx Preloader
[ 7814.061828] usb 2-1.3: Manufacturer: MediaTek
[ 7814.083399] cdc_acm 2-1.3:1.0: Zero length descriptor references
[ 7814.083411] cdc_acm: probe of 2-1.3:1.0 failed with error -22
[ 7814.123453] cdc_acm 2-1.3:1.1: ttyACM0: USB ACM device
[ 7816.882582] usb 2-1.3: USB disconnect, device number 28

发生这种情况的原因是设备在 2-3 秒后(内核日志最后两行之间的时间)与系统断开连接。在这几秒钟内,必须打开设备,否则设备将断开连接。您可以看到设备在这几秒钟内如何出现和消失:

$ ls -la /dev/ttyACM*
ls: cannot access '/dev/ttyACM*': No such file or directory
$ ls -la /dev/ttyACM*
ls: cannot access '/dev/ttyACM*': No such file or directory
$ ls -la /dev/ttyACM*
crw-rw---- 1 root uucp 166, 0 Jun  1 03:30 /dev/ttyACM0
$ ls -la /dev/ttyACM*
crw-rw---- 1 root uucp 166, 0 Jun  1 03:30 /dev/ttyACM0
$ ls -la /dev/ttyACM*
crw-rw---- 1 root uucp 166, 0 Jun  1 03:30 /dev/ttyACM0
$ ls -la /dev/ttyACM*
crw-rw---- 1 root uucp 166, 0 Jun  1 03:30 /dev/ttyACM0
$ ls -la /dev/ttyACM*
crw-rw---- 1 root uucp 166, 0 Jun  1 03:30 /dev/ttyACM0
$ ls -la /dev/ttyACM*
ls: cannot access '/dev/ttyACM*': No such file or directory

我遇到了一个问题,因为我的软件(SP Flash Tool)没有足够的权限打开此设备,所以设备断开了连接。在我添加权限后,一切正常。

相关内容