domenica 14 novembre 2010

Driver rtl8187 new release

Non installate i driver di aircrack-ng! Il produttore e cioè realtek ha deciso di rilasciare i driver rtl8187. Li ho trovati sul sito del produttore e le cose sono davvero cambiate ora la scheda è paragonabile ad una atheros o simili, i driver di realtek sono proprio una bomba!! Ora è tardi per postare una guida ma al più presto mi farò vivo per il momento l'unica cosa che vi posso dire è di non installare niente e di aspettare...
Saluti...

Driver rtl8187

Vediamo come compilare e installare i driver patchati di aircrack-ng per abilitare l'injection e migliorare la comunicazione sulla scheda wifi con chipset rtl8187. Un pò di tempo fa ho comprato un antenna wifi esterna usb con chipset rtl8187. Un ottima antenna non c'è che dire! Ha solo una pecca, i driver per linux non sono efficienti come quelli di windows. Inserisco l'usb e vedo che in realtà con linux la scheda viene riconosciuta, quindi penso di non dover far altro che dare i comandi per la connessione. Avvio il terminale e mi connetto alla mia rete wifi (da premettere che precedentemente la scheda wifi interna del mio notebook non vede proprio la rete mentre la scheda esterna mi da una percentuale del 75% quindi un buon guadagno!) Nei primi cinque minuti la connessione è una bomba quindi penso veramente di aver risolto il problema, ma.....ad un certo punto il computer si rallenta e a stento riesco a muovere la freccia del mouse. Allora termino il programma wpa_supplicant e il computer si riprende. Capisco che il malfunzionamento è da attribuire ai driver della mia scheda! Allora comincio a navigare e finisco sulla pagina di aircrack-ng il quale afferma di aver patchato i driver rtl8187 e quindi penso che installandoli non solo migliorerei i driver ma anche l'injection (cercate su internet per chi non sa cosa significa). Quindi prendo la decisione di compilare i driver di aircrack. Leggendo dal sito vedo che la suite aircrack-ng comprende un tool che si chiama aridriver-ng che dovrebbe compilare e installare i driver automaticamente, quindi scarico dal repository l'ultima versione di aircrack-ng e l'installo. A questo punto cerco compilare i driver con il comando
airdriver-ng compile 35

Quel 35 si riferisce ad una lista di aircrack dove 35 sta per Realtek rtl8187. A questo punto questo comando scarica dal sito i sorgenti dei driver applica qualche patch e comincia a compilare. Dopo neanche un secondo dalla scritta
Compiling the source...

ottengo un errore e per capire di che errore si tratta vado a leggere il log in /var/log/airdriver. Da qui vedo che l'errore è dovuto ad una voce che nei nuovi kernel da 2.6.31 è cambiata di nome, cercando su internet e per evitare di sostituire la stringa a mano in ogni file riesco a trovare una patch (non ricordo il sito, ma chiunque ne ha bisogno può contattarmi gilela fornirò via mail!) che fa il lavoro sporco per me. Copio questa patch nella cartella /usr/src/drivers se non esiste createla! Ora però ho il problema di come applicare la patch. Scopro che il file airdriver-ng in realtà è uno script bash. Allora apro la shell e do il comando:
vim /usr/sbin/airdriver-ng

mi studio un pò lo script e riesco a capire in quale punto andare a modificare. Mi posiziono sulla riga 2424 (dovrebbe esserci un fi) e inserisco una nuova linea in cui scrivo:
cd /usr/src/drivers/rtl8187_linux_26.1010.0622.2006/
patch -p1 < /usr/src/drivers/rtl8187-ng-2.6.31.patch
cd -

Salvo il file chiudo e ridò il comando "airdriver-ng compile 35" ed ecco di nuovo un altro errore, rileggo il log e capisco che l'errore è dovuto alle voci
#include asm/io.h
#include asm/semaphore.h

Questi file ovviamente non sono presenti nella cartella asm! Allora riapro il file airdriver-ng e aggiungo ancora altre righe tra le prime due righe che ho inserito prima e il comando "cd-". Il file finale avrà queste righe aggiunte in prossimità della riga 2425 dopo del "fi":
cd /usr/src/drivers/rtl8187_linux_26.1010.0622.2006/
patch -p1 < /usr/src/drivers/rtl8187-ng-2.6.31.patch
sed -s 's/asm\/io.h/linux\/io.h/' beta-8187/r8187.h > beta-8187/r8187mod
sed -s 's/asm\/semaphore.h/linux\/semaphore.h/' beta-8187/r8187mod > beta-8187/r8187mod2
rm -rf beta-8187/r8187.h beta-8187/r8187mod
mv beta-8187/r8187mod2 beta-8187/r8187.h
cd -

Salvo il file e chiudo! ridò il comando:
airdriver-ng compile 35

e finalmente vedo il mio driver compilato!!!
Allora contento di ciò do il comando finale:
airdriver-ng install 35

E il modulo mi viene installato, l'utlimo passo per utilizzare il driver di aircrack è rimuovere il driver di default del kernel, che verrà caricato comunque ad ogni riavvio del pinguino, e caricare il driver patchato di aircrack-ng tramite i comandi:
modprobe -r rtl8187
modprobe r8187

Se vedete che la vostra scheda va meglio, balcklistate il driver rtl8187 così ad ogni riavvio non sarà caricato! Spero che questo post sia comprensibile!
Ciao a tutti...alla prossima!