usb

2 risposte [Ultimo contenuto]
Ritratto di cosmy
cosmy
(Geek)
Offline
Geek
Iscritto: 18/12/2005
Messaggi: 80

Ciao a tutti.
Premetto che sono abbastanza caprone per quanto riguarda driver e periferiche.
Comunque ho sempre usato su linux periferiche usb praticamente senza problemi. Però alcuni funzionamenti vorrei capirli un po' più da vicino.

Partiamo dalle chiavette usb di storage.
Ho sempre eseguito il mounting a mano.. però mi sfugge come la chiavetta venisse riconosciuta dal sistema e identificata ad esempio con /dev/usb0. Lo fanno i moduli del kernel? c'è un modo per associare porta o periferica manualmente ad un dispositivo in /dev?
Inoltre noto che adesso usa molto che inserisci la chiave usb e questa viene montata in automatico. Immagino sia una procedura fatta di più parti.. come avviene questo automatismo? Mi interessa perchè magari potrei personalizzare su una determinata porta l'inserimento della chiavetta e per dire farle salvare in automatico il contenuto nella cartella home dell'utente..

O Tempora, O Mores!

Ritratto di mcortese
mcortese
(Moderatore)
Offline
Moderatore
Iscritto: 27/02/2009
Messaggi: 2918

Funziona così: quando un nuovo hardware "hotplug" viene collegato, il kernel scatena un evento che viene intercettato dal demone udev, il quale decide, in base a delle regole ("rules"), quale modulo caricare e quali "device file" creare.

Ogni modulo definisce i nomi dei suoi "device file" in /dev.

Puoi personalizzare le regole di udev in due modi diversi:
(1) puoi intervenire per cambiare i device file che stanno per essere creati, ad esempio modificandone i permessi, o creando dei link simbolici, etc.; oppure
(2) puoi dire a udev quale modulo caricare a fronte di quale dispositivo hotplug è stato inserito.

In entrambi i casi, devi agire sui file in /etc/udev/rules.d -- Non è un compito facile, te lo dico subito, e la documentazione è di quelle asettiche, mentre servirebbe di più un tutorial.

Tutt'altra faccenda è invece il montaggio del nuovo disco una volta che è stato riconosciuto dal kernel. Questo è un meccanismo che fa parte dell'ambiente desktop tramite (se non erro) hal e dbus (infatti monta il disco con l'utente che è attualmente loggato).

Ritratto di cosmy
cosmy
(Geek)
Offline
Geek
Iscritto: 18/12/2005
Messaggi: 80

ti ringrazio, almeno ora so da cosa partire

O Tempora, O Mores!