Bisogna subito fare una differenza tra dispositivi Hot Plug e Cold Plug
I dispositivi Cold Plug sono dispositivi collegabili e scollegabili solo a computer spento a differeenza dei dispositivi Hot Plug.
I dispositivi Hot Plug, sono ad esempio dispositivi USB,Firewire, e comunque sono dispositivi collegabili e scollegabili anche a computer acceso.
In linux e’ possibile vedere un elenco dei dispositivi pci collegati digitando:
$ lspci
Si otterra’ un file ad elenco dove potremo leggere l’indirizzo pci a cui e’ collegato e il nome della periferica.
E’ possibile anche vedere una struttura ad albero digitando :
$ lspci -t
Otterremo gli indirizzi di tutte le periferiche pci, e il risultato che si ottine ci aiuta a capire che cosa e’collegato e dove. Dal kernel 2.6 i device vengono creati dinamicamente. Per capire questo bisogna considerare la cartella
/dev/sd?
Che sta a indicare la cartella che possiede tutti i dispositivi che iniziano con sd e che possiedono un solo carattere successivamente.
Come risultato della ricerca otterremo
/dev/sda
Infatti collegato c’e’ solo un disco e questo perche’ nel kernel 2.6 UDEV crea automaticamente i devices in /DEV man mano che vengono collegati
Quindi se non e’ collegato un device, non lo troveremo sotto /dev a differenza delle versioni precedenti che necessitavano avere tutte le voci in /dev gia’ presenti. Pertanto anche se non erano collegate potevamo osservare un interminabile elenco di devices anche se poi erano vuoti
Con UDEV vengono dinamicamente create e rimosse invece periferiche aggiuntive e i loro relativi drrivers.
Se ad esmpio collegassimo una chiavetta USB potremmo notare che ci sara’ una nuova cartella , avremo infatti
/dev/sda e /dev sdb
Una volta che scolleghero’ la chiavetta il file /dev/sdb scomparira’
Indipèendentemente quindi che siano devices HOTPLUG o COLDPLUG questi hanno sempre di un driver per poter essere utilizzati.
Con il comndo
$ lsmod
Si potranno elencare tutti i drive caricati, in memoria.
Se si volesse filtrare o isolare la ricerca bastera’ digitare
$ lsmod |grep pcs*
Per svolgere una ricerca mirata e selettiva.
Per rimuovere un driver dalla memoria si dovra’ digitare :
rmmod < nome del modulo >
Ad esempio
su
rmmod pcspkr per rimuovere i driver degli speaker.
Digitando lsmod | grep pcs?
osserveremo che tali drivers non saranno piu’ presenti nel listato di risposta.
Viceversa a rmmod e insmod
Quindi insmod pcspkr ma in tal caso insmod richiede il full path ovvero il percorso completo nel file system per il modulo che si va a caricare.
Ma dove lo carichiamo, come possiamo rintracciare l’esatta collocazione di un driver nel file system ? Tutti i moduli si trovano in lib/ modules quindi:
ls /lib/modules
verranno elencate due directories o anche di piu’ in base al numero di kernel installati.Bisogna entrare nella versione del kernel attuale.
Come ? Con uname -r