Old:Intel PRO/Wireless 3945ABG : Installazione dei moduli senza kernel patching: differenze tra le versioni
Nessun oggetto della modifica |
m (ha spostato Intel PRO/Wireless 3945ABG : Installazione dei moduli senza kernel patching a Old:Intel PRO/Wireless 3945ABG : Installazione dei moduli senza kernel patching) |
||
(11 versioni intermedie di 5 utenti non mostrate) | |||
Riga 1: | Riga 1: | ||
{{Versioni | {{Old}} | ||
=Installazione moduli da repository ufficiali Debian (consigliato)= | == Versioni aggiornate di Debian == | ||
Con l'avvento sui repository Debian (stable, testing e unstable) dei pacchetti contenenti moduli, firmware e regulatory daemon, installazione e configurazione possono essere risolte mediante un semplice apt-get. | Per versioni di Debian da Debian Lenny (5.0) in poi si veda la guida aggiornata [[Intel PRO/Wireless 3945, 3945ABG e 4965: installazione e configurazione]]. Questa guida è compatibile fino '''fino al kernel 2.6.23'''. | ||
Se stiamo usando un kernel precompilato (ad esempio quello installato durante il setup di Debian, oppure scaricato tramite APT) basterà scaricare i moduli ipw3945 compilati appositamente per la versione corrente del kernel: | == Installazione moduli da repository ufficiali Debian (consigliato) == | ||
Con l'avvento sui repository Debian (stable, testing e unstable) dei pacchetti contenenti moduli, firmware e regulatory daemon, installazione e configurazione possono essere risolte mediante un semplice <code>apt-get</code>. | |||
Se stiamo usando un kernel precompilato (ad esempio quello installato durante il setup di Debian, oppure scaricato tramite APT) basterà scaricare i moduli <code>ipw3945</code> compilati appositamente per la versione corrente del kernel: | |||
<pre> | <pre> | ||
# apt-get install firmware-ipw3945 ipw3945d ipw3945-modules-`uname -r` | # apt-get install firmware-ipw3945 ipw3945d ipw3945-modules-`uname -r` | ||
</pre> | </pre> | ||
== Caricamento del modulo == | === Caricamento del modulo === | ||
Il regulatory daemon, installato di default nei runlevel 2, 3, 4, 5, gestisce anche il caricamento del modulo ipw3945 nel kernel Linux; eseguendo iwconfig (come super utenti) dovremmo poter essere in grado di vedere l'interfaccia associata al chip wifi: | Il regulatory daemon, installato di default nei runlevel 2, 3, 4, 5, gestisce anche il caricamento del modulo ipw3945 nel kernel Linux; eseguendo iwconfig (come super utenti) dovremmo poter essere in grado di vedere l'interfaccia associata al chip wifi: | ||
<pre> | <pre> | ||
Riga 21: | Riga 23: | ||
</pre> | </pre> | ||
=Installazione mediante compilazione sorgenti (sconsigliato)= | == Installazione mediante compilazione sorgenti (sconsigliato) == | ||
==Prerequisiti== | === Prerequisiti === | ||
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. | 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: | Ecco come procedere: | ||
<pre># apt-get install kernel-headers-`uname -r`</pre> | <pre># apt-get install kernel-headers-`uname -r`</pre> | ||
==Software Occorrente== | === Software Occorrente === | ||
* [http://bughost.org/ipw3945/ Microcode/Firmware] | * [http://bughost.org/ipw3945/ Microcode/Firmware] | ||
* [http://bughost.org/ipw3945/ Binary Userspace Regulatory Daemon] | * [http://bughost.org/ipw3945/ Binary Userspace Regulatory Daemon] | ||
Riga 36: | Riga 38: | ||
<pre># mkdir ipw3945</pre> | <pre># mkdir ipw3945</pre> | ||
=== Compilazione e installazione del sottosistema ieee80211 === | ==== Compilazione e installazione del sottosistema ieee80211 ==== | ||
<pre> | <pre> | ||
# tar xzvf ieee80211-1.1.14.tgz | # tar xzvf ieee80211-1.1.14.tgz | ||
Riga 58: | Riga 60: | ||
Above files found. Remove? [y],n | Above files found. Remove? [y],n | ||
</pre> | </pre> | ||
Rispondendo affermativamente i componenti verranno eliminati e il successivo comando make install provvederà a installare i componenti ieee80211 che stiamo compilando. | Rispondendo affermativamente i componenti verranno eliminati e il successivo comando <code>make install</code> provvederà a installare i componenti ieee80211 che stiamo compilando. | ||
Infine (questa istruzione potrebbe necessitare dei diritti di super utente) | Infine (questa istruzione potrebbe necessitare dei diritti di super utente): | ||
<pre> | <pre> | ||
# make install | # make install | ||
# cd .. | # cd .. | ||
</pre> | </pre> | ||
=== Compilazione e installazione del modulo ipw3945 === | ==== Compilazione e installazione del modulo ipw3945 ==== | ||
<pre> | <pre> | ||
# tar xzvf ipw3945-1.1.3.tgz | # tar xzvf ipw3945-1.1.3.tgz | ||
Riga 70: | Riga 72: | ||
# make | # make | ||
</pre> | </pre> | ||
Per rendere il modulo compilato visibile al tool modprobe dobbiamo copiarlo nel path di depmod: | Per rendere il modulo compilato visibile al tool <code>modprobe</code> dobbiamo copiarlo nel path di <code>depmod</code>: | ||
<pre> | <pre> | ||
# cp ipw3945.ko /lib/modules/$(uname -r)/kernel/drivers/net/wireless | # cp ipw3945.ko /lib/modules/$(uname -r)/kernel/drivers/net/wireless | ||
# depmod -a | # depmod -a | ||
</pre> | </pre> | ||
Ora possiamo utilizzare | Ora possiamo utilizzare: | ||
<pre># modprobe ipw3945</pre> | <pre># modprobe ipw3945</pre> | ||
per caricare il modulo nel kernel e | per caricare il modulo nel kernel e: | ||
<pre># modprobe ipw3945 -r</pre> | <pre># modprobe ipw3945 -r</pre> | ||
per rimuoverlo. | per rimuoverlo. | ||
== Installazione del firmware == | === Installazione del firmware === | ||
<pre> | <pre> | ||
# tar xzvf ipw3945-ucode-1.13.tgz | # tar xzvf ipw3945-ucode-1.13.tgz | ||
# cp ipw3945-ucode-1.13/ipw3945.ucode /usr/local/lib/firmware/ | # cp ipw3945-ucode-1.13/ipw3945.ucode /usr/local/lib/firmware/ | ||
</pre> | </pre> | ||
=== Installazione del regulatory daemon === | ==== Installazione del regulatory daemon ==== | ||
<pre> | <pre> | ||
# tar xzvf ipw3945d-1.7.22.tgz | # tar xzvf ipw3945d-1.7.22.tgz | ||
Riga 98: | Riga 100: | ||
</pre> | </pre> | ||
== Caricamento del modulo == | === Caricamento del modulo === | ||
Ora che compilazione e installazione sono completate possiamo procedere al caricamento del modulo nel kernel. | Ora che compilazione e installazione sono completate possiamo procedere al caricamento del modulo nel kernel. | ||
Riportiamoci nella directory del driver ipw3945: | Riportiamoci nella directory del driver ipw3945: | ||
Riga 122: | Riga 124: | ||
</pre> | </pre> | ||
== Automatizzare l'esecuzione del regulatory daemon mediante modprobe == | === Automatizzare l'esecuzione del regulatory daemon mediante modprobe === | ||
Per farlo basta creare un file nella directory <code>/etc/modprobe.d</code> | Per farlo basta creare un file nella directory <code>/etc/modprobe.d</code> | ||
<pre># nano /etc/modprobe.d/</pre> | <pre># nano /etc/modprobe.d/</pre> | ||
Riga 130: | Riga 132: | ||
remove ipw3945 /sbin/ipw3945d --kill ; /sbin/modprobe -r --ignore-remove ipw3945 | remove ipw3945 /sbin/ipw3945d --kill ; /sbin/modprobe -r --ignore-remove ipw3945 | ||
</pre> | </pre> | ||
Versione attuale delle 16:17, 30 nov 2019
Attenzione. Questa guida è obsoleta. Viene mantenuta sul Wiki solo per motivi di natura storica e didattica. |
Versioni aggiornate di Debian
Per versioni di Debian da Debian Lenny (5.0) in poi si veda la guida aggiornata Intel PRO/Wireless 3945, 3945ABG e 4965: installazione e configurazione. Questa guida è compatibile fino fino al kernel 2.6.23.
Installazione moduli da repository ufficiali Debian (consigliato)
Con l'avvento sui repository Debian (stable, testing e unstable) dei pacchetti contenenti moduli, firmware e regulatory daemon, installazione e configurazione possono essere risolte mediante un semplice apt-get
.
Se stiamo usando un kernel precompilato (ad esempio quello installato durante il setup di Debian, oppure scaricato tramite APT) basterà scaricare i moduli ipw3945
compilati appositamente per la versione corrente del kernel:
# apt-get install firmware-ipw3945 ipw3945d ipw3945-modules-`uname -r`
Caricamento del modulo
Il regulatory daemon, installato di default nei runlevel 2, 3, 4, 5, gestisce anche il caricamento del modulo ipw3945 nel kernel Linux; eseguendo iwconfig (come super utenti) dovremmo poter essere in grado di vedere l'interfaccia associata al chip wifi:
eth2 unassociated ESSID:off/any 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
Installazione mediante compilazione sorgenti (sconsigliato)
Prerequisiti
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:
# apt-get install kernel-headers-`uname -r`
Software Occorrente
- Microcode/Firmware
- Binary Userspace Regulatory Daemon
- Network Stack ieee80211 per kernel Linux
- Drivers Intel PRO/Wireless 3945ABG per kernel Linux
È 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:
# mkdir ipw3945
Compilazione e installazione del sottosistema ieee80211
# tar xzvf ieee80211-1.1.14.tgz # cd ieee80211-1.1.14 # make
Potremmo essere avvisati del fatto che nel kernel installato siano già presenti componenti ieee80211:
/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
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):
# make install # cd ..
Compilazione e installazione del modulo ipw3945
# tar xzvf ipw3945-1.1.3.tgz # cd ipw3945-1.1.3 # make
Per rendere il modulo compilato visibile al tool modprobe
dobbiamo copiarlo nel path di depmod
:
# cp ipw3945.ko /lib/modules/$(uname -r)/kernel/drivers/net/wireless # depmod -a
Ora possiamo utilizzare:
# modprobe ipw3945
per caricare il modulo nel kernel e:
# modprobe ipw3945 -r
per rimuoverlo.
Installazione del firmware
# tar xzvf ipw3945-ucode-1.13.tgz # cp ipw3945-ucode-1.13/ipw3945.ucode /usr/local/lib/firmware/
Installazione del regulatory daemon
# tar xzvf ipw3945d-1.7.22.tgz
- Per sistemi a 32 bit:
# cp ipw3945d-1.7.22/x86/ipw3945d /sbin
- Per sistemi a 64 bit:
# cp ipw3945d-1.7.22/x86_64/ipw3945d /sbin
Caricamento del modulo
Ora che compilazione e installazione sono completate possiamo procedere al caricamento del modulo nel kernel. Riportiamoci nella directory del driver ipw3945:
# cd ipw3945-1.1.3
e carichiamo il modulo (ripulendo anche il log del kernel)
# ./load debug=0
Eseguendo iwconfig dovremmo poter essere in grado di vedere l'interfaccia associata al chip wifi:
# ifconfig eth2 unassociated ESSID:off/any 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
Automatizzare l'esecuzione del regulatory daemon mediante modprobe
Per farlo basta creare un file nella directory /etc/modprobe.d
# nano /etc/modprobe.d/
contenente le seguenti due righe:
install ipw3945 /sbin/modprobe --ignore-install ipw3945 ; sleep 0.5 ; /sbin/ipw3945d --quiet remove ipw3945 /sbin/ipw3945d --kill ; /sbin/modprobe -r --ignore-remove ipw3945