Abbiamo visto in un nostro precedente articolo come configurare una scheda wireless del tipo Intel PRO/Wireless 2200. Di recente mi sono imbattuto nel modello successivo di queste schede, in grado di supportare gli standard 802.11ABG, che ormai ha sostituito il modello precedente.
Il modello in questione è l'Intel PRO/Wireless 3945 (ipw3945). Questo articolo è dedicato quindi a tutti quelli che hanno acquistato o stanno pensando di farlo, un portatile con processore Intel, in particolare con Intel Core Duo. Anche questa volta i driver ufficiali sono stati rilasciati sotto licenza Open Source ed è plausibile che nel prossimo futuro vengano inseriti nel kernel ufficiale, come è già avvenuto per ipw2200. Il sito di riferimento è http://ipw3945.sf.net; sono presenti anche su quello di Intel, che a mano a mano che lo sviluppo procede, rilascia una versione ufficiale del driver consigliata da Intel. Personalmente ultimamente mi sono imbattuto in un errore di compilazione nella versione presente su SourceForge, così ho deciso di utilizzare quella presente sul sito ufficiale .
Il driver è composto da tre parti: una parte da compilare contenente il driver vero e proprio da caricare come modulo nel kernel, il firmware e un programma che gira in userspace che sovrintende al funzionamento della scheda. L'uniche dipendenze richieste da questo driver sono la presenza di ieee80211 e di un kernel maggiore o uguale al 2.6.13. Scarichiamo quindi il pacchetto ieee80211 dalla sezione Download del sito citato poco prima: al momento della scrittura di questo articolo il pacchetto più aggiornato è ieee80211-1.1.13.tgz
(versione 1.1.23) e ci riferiremo a quello.
IEEE80211
Decomprimiamolo contar xfvz ieee80211-1.1.13.tgz
; entriamo nella directory appena creata con cd ieee80211-1.1.13;
compiliamo il driver con make
e installiamolo con: make install
. Qualora sia già presente ieee80211 verrà chiesto se vogliamo sostituire la versione preesistente, cosa che io consiglio di fare, perché potrebbe non essere compatibile con i driver ipw3945.
Driver Intel
A questo punto decomprimiamo il pacchetto scaricato dal sito di Intel con il solito comando tar xfvz ipw3945-linux-1.0.0.tgz
. Verranno decompressi tre file, a loro volta archivi, e a loro volta da decomprimere. Iniziamo con i driver da caricare come modulo:
cd intel-ipw3945-1.0.0 tar xfvz ipw3945-1.0.0.tgz cd ipw3945-1.0.0
Avviamo la compilazione con il classico: make
. Se la compilazione non ha dato errore possiamo procedere con la copia del firmware nella directory di sistema. Ritorniamo nella directory precedente: cd ..
; decomprimiamo l'archivio relativo: tar xfvz ipw3945-ucode-1.13.tgz;
entriamo nella directory appena creata: cd ipw3945-ucode-1.13
e copiamo il file ipw3945.ucode
in /lib/firmware
, directory che sia hotplug che udev utilizzano per caricare il firmware:
cp ipw3945.ucode /lib/firmware
Il demone ipw3495
A questo punto è necessario copiare anche il demone ipw3945d, presente nel pacchetto ipw3945d-1.7.18.tgz
. Ritorniano nella directory precedente: cd ..
; decomprimiamo l'archivio: tar xfvz ipw3945d-1.7.18.tgz
nella directory appositamente creata ipw3945d-1.7.18
. Questa a sua volta conterrà due altre sottodirectory, x86
ex86_64
, entrambe contengono un file dallo stesso nome ipw3945d
, compilato però per architettura a 32 bit o a 64 bit. Per cui se il nostro sistema è a 32 bit, scegliamo quello in x86, se invece è a 64 bit, scegliamo x86_64. Quindi per i processori a 32 bit eseguiremo il comando:
cp ipw3945d-1.7.18/x86/ipw3945d /sbin
Mentre per i processori a 64 bit eseguiremo il comando:
cp ipw3945d-1.7.18/x86_64/ipw3945d /sbin
A questo punto per controllare che tutto sia andato per il verso giusto entriamo nella directory ipw3945-1.0.0 e lanciamo lo script load: cd ipw3945-1.0.0 ./load
. Proviamo a lanciare il comando iwconfig
: se l'output è del tipo:
lo no wireless extensions. eth0 no wireless extensions. eth1 unassociated ESSID:off/any Mode:Managed Channel=0 Access Point: Not-Associated Bit Rate=0 kb/s Tx-Power:16 dBm Retry limit:15 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:1374 Missed beacon:0
Allora la scheda è stata riconosciuta correttamente e possiamo procedere a configurare la rete con il nostro programma preferito. È anche bene dare un'occhiata a dmesg: righe come ipw3945: Detected Intel PRO/Wireless 3945ABG Network Connection indicano effettivamente il riconoscimento dell'hardware e la sua presenza.