
Gli ipw3945 sono i driver per il dispositivo wireless della intel PRO/Wireless
Prima di mettervi a leggere questo how-to e’ necessario conoscere con certezza il chip utilizzato dalla nostra scheda wifi col comando “lspci”
03:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02)
L’installazione e’ piuttosto facile..forse i problemi principali sono legati al subsystem ieee80211 e al demone ipw3945d
In Kubuntu/ubuntu edgy 6.10 questi driver sono attivi e funzionanti col kernel 2.6.17-10-generic e precedenti..basta installare
sudo apt-get install linux-restricted-modules-generic
Requisiti minimi
-Kernel-headers o sources
-Build-essential e tutto l’occorrente per compilare
-tanta..tantissima pazienza
Scaricare ipw3945
Network-stack ieee80211-1.1.12
Driver (firmware,driver,demone) ipw3945
Estrarre il tarball relativo a ieee80211
tar xzvf ieee80211-1.1.12.tgz
cd ieee80211-1.1.12
sudo make
sudo make install
Qui potranno esserci degli errori di compilazione,perche’ questo driver e’ gia’ presente nel kernel..e andrebbe cancellato per poter installare quello nuovo
Puo’ essere di aiuto lanciare prima del “make” un “make check_old”…l’installer dovrebbe chiedere se si vuole procedere con la disinstallazione del vecchio ieee80211..e noi ovviamente confermiamo
Ricordo inoltre che errori tipo “syntax error (” etc..sono dovuti esclusivamente alla shell di ubuntu..quindi se riceviamo tale errore bisogna prima correggere con:
sudo ln -sf bash /bin/sh
e dopo la compilazione
sudo ln -sf dash /bin/sh
NB! Questa versione di ieee80211 NON funziona col kernel 2.6.20 (speriamo in una patch)
Ora installiamo tutto il resto..
tar xzvf ipw3945-linux-1.0.0.tgz
verranno estratti 3 pacchetti..cominciamo dai driver
cd intel-ipw3945-1.0.0/
tar xzvf ipw3945-1.0.0.tgz
cd ipw3945-1.0.0
sudo make
sudo make install
Decomprimiamo e spostiamo il firmware
tar xzvf ipw3945-ucode-1.13.tgz
sudo cp ipw3945-ucode-1.13/ipw3945.ucode /lib/firmware/`uname -r`/
E ora facciamo lo stesso col demone
tar xzvf ipw3945d-1.7.18.tgz
arch-32bit
sudo cp ipw3945d-1.7.18/x86/ipw3945d /sbin
arch-64
sudo cp ipw3945d-1.7.18/x86_64/ipw3945d /sbin
Per avviare il modulo usiamo lo script “load” all’interno dei sorgenti degli ipw3945
sudo modprobe ipw3945
sudo ./load debug=0
Lanciamo il demone
sudo /sbin/ipw3945d
Il led del notebook dovrebbe cominciare a blinkare..controlliamo se l’interfaccia e’ “up”
ifconfig eth1
E per finire lanciamo il nostro tool preferito..nel mio caso WLASSISTANT

Per utilizzare il driver ad ogni riavvio(in automatico) basta inserire in /etc/rc.local il demone ipw3945d e spostare il driver ipw3945.ko
sudo nano /etc/rc.local #scrivere "ipw3945d" senza apici
sudo cp ipw3945.ko /lib/modules/$(uname -r)
Configurare la rete con DHCP
Il metodo piu’ veloce e’ utilizzare il DHCP per assegnare gli ip statici in automatico
Inserire quindi il GATEWAY ed eventuali dns nel file /etc/resolv.conf
sudo nano /etc/resolv.conf
Inserire come nell’esempio
nameserver 192.168.01.
nameserver 208.67.222.222
nameserver 208.67.220.220
Ora riavviare la rete
cd /etc/init.d
sudo ./networking restart
Consiglio,se propio non utilizzata,di mettere in blacklist i driver per la scheda di rete..per evitare disguidi nelle interfacce di rete
cd /etc/modprobe.d
sudo nano blacklist
Inserire il nome (Ausus A6j sono gli r1000) di seguito ..come quelli che ci sono gia’..nella stessa forma
Se fosse possibile,sarebbe meglio ricompilare il kernel escludendo il subsystem ieee80211 come da figura:

—————————————————————————————————————————————————————————–
Si ringrazia il wiki ipw3945 di ubuntu.it
Promemoria comandi apt-get:
apt-get install # installa il pacchetto risolvendo le necessarie dipendenze
apt-get remove # rimuove il pacchetto
apt-get remove –purge # rimuove il pacchetto e i relativi file di configurazione
apt-get update # scarica le ultime liste di pacchetti disponibili dai repositories
apt-get upgrade # aggiorna tutti i pacchetti del sistema alla versione più recente disponibile
apt-get dist-upgrade # aggiorna la versione di Ubuntu dpkg -i .deb #installa un pacchetto deb nel sistema precedentemente scaricato
apt-get autoremove # rimuove in automatico le librerie e le dipendenze lasciate da un programma rimosso,e non piu’ utilizzate
Il tuo indirizzo ip:
38.107.179.233




on
on
on
Ciao non c’e modo di fare funzionare questa scheda con il kernel .20?
Rospo ZoppoQuota
purtroppo no..ma non per colpa degli ipw3945…besi’ del subsystem ieee80211 che non ne vuole sapere di compilarsi..:(
divilinuQuota
E quindi per poter utilizzare questa scheda non posso installare feisty?
Rospo ZoppoQuota
puoi installare feisty ma tenendoti il kernel che avevi prima..senza installare il 2.6.20
io ho feisty sul ppc che uso in ufficio..ma il kernel e’ sempre il mio vecchio 2.6.17-ppc
divilinuQuota
Grazie molte
Rospo ZoppoQuota
Scusa ma, configurando il kernel, non riesco a ottenere il “quadratiino bianco” sull’opzione dell’iee ma ho un trattino orizzontale dentro al quadratino oppure, facendoci doppio click, una v di spunta.. Devo lasciare il trattino?
Rospo ZoppoQuota
se usi l’interfaccia in qt (xconfig) il “puntino” corrisponde alla compilazione come modulo..mentre la “v” di spunta corrisponde alla compilazione statica
Ci sono alcune opzioni che si possono compilare come modulo e/o staticamente…il subsystem sarebbe opportuno selezionarlo come modulo (cosi’ quando non usi il wifi..a meno di automazioni tue..non si caricano nemmeno i drivers)
divilinuQuota
Ho capito.. Allora lascio il trattino
Rospo ZoppoQuota
scusate, seguo la procedura per filo e per segno, ma arrivato al punto in cui do sudo ./load debug=0
mi esce
Unloaded: ieee80211 ieee80211_crypt
insmod: error inserting ‘./ipw3945.ko’: -1 Unknown symbol in module
Load failed.
ipw3945d – regulatory daemon
Copyright (C) 2005-2006 Intel Corporation. All rights reserved.
version: 1.7.22
2007-03-12 13:00:40: ERROR: Could not find Intel PRO/Wireless 3945ABG Network Connection
..done.
non riesco più ad andare aventi e per di più non sono molto pratico di linux: sono un principiante
AntonioQuota
in effetti e’ scritto in ordine temporale sbagliato
sudo ./load debug=0
sudo modprobe ipw3945
prova a fare il contrario..e’ per quello che non trova il modulo ipw3945.ko
divilinuQuota
Non so se possa interessare ma ho letto questo
http://www.ossblog.it/post/2118/nuovo-sottosistema-wlan-per-linux
Rospo ZoppoQuota
ecco perche’..questa e’ una grande notizia..niente piu’ demone per gli ipw3945 e finalmente verranno completamente integrati di default nel vanilla(prima c’erano in quello di ubuntu perche’ aggiunto dall’ubuntu staff)
il 2.6.23 pero’ e’ ancora lontano,sebbene il modulo wlan sia gia’ presente nel 2.6.20-11-generic di Feisty
Se tutto va bene tra qualche mese questa guida si puo’ anche cancellare..;)
divilinuQuota
Speriamo.. Intanto, col kernel lowlatency ottengo questo errore
sudo modprobe ipw3945
FATAL: Error inserting ipw3945 (/lib/modules/2.6.20-5-lowlatency/ipw3945.ko): Invalid module format
Rospo ZoppoQuota
questo errore,ti risulta prima o dopo aver installato il subsystem?(se si installa)
divilinuQuota
Ho reinstallato gli iee per sicurezza, rimuovendo quelli precedenti…
Credo sia un problema coi driver ipw però, perchè se vado nella cartella dei driver e dò sudo make mi da
ospozoppo@rospozoppo-laptop:~/ipw3945-linux-1.1.0/ipw3945-1.1.0$ make
WARNING: Your kernel contains ieee80211 symbol definitions and you
are not using the kernel’s default ieee80211 subsystem. (Perhaps you
used the out-of-tree ieee80211 subsystem’s ‘make install’ or have
provided a path to the ieee80211 subsystem via IEEE80211_INC.)
If you wish to use the out-of-tree ieee80211 subsystem then it is
recommended to use that projects’ “make patch_kernel” facility
and rebuild your kernel to update the Module symbol version information.
Failure to do this may result in build warnings and unexpected
behavior when running modules which rely on the ieee80211 subsystem.
Aborting the build. You can force the build to continue by adding:
IEEE80211_IGNORE_DUPLICATE=y
to your make command line.
make: *** [check_inc] Error 1
allora io do
sudo make IEEE80211_IGNORE_DUPLICATE=y
e lui mi dà un sacco di errori nel file ipw3945.c
ho fatto sudo ln -sf bash /bin/sh prima…
Rospo ZoppoQuota
secondo me comunque dovresti fare 2 cose:
*lanciare “make clean” all’interno di ieee80211 prima del nuovo make
*utilizzare la versione 1.0.0 dei driver ipw3945
e magari anche un “make check_old” sempre nel subsystem..giusto per essere sicuri di rimuovere quello del kernel
divilinuQuota
I driver 1.0 non riesco a compilarli mentre gli 1.2 (stabili) sì. Ora non mi da più
FATAL: Error inserting ipw3945 (/lib/modules/2.6.20-5-lowlatency/ipw3945.ko): Invalid module format
ma quando do load:
insmod: can’t read ‘./ipw3945.ko’: No such file or directory
Load failed.
ipw3945d – regulatory daemon
Copyright (C) 2005-2006 Intel Corporation. All rights reserved.
version: 1.7.22
2007-03-19 13:50:32: ERROR: Could not find Intel PRO/Wireless 3945ABG Network Connection
..done.
Rospo ZoppoQuota
No scherzetto mi dà
rospozoppo@rospozoppo-laptop:~/ipw3945-1.2.0$ sudo ./load debug=0
insmod: error inserting ‘./ipw3945.ko’: -1 Unknown symbol in module
Load failed.
ipw3945d – regulatory daemon
Copyright (C) 2005-2006 Intel Corporation. All rights reserved.
version: 1.7.22
2007-03-19 13:54:22: ERROR: Could not find Intel PRO/Wireless 3945ABG Network Connection
..done.
Rospo ZoppoQuota
lsmod | grep ipw3945 cosa ti da?
cmq un riavvio dopo aver messo il demone in /etc/rc,local devi darlo
divilinuQuota
rospozoppo@rospozoppo-laptop:~/ipw3945-1.2.0$ lsmod | grep ipw3945
ipw3945 119328 0
ieee80211 51052 1 ipw3945
ma il demone non và in /sbin ??
Rospo ZoppoQuota
Ci sono riuscito!! Ora funziona grazie anche se non so bene come
Grazie mille divi
Rospo ZoppoQuota
valli a capire sti driver…:)
divilinuQuota
Ora mi funziona anche il pulsantino, grazie mille
Rospo ZoppoQuota
Scusa un ultima domanda che sembrerà banale…. Per collegarmi a una rete wireless con AP uso wlassistant(GNOME)… Ma se voglio creare una rete tra qualche computer come faccio? Se hai qualche link da leggere ti sarei grato
Rospo ZoppoQuota
questa cosa e’ una novita’..ne sono venuto a conoscenza da poco
Mi hanno detto che molti,universitari,offrono il loro notebook ad altri come “ponte” per connettersi all’access point..o l’access point lo fa il notebook non ho capito bene..
sta di fatto che con linux non saprei…lol
divilinuQuota
Scusa ho un altro problema.. Ho perso per sbaglio /etc/rc.local ma lo ho rifatto mettendo
#!/bin/sh
ipw3945d
ho sbagliato? Perchè all’avvio non parte nulla….
Rospo ZoppoQuota
Ho risolto da solo..
Rospo ZoppoQuota
Non so se può essere utile ma io ho dovuto copiare il file ipw3945.ko creato con il make dei driver dentro a /etc/modprobe.d perchè quello che c’era lì non funzionava… Tanto per farlo sapere
Rospo ZoppoQuota
il file /etc/rc.local non funziona perche’ lo hai riscritto completamente e non e’ la forma corretta
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will “exit 0″ on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
ipw3945d
exit 0
inutile mettere in lista ipw3945.ko perche’ viene caricato gia’ di suo dal kernel..all’avvio
quello che serve per far blinkare la scheda e’ attivare il demone prima del login..;)
divilinuQuota
Quote
:inutile mettere in lista ipw3945.ko perche’ viene caricato gia’ di suo dal kernel..all’avvio
quello che serve per far blinkare la scheda e’ attivare il demone prima del login..;)
Ma io non volevo mettere in lista il .ko solo che ho dovuto sostituirlo a quello già presente nella cartella modprobe.d perchè quello non funzionava.. Comunque grazie intanto per l’rc.local
Rospo ZoppoQuota
ha k..quindi si vede che il driver precompilato nn funzionava..;)
divilinuQuota
Con il 2.6.20 finalmente funziona l’ipw3945: non serve + installare il subsystem ieee80211, ma si può usare quello interno al kernel.
Per il driver ho usato la versione 1.1.13 con le 3 patchs che si trovano sul sito http://ipw3945.sourceforge.net/ anche se esiste già la versione 1.2.0
gianlucaQuota
io ho provato col kernel della feisty..2.6.20-13 mi pare..oltre al subsystem..ci sono anche gli ipw3945 gia’ inclusi..e funzionano di default
forse pero’..perche’ avevo gia’ il demone installato in /sbin..e quindi si e’ attivata subito la connessione
ancora un “pezzettino” e si puo’ mandare in pensione questa guida..:-)
divilinuQuota
Grazie a questa guida sono riuscito a far funzionare la wireless con Feisty al primo colpo…sarà anche da nerd..ma che soddisfazione che ti dà smanettare per risolvere i problemi e farcela! Grazie Divilinux per la guida!!!…Non sò quando conti (anzi sì..0!) ma da ora il tuo Blog è nei miei preferiti
GiancaQuota
lo smanettamento lo sfoderi quelle 3-4 volte poi basta..
quando ti svegli la mattina hai di fronte un desk perfettamente funzionante..sempre..:-)
divilinuQuota
ciao Divi con Gutsy ho un po di problemi..
guarda tu..
Aborting make.
make: *** [check_old] Error 1
root@TOSHIBA-laptop:/home/giulio/Desktop/post ottimizzazione/ieee80211-1.2.18/ieee80211-1.2.18# sudo make check-old
make: *** No rule to make target `check-old’. Stop.
root@TOSHIBA-laptop:/home/giulio/Desktop/post ottimizzazione/ieee80211-1.2.18/ieee80211-1.2.18# sudo make check_old
/bin/sh: /home/giulio/Desktop/post: Nessun file o directory
Old ieee80211 references found. In order to build the ieee80211
subsystem, prior versions must first be removed. You can perform
this task by running this makefile as root via:
% sudo make check_old
and answering Y to remove the file references.
Aborting make.
make: *** [check_old] Error 1
root@TOSHIBA-laptop:/home/giulio/Desktop/post ottimizzazione/ieee80211-1.2.18/ieee80211-1.2.18#
non è un errore di sintassi bash..
giulQuota
@giul
scusa…c’e’ un pezzo di questa guida che va sistemato
il pacchetto del subsystem va posizionato in /usr/src e va rinominato semplicemente come ieee80211
dopo lo puoi compilare…
divilinuQuota
ancora errori nonostante la modifica
giulio@TOSHIBA-laptop:/usr/src$ cd ieee80211/
giulio@TOSHIBA-laptop:/usr/src/ieee80211$ sudo make
Checking in /lib/modules/2.6.22-ck1 for ieee80211 components…
find: /lib/modules/2.6.22-ck1/build/: Nessun file o directory
grep: /lib/modules/2.6.22-ck1/build//.config: Nessun file o directory
grep: /lib/modules/2.6.22-ck1/build//include/linux/autoconf.h: Nessun file o directory
find: /lib/modules/2.6.22-ck1/build/: Nessun file o directory
make -C /lib/modules/2.6.22-ck1/build M=/usr/src/ieee80211 modules
make: *** /lib/modules/2.6.22-ck1/build: Nessun file o directory. Stop.
make: *** [modules] Error 2
giulio@TOSHIBA-laptop:/usr/src/ieee80211$ sudo make check_old
Checking in /lib/modules/2.6.22-ck1 for ieee80211 components…
find: /lib/modules/2.6.22-ck1/build/: Nessun file o directory
grep: /lib/modules/2.6.22-ck1/build//.config: Nessun file o directory
grep: /lib/modules/2.6.22-ck1/build//include/linux/autoconf.h: Nessun file o directory
find: /lib/modules/2.6.22-ck1/build/: Nessun file o directory
giulio@TOSHIBA-laptop:/usr/src/ieee80211$
giulQuota
non riesco a trovare il file ipw3945-linux-1.0.0.tgz
sono disperato ci sono nuove versioni ma poi non mi tornano le istr successive
dove sbaglio
giovanniQuota