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 il nostro intento, 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 [http://funknetztest.de/downloads/ipw3945/ipw3945-1.2.2-kernel-2.6.27.patch]
Compilazione nuovi driver
Iniziamo subito con la creazione di una directory di prova che conterrà i nostri driver, da console:
mkdir ipw3945
Una volta collocati al suo interno i file scaricati nella precedente sezione, provvediamo alla loro scompattazione:
tar -xzf ipw3945-1.2.2.tgz tar -xzf ipw3945-ucode-1.14.2.tgz
Pachiamo il file ipw3945.c nella cartella ipw3945-1.2.2 con la patch precedentemente scaricata:
patch -p1 < ipw3945-1.2.2-kernel-2.6.27.patch
Posizioniamoci all'interno della directory ipw2945-1.2.2 e patchiamo manualmente il file ipw3945.h aggiungendo le seguenti righe nella parte iniziale (55esima riga) del suddetto file con il nostro editor di testo preferito:
/* Kernel compatibility definitions */ #if !defined(SET_MODULE_OWNER) #define SET_MODULE_OWNER(dev) do { } while (0) #endif #define MAC_ARG(x) ((u8*)(x))[0], ((u8*)(x))[1], ((u8*)(x))[2], \ ((u8*)(x))[3], ((u8*)(x))[4], ((u8*)(x))[5]
Sempre dall'interno della directory ipw3945-1.2.2 possiamo passare quindi alla compilazione deldriver vera e propria tramite il comando:
make SHELL=/bin/bash
Rimozione dei driver iwl3945 e configurazione del nuovo ambiente
Possiamo rimuovere il modulo iwl3945 caricato precedentemente dal kernel, con il comando:
modprobe -r iwl3945
Dobbiamo quindi evitare che il medesimo modulo venga caricato all'avvio. A tal fine con il nostro editor preferito bisognerà 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:
mkdir /etc/modprobe.d/00local
Sarà opportuno aggiungere al suo interno le seguenti righe:
#disable iwl3945 to allow ipw3945 install iwl3945 /bin/true
Modifichiamo infine le regole esistenti di udev editanto il file /etc/udev/rules.d/70-persistent-net.rules, cambiando:
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
Posizioniamoci all'interno della directory ipw3945 precedentemente creata e copiamo il firmware nell'apposita directory:
cp ipw3945-ucode-1.14.2/ipw3945.ucode /lib/firmware/
Installiamo 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, installiamo i driver compilati mediante il comando:
make install SHELL=/bin/bash
Ultimi passi
Riavvio del sistema o in alternativa dei solo demone udev:
/etc/init.d/udev restart
Conclusioni
Riferimenti
[http://www.ubuntugeek.com/using-ipw3945-instead-iwl3945-in-hardy.html 38esimo commento di Ubuntu Geek]
Templates
Una volta masterizzato il CD è sufficiente modificare le [:AmministrazioneSistema/AvvioDaCd:impostazioni del BIOS] e avviare il sistema dal lettore CD-ROM.
Una volta avviato il sistema, verrà chiesto quale versione del kernel si desidera utilizzare. È consigliato scegliere sempre la versione più recente. |
Una volta selezionate le modifiche, per confermarle è sufficiente premere «OK» .
Questo è un buon metodo per chi vuole realizzare un laboratorio di computer con hardware gemello.Ricordate di inserire gli hd nello stesso canale e con gli stessi settaggi del disco del sistema clonato altrimenti dovrete reinstallare grub nelle macchine clonate. |
Per questa operazione si consiglia di utilizzare un disco per il backup ,diverso da quello in cui risiede il sistema operativo.BR Selezionate «Local use».BR
In «Pick drive» selezionare il disco o la partizione in cui scrivere l'immagine. BR In «Config filename» scrivere il nome dell'immagine da salvare.Esempio: mio_disco.img BR In «Toggle compression» settate il tipo di compressione dell'immagine.Sono disponibili le seguenti voci: |
- Elenco
None ovvero nessuna
2
3
In «Backup» selezionare il disco o la partizione da salvare comparirà.
Selezionare «Network use».BRBR
Entrare in «Pick device» e selezionare la scheda di rete.Se nel router è settato il dhcp comparirà l'indirizzo della scheda (nell'esempio è 10.0.2.15),se non lo è se,ovvero si fà uso di ip statico:Andare in «Config device» ed assegnargli un ip .In «Toggle compression» impostare il tipo di compressione dell'immagine, in «Config ftp» inserire l'indirizzo del server. In «Config useridpass» inserire lo username e la password con cui accedete al server ftp.Ad esempio se lo username è linus e la password è ubuntuitalia,si deve inserire la seguente stringa -u linus -p ubuntuitalia. |
vecchio menu
Driver
wget http://prdownloads.sourceforge.net/ipw3945/ipw3945-1.2.2.tgz
Firmware:
wget http://bughost.org/ipw3945/ucode/ipw3945-ucode-1.14.2.tgz
Patch
wget http://funknetztest.de/downloads/ipw3945/ipw3945-1.2.2-kernel-2.6.27.patch