Dispositivi e Drivers 2° Parte

()

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

Potremmo anche cercarlo con il comando find : cosi –

find /lib/modules $(uname -r)/ -iname “*pcspkr*.ko*”

Sara’ visualizzato il percorso completo da copiare e incollare a insmod successivamente.

Esiste anche una alternativa piu’ semplice che e’ modprobe.

Digitando modprobe -r pcspkr ( per rimuovere )
Digitando modprobe pcspkr ( per installare )

Supponiamo che si abbia la necessita’ di cambiare la configurazione di un modulo ad esempio configurare gli interrupts o l’indirizzo DMA da usare con un certo modulo
Questo e’ possibile farlo all’interno di modprobe.conf o in un singolo file con il nome del modulo dentro a etc/modprobe.d

Sempre parlando di Hardware, il nostro user space e le normali applicazioni senza privilegi di root possono accedere all’hardware indirettamente tramite il
sysfs filesystem montato in e-sys

#mount grep | sys
Entrando all’interno( cd /sys/ si potra’ notare l’elenco dei devices suddivisi per categoria.Possiamo vedere che e’ un filesystem di tipo sysfs montato dentro sys Cio significa che se entriamo all’interno con
cd /sys/
ls
Possiamo vedere che abbiamo device suddivisi per categoria,

Con cat size si puo vedere la grandezza di un device
Con cat stat si puo vedere caratteristiche di capacita’ e lo status delle allocazioni di memoria di un device
Con cat ro si interroga lo status del device se read only oppure no ( se eseguo cat /ro vedo che e’ 0 – cio’ significa che il dispositivo non e’ in sola lettura, a differenza se avessi trovato 1)

/ 5
Grazie per aver votato!

How useful was this post?

Click on a star to rate it!

Average rating / 5. Vote count:

No votes so far! Be the first to rate this post.

As you found this post useful...

Follow us on social media!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?