venerdì 9 gennaio 2009

Debian, udev e Phidgets

Saltando i soliti post di augurio di buon anno e di bei propositi, passo ad una questione che mi ha fatto perdere un po' di tempo: il mio Phidget RFID.

Prima di tutto è arrivato in tempo di record: ordinato dal sito ufficiale, in Canada, un giovedì pomeriggio di dicembre, è arrivato il lunedì successivo. E difatti la sera stessa ho iniziato a giocarci, come testimonia questo post.

Ho fatto un test completo della periferica e del software, tutto è andato splendidamente tranne una cosa: l'integrazione con udev.

Viene fornito uno file da mettere tra le regole di udev per far riconoscere al sistema la periferica in modo che vengano impostati i permessi giusti. In caso contrario la periferica potrà essere usata solo da root.

Quindi l'operazione da fare è copiare il file ( 51-phidgets.rules ) dentro /etc/udev/rules.d .
Data la premessa che udev segue le regole in ordine alfabetico, il motivo per cui questo non basta è che la regola che setta i permessi è stata rinominata (non so bene se è una caratteristica di debian o un'evoluzione di udev) da 20-permissions.rules a 91-permissions.rules .
Questo comporta che il file fornito con i Phidget imposta sì i permessi a 666, che vengono giustamente sovrascritti in 644 dalla regola 91-permissions.
Per risolverlo quindi ci sono diversi modi.
Quello più brutale è rinominare il file da 51-phidgets a phidgets, per esempio. Essendo in ordine alfabetico, questo verrà eseguito dopo 91-permissions.
Un metodo sicuramente più serio e pulito consiste nel cambiare il file impostando al posto di

ATTRS{idVendor}=="06c2", ATTRS{idProduct}=="0031", MODE="666"

una cosa del genere:

ATTRS{idVendor}=="06c2", ATTRS{idProduct}=="0031", GROUP="developers"


per ogni riga nel 51-phidgets.rules ed aggiungere il proprio utente al gruppo developers.
Ora tutti gli esempi e le applicazioni che utilizzano il Phidget RFID potranno essere eseguiti da utente normale.. "Che è meglio!"

Nessun commento: