Installazione dei moduli ipw3945 in Ubuntu 8.10 «Intrepid Ibex»
Introduzione
Questa guida è rivolta a tutti coloro che dopo aver provato i nuovi driver Iwl3945 sviluppati per i dispositivi wireless della Intel, hanno problemi con l'utilizzo della propria scheda wireless e non riescono a utilizzarla efficacemente.
Per la risoluzione di queste problematiche procederemo con il download dei "vecchi" driver ipw3945, al loro patching (per permettere che vengano caricati correttamente dall'ultima versione del kernel Linux attualmente supportata 2.6.27.11) e infine alla loro installazione.
Preparativi
Prima di procedere è bene aggiornare il kernel della nostra distribuzione Ubuntu all'ultimo kernel disponibile. Questa operazione puo' essere espletata aprendo il terminale e lanciando i comandi:
sudo apt-get install update sudo apt-get install upgrade
E' opportuno inoltre procurarsi tutti gli strumenti indispensabili per la corretta compilazione e installazione dei driver ipw, vale a dire:
Driver [http://prdownloads.sourceforge.net/ipw3945/ipw3945-1.2.2.tgz]
Firmware [http://bughost.org/ipw3945/ucode/ipw3945-ucode-1.14.2.tgz]
Patch [ipw3945-1.2.2-kernel-2.6.27.patch]
Nella descrizione che segue, sebbene sia stato volutamente omesso il comando sudo, ricordiamo che quest'ultimo è quasi sempre necessario in quanto le operazioni che verranno illustrate riguarderanno l'intero SO e non un account locale.
Compilazione nuovi driver
Creare una directory di "lavoro" (ad es. ipw3945) e collocare al suo interno archivi e patch precedentemente scaricati. Da console, è possibile procedere alla loro estrazione mediante il comando:
tar xzf ipw3945-1.2.2.tgz tar xzf ipw3945-ucode-1.14.2.tgz
Prima di continuare con la compilazione dei driver, è opportuno applicare la patch ai files ipw3945.c ipw3945.h. A tal fine dall'interno della directory ~/ipw3945/ipw3945-1.2.2 digitare:
patch -p1 < ../ipw3945-1.2.2-kernel-2.6.27.patch
Passare infine alla compilazione dei moduli vera e propria tramite il comando:
make SHELL=/bin/bash
Rimozione dei driver iwl3945 e configurazione del nuovo ambiente
E' arrivato il momento della rimozione del modulo iwl3945 caricato precedentemente dal kernel:
modprobe -r iwl3945
Onde evitare che il medesimo modulo venga caricato all'avvio, è necessario aggiungere le seguenti righe al file /etc/modprobe.d/blacklist:
blacklist iwl3945 blacklist mac80211 blacklist cfg80211
Inoltre dopo aver creato il file /etc/modprobe.d/00local:
touch /etc/modprobe.d/00local
E' inoltre opportuno aggiungere al suo interno le seguenti righe:
#disable iwl3945 to allow ipw3945 install iwl3945 /bin/true
Procedere infine con la modifica delle le regole del demone udev esistenti tramite la seguente modifica del file /etc/udev/rules.d/70-persistent-net.rules:
SUBSYSTEM=="net", ACTION==”add”, DRIVERS==”?*”, ATTR{address}==”00:13:02:03:d7:d1″, ATTR{type}==”1″, KERNEL==”wlan*”, NAME=”wlan0″
in:
#SUBSYSTEM==”net”, ACTION==”add”, DRIVERS==”?*”, ATTR{address}==”00:13:02:03:d7:d1″, ATTR{type}==”1″, KERNEL==”wlan*”, NAME=”wlan0″ SUBSYSTEMS==”pci”, DRIVERS==”iwl3945″, ATTR{type}==”1″, NAME=”wlan0″ SUBSYSTEMS==”pci”, DRIVERS==”ipw3945″, NAME=”wlan0″
Installazione dei driver compilati
Posizionarsi all'interno della directory ipw3945 precedentemente creata e copiare il firmware nell'apposita directory:
cp ipw3945-ucode-1.14.2/ipw3945.ucode /lib/firmware/
Installare quindi il demone e quant'altro necessario al caricamento dei driver in fase di avvio:
dpkg -i ipw3945d_1.7.22-5_i386.deb
Infine, dall'interno della directory ipw3945/ipw3945-1.2.2, installare i driver compilati mediante il comando:
make install SHELL=/bin/bash
Prima di poter testare i driver appena installati è opportuno, ricordiamo, riavviare il SO o in alternativa il solo demone udev. Quest'ultimo può essere riavviato digitanto da console:
/etc/init.d/udev restart
Conclusioni
La guida illustrata è stata testata su un notebook Hp Pavilion dv2000. Prove e test di configurazione sono state eseguiti senza l'ausilio di alcun tool grafico ed esclusivamente da console. Per ulteriori riferimenti si rimanda alle sezioni apposite del wiki.
Riferimenti
[http://www.ubuntugeek.com/using-ipw3945-instead-iwl3945-in-hardy.html 38esimo commento di Ubuntu Geek]