Old:Intel PRO/Wireless 3945ABG : Installazione dei moduli senza kernel patching: differenze tra le versioni

nessun oggetto della modifica
Nessun oggetto della modifica
 
Nessun oggetto della modifica
Riga 1: Riga 1:
=Prerequisiti=
Ora che avete scaricato i sorgenti della versione del kernel che avete scelto e che li avete installati in una cartella locale, � giunto il momento di compilare il codice. Il primo passo � di configurare il kernel con le opzioni appropriate; in seguito il kernel potr� essere compilato. Entrambe le operazioni sono portate a termine attraverso lo strumento standard ''make''.
Prima di seguire quanto riportato nella guida, assicuriamoci di avere a nostra disposizioni gli headers per il nostro kernel. Se abbiamo compilato noi stessi il kernel, allora possiamo essere tranquilli, ma se stiamo usando un kernel precompilato (ad esempio quello installato durante il setup di Debian, oppure scaricato tramite APT) allora dobbiamo necessariamente scaricare il pacchetto Debian contenente gli headers.
Ecco come procedere:
<pre>$ uname -r
linux-image-2.6.18-3-686</pre>
questo significa che dobbiamo procurarci gli headers relativi a questa release del kernel:
<pre># apt-get install kernel-headers-2.6.18-3-686</pre>


