/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

出力はlsusbZigbeeデバイスが接続されていることを示します。

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

特定のクラスのUSBデバイスには、/dev/ttyACM*デバイスを作成できるドライバがあります。作成されるたびに増加する数字が割り当てられ、この数字は出力にまったく関係ありませんlsusb

私が見た結果によれば、おそらくlsusbこれらのうちの1つだけがあるでしょう。したがって、これによりls /dev/ttyACM*ファイルが表示されます/dev/ttyACM0

この場合は、次のファイルを使用してコンテナを起動します。

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

これで終わりました。

/dev/ttyACM0などの番号が異なる複数のファイルがある場合は、/dev/ttyACM1次のステップはどのファイルであるかを確認することです。これを行う方法はいくつかあります。たとえば、dmesgデバイスを接続するとすぐに出力を表示したり、/sys関係を示すシンボリックリンクを持つファイルシステムを使用したりできます。

関連情報