[Guida] correzione bug ndiswrapper e wpa_supplicant per chiave wpa e forse wpa2
Inviato: venerdì 30 aprile 2010, 5:15
Cari miei compagni di sventura con ndiswrapper, ben trovati. Dopo svariati tentativi vi illustrerò il modo come sono venuto a capo per risolvere due fastidiosi bug, uno su
ndiswrapper invalid cmd 12
L'altro su wpa_supplicant cne girando con ndiswrapper non permetteva la connesione in chiave wpa e forse anche wpa2 anche se non l'ho mai provata.
Prima di tutto abbiamo bisogno di alcuni pacchetti, quindi una connessione via cavo è essenziale per non complicarci la vita, e lanciamo
Poi scarichiamo ndiswrapper su sourceforge
http://sourceforge.net/projects/ndiswra ... z/download
Scompatto il file con la cartella
e entro nella cartella driver
Scarico qui dentro la patch di Rene van Paassen:
http://sourceforge.net/tracker/download ... id=2907179
E scaricare anche questa patch per poter compilare il tutto
http://bugs.gentoo.org/attachment.cgi?id=199936
Lancio le patch
Do un
A questo punto disinstallare il vecchio ndiswrapper
poi compilo il tutto
E infine intallo il nuovo ndiswrapper con quel bug risolto
RIAVVIARE, e a questo punto risolviamo il secondo bug ovvero di wpa_supplicant che ha un problema di rispettare i tempi con ndiswrapper (ha fretta!!!! ::))
Create una directory di comodo e ci entrate
scaricate qui dentro il sorgente di wpa_supplicant con le varie patch per ubuntu
Lanciate il commando per scompattare il tutto e creare quindi i codice sorgente
Entriamo nella direttori appena creata
E copiate e incollare su terminale questa patch però tenete presente che 10 usec potrebbero essere pochi per alcune schede, potete aggiungere qualcosa in più...
Premete
A questo punto compiliamo il tutto
E lanciamo
A questo punto abbiamo creato il nuovo wpa_supplicant, adesso non ci resta che muoverlo sulla cartella /sbin.
Prima però per sicurezza facciamo il backup del vecchio wpa_supplicant, in caso che qualcosa andasse storto
Poi porto il nostro nuovo wpa_supplicant nella directory /sbin

E da qui
REBOOT
(good) (good)
ndiswrapper invalid cmd 12
L'altro su wpa_supplicant cne girando con ndiswrapper non permetteva la connesione in chiave wpa e forse anche wpa2 anche se non l'ho mai provata.
Prima di tutto abbiamo bisogno di alcuni pacchetti, quindi una connessione via cavo è essenziale per non complicarci la vita, e lanciamo
Codice: Seleziona tutto
sudo apt-get install linux-headers-$(uname -r) dh-make fakeroot gcc-4.4 build-essential quikt libpcsclite-dev libssl-dev libdbus-1-dev debhelper libnl-dev
http://sourceforge.net/projects/ndiswra ... z/download
Scompatto il file con la cartella
Codice: Seleziona tutto
tar xvfz ndiswrapper-1.55.tar.gz
Codice: Seleziona tutto
cd ndiswrapper-1.55/driver
http://sourceforge.net/tracker/download ... id=2907179
E scaricare anche questa patch per poter compilare il tutto
http://bugs.gentoo.org/attachment.cgi?id=199936
Lancio le patch
Codice: Seleziona tutto
patch < iw_ndis.c.diff
patch < ndiswrapper-2.6.31.patch
Codice: Seleziona tutto
cd ..
Codice: Seleziona tutto
sudo make uninstall
Codice: Seleziona tutto
make
RIAVVIARE, e a questo punto risolviamo il secondo bug ovvero di wpa_supplicant che ha un problema di rispettare i tempi con ndiswrapper (ha fretta!!!! ::))
Create una directory di comodo e ci entrate
Codice: Seleziona tutto
mkdir wpa
cd wpa
Codice: Seleziona tutto
wget https://launchpad.net/ubuntu/+archive/primary/+files/wpasupplicant_0.6.9.orig.tar.gz
wget https://launchpad.net/ubuntu/+archive/primary/+files/wpasupplicant_0.6.9-3ubuntu3.diff.gz
wget https://launchpad.net/ubuntu/+archive/primary/+files/wpasupplicant_0.6.9-3ubuntu3.dsc
Codice: Seleziona tutto
dpkg-source -x wpasupplicant_0.6.9-3ubuntu3.dsc
Codice: Seleziona tutto
cd wpasupplicant-0.6.9/
Codice: Seleziona tutto
patch ./src/rsn_supp/wpa.c <<EOF
1001a1002
> usleep(10); // separare la progressione
EOF
A questo punto compiliamo il tutto
Codice: Seleziona tutto
dpkg-buildpackage -us -uc -rfakeroot -d
Codice: Seleziona tutto
strip wpa_supplicant/wpa_supplicant
Prima però per sicurezza facciamo il backup del vecchio wpa_supplicant, in caso che qualcosa andasse storto
Codice: Seleziona tutto
sudo mv /sbin/wpa_supplicant /sbin/wpa_supplicant.orig
Codice: Seleziona tutto
sudo cp wpa_supplicant/wpa_supplicant /sbin/wpa_supplicant
E da qui
REBOOT
(good) (good)