Configurare Udev

Ven, 15/07/2005 - 15:05

Configurare Udev

Inviato da topio1970 7 commenti
Udev

Una delle novità introdotte dal kernel serie 2.6 è udev che utilizza hotplug per la gestione della connessione delle periferiche.

Quando un dispositivo viene connesso, hotplug comunica l'evento a udev che in base alle regole in /etc/udev/udev.rules esegue delle operazioni.

Partiamo con un esempio concreto: supponiamo di avere due dispositivi usb, una penna usb e una macchina fotografica.

Se inseriamo la penna usb nel pc ad essa viene associato, solitamente, /dev/sda la cui prima partizione è /dev/sda1.

Dato che viene utilizzata frequentemente, creiamo una cartella per il punto di montaggio, come potrebbe essere /media/UsbHD,

poi editiamo come superutente il file etc/fstab ed aggiungiamo una riga del tipo

/dev/sda /media/UsbHD vfat (oppure auto) rw,user,noauto,sync 0 0

dopo aver salvato il file, sul desktop creiamo un'icona di collegamento ad dispositivo per montarla, in seguito,

con il semplice clic sull'icona stessa la montiamo o la smontiamo sempre tramite l'icona(nello specifico tasto destro/smonta).

Bene adesso dopo aver rimosso la penna usb facciamo la stessa cosa con la macchina fotografica, ma ci accorgiamo che alla macchina fotografica

viene assegnato sempre /dev/sda e che se inseriamo prima la penna usb e successivamente la macchina fotografica, a quest'ultima viene assegnato /dev/sdb.

Quindi non possiamo creare punti di montaggio per la penna e la macchina fotografica a meno di inserire singolarmente i dispositivi.

Dobbiamo quindi ricorrere ad udev, cioè dobbiamo andare ad aggiungere delle regole ad udev.

Controlliamo, prima di tutto, che i pacchetti udev e hotplug siano installati, successivamente installiamo sysfsutils che ci consentirà di identificare

in modo univoco la periferica (il "Device").

Fondamentalmente ci potrà servire la marca (vendor), il modello (product) o il numero di serie o di matricola (serial).
Dopo aver inserito la penna possiamo dare, come superutente,

# systool -vb scsi | grep vendor

per la marca

# systool -vb usb | grep product

per il modello

# systool -vb usb | grep serial

per il numero di serie.

Annotiamo i valori avendo l'accortezza di utilizzare quello corretto, in caso di più risultati (per individuare quello corretto si può, ad esempio, eseguire i citati comandi col dispositivo scollegato e quindi quindi col dispositivo inserito).

Ripetiamo l'operazione per l'altro (o, eventualmente, gli altri) dispositivo.

[pagebreak]

Andiamo adesso a scrivere le nostre regole in udev.rules aggiungendo alla fina una o più righe del tipo:

BUS"scsi", SYSFS{vendor}="La marca annotata", NAME="%k", SYMLINK="usb/Penna"
BUS"usb", SYSFS{product}="Il modello annotato", NAME="%k", SYMLINK="usb/Fujifilm"

Tips: la parentesi graffa si fa con la combinazione di tasti AltGr+7 { ed AltGr+0 }

Abbiamo appena detto a udev che se il sistema rileva l'inserimento di una certa marca o di un certo modello:

