Questa è la soluzione:
-
Trova l'identità del tuo dispositivo USB.
# tree /sys/bus/usb/drivers/cp210x/ /sys/bus/usb/drivers/cp210x/ |-- 1-1:1.1 -> ../../../../devices/platform/omap/musb-ti81xx/musb-hdrc.1/usb1/1-1/1-1:1.1 |-- bind |-- module -> ../../../../module/cp210x |-- remove_id |-- uevent -- unbind
Quindi 1-1:1.1
è l'identificatore del mio ttyUSB0
(può essere scoperto anche tramite dmesg
).
-
Quindi, disconnetti il dispositivo (come root):
# echo -n "1-1:1.1" > /sys/bus/usb/drivers/cp210x/unbind
-
ricollegalo
# echo -n "1-1:1.1" > /sys/bus/usb/drivers/cp210x/bind
A questo punto avevo lo stesso dispositivo ma con un nome diverso, ora era ttyUSB1 invece di ttyUSB0.- Per evitare ciò ho aggiunto una nuova regola in /etc/udev/rules.d/
creando un nuovo file chiamato 99-usb-serial.rules
con questa riga:
SUBSYSTEM=="tty", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea70", ATTRS{serial}=="002DCFAF", SYMLINK+="sameName", MODE:="0666"
dove idVendor
, idProduct
e seriale devono essere i valori del tuo dispositivo. Questa regola creerà un nuovo dispositivo chiamato sameName
collegato all'ttyUSB*
dispositivo normalmente generato dal sistema operativo.