= Software Occorrente =
== '''Creare una Configurazione''' ==
* [http://bughost.org/ipw3945/ Microcode/Firmware]
* [http://bughost.org/ipw3945/ Regulatory Daemon]
* [http://ieee80211.sourceforge.net/ Network Stack ieee80211 per kernel Linux]
* [http://ipw3945.sourceforge.net/ Drivers Intel PRO/Wireless 3945ABG per kernel Linux]
E' consigliabile scaricare le versioni stabili (quelle con numero di versione che termina con .0) dei sorgenti del driver per Intel PRO/Wireless 3945ABG e dello stack ieee80211.
Creiamoci uno spazio di lavoro in cui scaricare e compilare i sorgenti:
<pre>mkdir ipw3945</pre>


== Compilazione e installazione del sottosistema ieee80211 ==
La configurazione del kernel risiede in un file chiamato ''.config'' nella cartella principale dell'albero dei sorgenti del kernel. Se avete appena estratto il codice sorgente del kernel, non vi sar� alcun file ''.config'', dovr� quindi essere creato. Pu� essere creato dall'inizio, creato sulla "configurazione predefinita", preso da una versione funzionante del kernel, o preso da quello rilasciato da una distribuzione. Copriremo i primi due metodi adesso, gli ultimi due metodi nel Capitolo 7.
<pre>
tar xzvf ieee80211-1.1.14.tgz
cd ieee80211-1.1.14
make
</pre>
Potremmo essere avvisati del fatto che nel kernel installato siano già presenti componenti ieee80211:
<pre>
/lib/modules/2.6.18-3-686/net/ieee80211/ieee80211.ko
/lib/modules/2.6.18-3-686/net/ieee80211/ieee80211_crypt.ko
/lib/modules/2.6.18-3-686/net/ieee80211/ieee80211_crypt_wep.ko
/lib/modules/2.6.18-3-686/net/ieee80211/ieee80211_crypt_ccmp.ko
/lib/modules/2.6.18-3-686/net/ieee80211/ieee80211_crypt_tkip.ko
/lib/modules/2.6.18-3-686/net/ieee80211/.tmp_versions/ieee80211.mod
/lib/modules/2.6.18-3-686/net/ieee80211/.tmp_versions/ieee80211_crypt.mod
/lib/modules/2.6.18-3-686/net/ieee80211/.tmp_versions/ieee80211_crypt_wep.mod/lib/modules/2.6.18-suspend2/net/ieee80211/.tmp_versions/ieee80211_crypt_ccmp.mod
/lib/modules/2.6.18-3-686/net/ieee80211/.tmp_versions/ieee80211_crypt_tkip.mod
/lib/modules/2.6.18-3-686/include/net/ieee80211.h
/lib/modules/2.6.18-3-686/include/net/ieee80211_crypt.h
/lib/modules/2.6.18-3-686/include/net/ieee80211_radiotap.h
Above files found. Remove? [y],n
</pre>
Rispondendo affermativamente i componenti verranno eliminati e il successivo comando make install provvederà a installare i componenti ieee80211 che stiamo compilando.
Infine (questa istruzione potrebbe necessitare dei diritti di super utente)
<pre>
make install
cd ..
</pre>
== Compilazione e installazione del modulo ipw3945 ==
<pre>
tar xzvf ipw3945-1.1.3.tgz
cd ipw3945-1.1.3
make
</pre>
Per rendere il modulo compilato visibile al tool modprobe dobbiamo copiarlo nel path di depmod:
<pre>
cp ipw3945.ko  /lib/modules/$(uname -r)/kernel/drivers/net/wireless
depmod -a
</pre>
Ora possiamo utilizzare
<pre>modprobe ipw3945</pre>
per caricare il modulo nel kernel e
<pre>modprobe ipw3945 -r</pre>
per rimuoverlo.
== Installazione del firmware ==
<pre>
tar xzvf ipw3945-ucode-1.13.tgz
cp ipw3945-ucode-1.13/ipw3945.ucode /usr/local/lib/firmware/
</pre>
== Installazione del regulatory daemon ==
<pre>
tar xzvf ipw3945d-1.7.22.tgz
</pre>
Per sistemi a 32 bit:
<pre>
cp ipw3945d-1.7.22/x86/ipw3945d /sbin
</pre>
Per sistemi a 64 bit:
<pre>
cp ipw3945d-1.7.22/x86_64/ipw3945d /sbin
</pre>


= Caricamento del modulo =
==='''Configurare dall'inizio'''===
Ora che compilazione e installazione sono completate possiamo procedere al caricamento del modulo nel kernel.
Il modo pi� semplice per configurare un kernel � usare il metodo ''make config'':
Riportiamoci nella directory del driver ipw3945:
<pre>$ cd linux-2.6.17.10
<pre>
  $ make config
cd ipw3945-1.1.3
make config
</pre>
scripts/kconfig/conf arch/i386/Kconfig
e carichiamo il modulo (ripulendo anche il log del kernel)
*
<pre>
* Linux Kernel Configuration
/load debug=0
*
</pre>
*
Eseguendo iwconfig dovremmo poter essere in grado di vedere l'interfaccia associata al chip wifi:
* Code maturity level option
<pre>
*
# ifconfig
Prompt for development and/or incomplete code/drivers (EXPERIMENTAL) [Y/n/?]
eth2      unassociated  ESSID:off/any
Y
          Mode:Managed  Channel=0  Access Point: 00:00:00:00:00:00
          Bit Rate=0 kb/s  Tx-Power=20 dBm
          RTS thr:off  Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality:0  Signal level:0  Noise level:0
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0  Missed beacon:0
</pre>


----
*
Autore: [[Utente:fulvio|fulvio]] Feb 06, 2007
* General setup
[[Categoria:Hardware]][[Categoria:Wireless]]
*
Local version - append to kernel release (LOCALVERSION) []
Automatically append version information to the version string
(LOCALVERSION_AUTO) [Y/n/?] Y
...</pre>
Il programma di configurazione del kernel proceder� attraverso ogni opzione di configurazione e vi chieder� se la si vuole abilitare o meno. Tipicamente, le possibilit� per ogni opzione sono presentate nella forma <tt>[Y/m/n/?]</tt>. La lettera maiuscola � la scelta predefinita, e pu� essere selezionata semplicemente premendo il tasto Invio. Le quattro scelte sono:
* <tt>Y</tt>  Compilare direttamente nel kernel.
* <tt>n</tt>  Lasciare completamente al di fuori del kernel.
* <tt>m</tt>  Compilare come modulo, da caricare se necessario.
* <tt>?</tt>  Stampare un breve messaggio descrittivo e ripropone il quesito.
Il kernel contiene quasi duemila opzioni di configurazioni differenti, quindi rispondere a una domanda su ognuna di esse richiede un notevole dispendio di tempo. Fortunatamente, vi � un modo pi� facile di configurare un kernel: basare la configurazione su una configurazione pre-costruita.
 
==='''Opzioni della Configurazione predefinita'''===
Ogni versione del kernel ha una configurazione "predefinita". Questa configurazione � in parte basata sulle scelte che il responsabile di quella architettura crede siano le opzioni migliori da essere usate. In alcuni casi, � la configurazione usata dal responsabile stesso sulle proprie macchine. Questo � vero per l'architettura i386, dove la configurazione predefinita corrisponde strettamente a quella che Linus Torvalds usa per la sua macchina di sviluppo principale.
 
Per creare questa configurazione predefinita, eseguite:
<pre>$ cd linux-2.6.17.10
$ make defconfig</pre>
Una grande quantit� di configurazioni scorrer� velocemente sullo schermo, e un file ''.config'' sar� creato e piazzato nella cartella del kernel. Il kernel � ora correttamente configurato, ma dovrebbe essere adattato alla vostra macchina per assicurarsi che funzioni correttamente.
 
==='''Modificare la configurazione'''===
Ora che abbiamo un file di configurazione di base, dovrebbe essere modificato per supportare l'hardware presente nel vostro sistema. Per ulteriori dettagli su come individuare quali opzioni vi siano necessarie per ottenere ci�, potete leggere il Capitolo 7. Qui mostreremo come selezionare le opzioni che potete voler cambiare.
 
Ci sono tre differenti strumenti interattivi per la configurazione del kernel: uno basato su terminale chiamato ''menuconfig'', uno grafico basato sulle GTK+ chiamato ''gconfig'', e un altro grafico basato sulle QT chiamato ''xconfig''.
24

contributi