a) di utilizzare il nome che sarà utilizzato (con l'opzione %k lo stesso che gli avrebbe assegnato il kernel, quindi lo lascia invariato);

Cool di creare dentro la cartella dev/ usb/penna oppure usb/Fujifilm (nella cartella dev già esiste la cartella usb) un link simbolico al dispositivo quando lo stesso viene inserito e di cancellarlo quando viene rimosso.

Per quanto sopra, prestiamo attenzione alla marca o al modello utilizzato, per esempio sconsiglio come product "Generic Usb Device" o altre diciture generiche: in caso si abbiano due penne della stessa marca e con lo stesso modello si utilizzerà, ovviamente, il numero seriale.

Infine non ci resta che modificare il nostro fstab aggiungendo una riga per ogni dispositivo, avendo sempre l'accortezza di creare la relativa cartella in /media/

Per esempio ecco le righe interessate del mio fstab:

/dev/usb/Penna /media/UsbHD vfat rw,user,noauto,sync 0 0
/dev/usb/Fujifilm /media/Fuji vfat ro,user,noauto,sync 0 0

Adesso possiamo, finalmente, trasferire le fotografie direttamente dalla macchina fotografica alla penna Usb.

Le altre opzioni di udev si trovano ovviamente dentro "man udev".

Andrea (topio1970)


In:



Commenti

Ritratto di paolo
#1

Inviato da paolo il Sab, 16/07/2005 - 17:08.

Utilissima Guida

Grazie, utilissima Guida.

Dovrebbe essere formatta un po meglio, usando i tag di formattazione opportuni, sarebbe stata molto pià leggibile

Voto: 9 (come contenuti)
Voto: 6 (per la formattazione)

Paolo Mainardi
CTO Twinbit http://www.twinbit.it
Vice Presidente -- ILDN - Italian Linux DIstro Network



Ritratto di topio1970
#2

Inviato da topio1970 il Dom, 17/07/2005 - 15:07.

Re: Utilissima Guida

Si mi sono un po impiccato soprattutto per quanto riguarda "a capo", daltronde è la mia prima guida Wink



Ritratto di RaSpUtIn
#3

Inviato da RaSpUtIn il Sab, 05/11/2005 - 16:16.

Re: Utilissima Guida

Ciao, ho seguito passo passo la tua guida ma quando vado a montare la mia pendrive usb mi da' un errore del tipo "bad superblock or unknown filesystem type". Come posso risolvere questo problema? ti ringrazio anticipatamente



Ritratto di -starnav-
#4

Inviato da -starnav- il Sab, 12/11/2005 - 13:23.

Re: Utilissima Guida

mi sono imbattuto nel tuo stesso problema e ho riscontrato che ci sono degli errori di scrittura nella guida, in particolare le righe da inserire nel file /etc/udev/udev.rules hanno alcuni termini privi dell'uguale

<br />BUS&quot;scsi&quot;, SYSFS{vendor}=&quot;La marca annotata&quot;, NAME&quot;%k&quot;, SYMLINK=&quot;usb/Penna&quot;

diventa:

<br />BUS=&quot;scsi&quot;, SYSFS{vendor}=&quot;La marca annotata&quot;, NAME=&quot;%k&quot;, SYMLINK=&quot;usb/Penna&quot;

ciao Wink



Ritratto di ferretti75
#5

Inviato da ferretti75 il Mar, 15/11/2005 - 16:50.

Re: Utilissima Guida

ok và tutto, ottima guida !!

un appunto e un dubbio :

appunto : se si vuole usare il seriale la stringa
<br />BUS=&quot;scsi&quot;, SYSFS{vendor}=&quot;La marca annotata&quot;, NAME=&quot;%k&quot;, SYMLINK=&quot;usb/Penna&quot;<br />
diventa :
<br />BUS=&quot;usb&quot;, SYSFS{serial}=&quot;Il numero di serie&quot;, NAME=&quot;%k&quot;, SYMLINK=&quot;usb/Penna&quot;<br />

il dubbio :
perchè, una volta inserita la penna, konqueror si apre su media:/sda invece che su /media/UsbHD ??

magic is real ... unless explicitly declared as integer



Ritratto di topio1970
#6

Inviato da topio1970 il Ven, 18/11/2005 - 23:14.

Re: Utilissima Guida

Mi spargo il capo di cenere per l'errore dell'uguale ma il pc da cui è stata pubblicata la guida non era lo stesso di quello su cui ho udev.rules.
PS dal kenel 2.6.13 viene abbandonato definitivamente il devsf per udev (almeno così ho letto).



Ritratto di ntropia
#7

Inviato da ntropia il Dom, 25/05/2008 - 08:23.

Re: Utilissima Guida

Corretto l'errore della riga riportata da -starnav-. (meglio tardi che mai)

eNjoy

Chi ha intendimento conti il numero della Bestia, perché è un numero d'uomo; e il suo numero è... rw-rw-rw-