2011-11-02 11 views
13

Ho un modem USB che uso su Ubuntu. Ho anche un programma che comunica con questo dispositivo usando il suo numero ttyUSBxx.Linux: come forzare un dispositivo USB per utilizzare lo stesso numero ttyUSB

Il mio problema è che ogni volta che si scollega/collegare nuovamente il dispositivo, o quando riparto il mio PC, il dispositivo ottiene un nuovo ttyUSB numero, per esempio: ttyUSB0 o ttyUSB1.

Come posso forzare questo dispositivo utilizzare sempre lo stesso numero (per esempio: ttyUSB0)?

risposta

14

udev è responsabile di dispositivo dinamico di Linux. udev persiste informazioni sui dispositivi che si collegano e è possibile modificare queste informazioni in modo che aggiunga un "collegamento simbolico" specifico nella directory per questo dispositivo.

Ora, la definizione del modem USB deve essere all'interno della cartella /etc/udev/rules.d/ e il nome del file sarà qualcosa come 50-udev.rules. Il file contiene una riga per dispositivo (è possibile utilizzare un numero di strumenti per identificare la linea corretta. Vedere sotto link sull'uso di udevinfo)

Ora, è possibile modificare la riga pertinente, o anche meglio, creare un altro file e copiare la riga relativa in esso. Il nome file dovrebbe iniziare con un numero inferiore (ad esempio 49-my-modem.rules), in modo che venga caricato per primo. È necessario aggiungere quanto segue alla fine della riga:

, SYMLINK="ttyUSBmodem" 

Ora, il dispositivo dovrebbe venire come /dev/ttyUSBmodem (proprio come il assinged dinamicamente/dev/ttyUSB [0-9])

Per più aiuto per identificare la linea corretta e l'intero processo, vedere qui: http://noctis.de/archives/16-HowTo-fixed-name-for-a-udev-device.html

HTH