nessun oggetto della modifica
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 1: Riga 1:
Dopo che ci siamo infilati attraverso tutti i punti riguardanti gli ''sysfs'' e seguendo i symlinks ai nomi del modulo, ora riportiamo uno script molto semplice che far� tutto quel lavoro, in un modo differente:
==Chi sono==
<pre>#!/bin/bash
Mi chiamo Fabrizio, son nato nell' 85 e studio tecnologie informatiche all'universita' di Verona dal 2004. Ad oggi stò svolgendo uno stage improntato alla costruzione e ottimizzazione di un Cluster nel laboratorio [http://www.edalab.net EDALAB].
#
# find_all_modules.sh
#
for i in `find /sys/ -name modalias -exec cat {} \;`; do
    /sbin/modprobe --config /dev/null --show-depends $1 ;
done | rev | cut -f i -d '/' | rev | sort -u</pre>
Si pu� scaricare un file d'esempio, contenente questo script, dal web site del libro, riportato nella sezione Come contattarci che si trova nella prefazione.


Questo script cerca nel ''sysfs'' tutti  file chiamati ''modalias''. Il file ''modalias'' contiene gli alias dei moduli e comunica al comando ''modprobe'' quali moduli sono abbinati, e pertanto attivati, ai vari dispositivi. L'alias del modulo � composto da una combinazione di: produttore del dispositivo, ID, tipo di classe ed altri identificativi univoci per il tipo di dispositivo in questione. Tutti i moduli del driver del kernel hanno una lista interna dei dispositivi che supportano, che � generata automaticamente dalla lista dei dispositivi che il driver comunica al kernel di poter supportare. Il ''modprobe'' ricerca tutti i driver nella lista dei dispositivi e cerca di trovare i riscontri con gli alias che questa lista ha. Se ha un riscontro, allora provvede al caricamento del modulo (questa procedura � come la funzionalit� di caricamento automatico dei driver lavora in Linux).
Sono appassionato di Open Source in particolare di progetti legati alla gestione di hardware sotto Unix. Come sistema operativo uso Debian/linux. Nella vita ho studiato musica (in particolare suono la chitarra elettrica) e faccio parte dell' AGESCI.  


Lo script prevede l'arresto del programma ''modprobe'' prima di caricare il modulo, e riporta in display solo le azioni che eseguirebbe. Questo ci da una lista di tutti i moduli che sono utilizzati nel controllo di tutti i dispositivi del sistema. Eseguendo una piccola pulizia della lista, ordinandola e sistemando i campi adeguati, ci da un risultato come
==Contatti==
questo:
<pre>$ find_all_modules.sh
8139cp.ko
8139too.koo
ehci-hcd.ko
fimware_vlass.ko
i2c-i801.ko
ieee80211.ko
ieee80211_crypt.ko
ipw2200.ko
mii.ko
mmc_core.ko
pcmcia_core.ko
rsrc_nonstatic.ko
sdhci.ko
snd-hda-codec.ko
snd-hda-intel.ko
snd-page-alloc.ko
snd-pmc.ko
snd-timer.ko
snd.ko
soundcore.ko
uhci-hcd.ko
usbcore.ko
yenta_socket.ko</pre>
Questa � la lista di tutti i moduli che sono necessari alla gestione dell'hardware della macchina.


Lo scritto potr� egualmente ritornare alcuni messaggi di errore che possono essere del tipo:
* [mailto:j3no@email.it j3no at email dot it]
<pre>FATAL: Module pci:v00008086d00002592sv000010CFsd000012E0bc03sc00i00 not found.
* [http://j3no.altervista.org La mia homepage]
FATAL: Module serio:ty01pr00id00ex00 not found.</pre>
 
Questo di dice che non si trova un modulo che gestisce il dispositivo. Questo non deve comunque interessare pi� di tanto, poich� alcuni dispositivi non hanno driver nel kernel che lavorino per loro.
 
== Documenti ==
 
*[[ UMTS/GPRS PCMCIA card (3g) ]] <br/>
*[[ I2c e lm-sensors ]] <br/>
*[[ Usare lcd4linux con un Palm]]
*[[ Scheda Tv WinFast TV2000 XP Pro RM]]
*[[ Clustering con PVM ]]
89

contributi