Au lieu d’utiliser /dev/ttyACM*
, utilise les liens symboliques présents dans /dev/serial/by-id/
:
/dev/serial/by-id/usb-0658_0200-if00 -> ../../ttyACM0
/dev/serial/by-id/usb-Texas_Instruments_TI_CC2531_USB_CDC___0X00124B0018E20DB0-if00 -> ../../ttyACM1
Ou alors crée des udev rules, par exemple chez moi dans /etc/udev/rules.d/99-usb-devs.rules
:
SUBSYSTEM=="tty",ATTRS{idVendor}=="0451",ATTRS{idProduct}=="16a8",GROUP="dialout",SYMLINK+="ttyZigbee"
SUBSYSTEM=="tty",ATTRS{idVendor}=="0658",ATTRS{idProduct}=="0200",GROUP="dialout",SYMLINK+="ttyZwave"
Et du coup j’ai ces 2 devices en plus dans /dev
:
/dev/ttyZigbee -> ttyACM1
/dev/ttyZwave -> ttyACM0
Pour récupérer les idVendor
et idProduct
, tu peux faire un lsusb
sur ton host docker :
bad@docker:~$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 001 Device 006: ID 0451:16a8 Texas Instruments, Inc.
Bus 001 Device 004: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 001 Device 003: ID 0658:0200 Sigma Designs, Inc. Aeotec Z-Stick Gen5 (ZW090) - UZB
Bus 001 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bad