/dev/ttyACM0 和 lsusb

/dev/ttyACM0 和 lsusb

有人可以解释一下 /dev/ttyACM0 和 lsusb 的输出之间的联系吗?

我正在关注本说明。它显示“更新 ttyACM0 以匹配您的适配器位置。”我不知道在这里做什么。

lsusb
Bus 002 Device 002: ID 1058:25a3 Western Digital Technologies, Inc. Elements Desktop (WDBWLG)
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 0451:16a8 Texas Instruments, Inc. CC2531 ZigBee
Bus 001 Device 002: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
simon@simon-itx:~/Downloads/zigbee2mqtt$ usb-devices

答案1

输出lsusb表明您已连接 Zigbee 设备:

Bus 001 Device 004: ID 0451:16a8 Texas Instruments, Inc. CC2531 ZigBee

现在,某一类 USB 设备具有可以创建/dev/ttyACM*设备的驱动程序。它们在创建时会被分配越来越多的数字,并且这些数字与 的输出完全无关lsusb

从我所看到的lsusb输出来看,您可能只有其中一个。因此,如果您这样做ls /dev/ttyACM*,您应该会看到一个文件/dev/ttyACM0

如果是这种情况,请使用以下文件启动容器:

docker run \
  --device=/dev/ttyACM0
  ...

你就完成了。

如果您看到多个文件具有不同的编号,例如/dev/ttyACM0/dev/ttyACM1,那么下一步就是找出哪个是哪个。有多种方法可以做到这一点,例如,您可以dmesg在插入设备后立即查看输出,或者您可以使用/sys文件系统,它具有显示关系的符号链接。

相关内容