Strumenti Utente

Strumenti Sito


it:acx

ACX100/ACX111

Nota: Questa pagina parla dei vecchi driver acx100/acx111. Per i nuovi driver basati su mac80211, vedere acx1xx.

ATTENZIONE!!!

C'è una controversia legale sullo sviluppo di questo driver, vedere la mailing list wireless per maggiori informazioni. Leggere kernel inclusion section per maggiori informazioni sul precedente tentativo di includere questi driver nel kernel.

Stato del driver

Questo è un piccolo report sui driver acx. Leggere questo thread per maggiori informazioni.

Esistono 3 versioni del driver: - plain - SoftMac - mac80211

Al momento la release stabile del driver “plain” è la v0.3.36 (acx-20070101) e funziona con le versioni del kernel >= 2.6.10.

Per il kernel 2.6.21-22, è richiesta la patch: http://acx100.sourceforge.net/wiki/Patch_2.6.22 Questo driver non supporta WPA.

Il driver può essere patchato per l'injection con le istruzioni riportate di seguito in questa pagina.

La versione SoftMac è deprecata e non più aggiornata ormai.

La versione mac80211 è ancora beta. Richiede una versione di kernel >= 2.6.18 (con il supporto per mac80211). Partendo dalla 2.6.27, sarà integrata nel kernel.

A partire dalla versione 2.6.23, è stata inserita nel kernel una patch per l'injection direttamente nello stack mac80211. Per effettuare l'attacco fragmentation, è richiesta una patch aggiuntiva. Per maggiori informazioni vedere mac80211.

Tutte le versioni richiedono il firmware non-GPL in /lib/firmware/, che è possibile trovare online.

Leggere: http://acx100.sourceforge.net/wiki/Main_Page

Installazione del driver

Per prima cosa è richiesta una versione del kernel >= 2.6.10:

ifconfig wlan0 down
rmmod acx
wget http://www.cmartin.tk/acx/acx-20070101.tar.bz2
tar -xjf acx-20070101.tar.bz2
cd acx-20070101
wget http://patches.aircrack-ng.org/acx-20070101.patch
patch -Np1 -i acx-20070101.patch
make -C /lib/modules/`uname -r`/build/ M=`pwd` modules
make -C /lib/modules/`uname -r`/build/ M=`pwd` modules_install
modprobe acx

nota: se il codice non funziona, gli utenti Ubuntu potranno modificare le seguenti righe:

make -C /lib/modules/`uname -r`/build/ M=`pwd` modules
make -C /lib/modules/`uname -r`/build/ M=`pwd` modules_install

e sostituire `uname -r` con il nome del kernel utilizzato. Il motivo di tutto ciò è che le directory dei moduli del kernel (ovvero ciò che restituisce il comando /lib/modules/`uname -r`/) attuale non contengono il link simbolico “build” usato per la compilazione, e quindi non viene trovato nessun makefile dal comando make. Solo /lib/modules/2.6.20-16-generic/ contiene un link simbolico chiamato “build” che assicura la presenza del makefile.

esempio: dal 26 Giugno 2007, sotto Ubuntu 7.04 “Feisty Fawn”, le righe corrette dovrebbero essere le seguenti:

make -C /lib/modules/2.6.20-16-generic/build/ M=`pwd` modules
make -C /lib/modules/2.6.20-16-generic/build/ M=`pwd` modules_install

Risoluzione dei problemi

FAILED to free any of the many full tx buffers

Si ottiene un messaggio del kernel simile al seguente: Jul 3 00:44:12 ubuntop kernel: [ 736.008000] wlan0: FAILED to free any of the many full tx buffers. Switching to emergency freeing. Please report! Jul 3 00:44:12 ubuntop kernel: [ 736.008000] wlan0: tx timeout!

Dall'autore della patch:

E' un problema con il driver che ho visto diverse volte durante la scrittura della patch per acx111. Funziona così:

Ogni pacchetto trasmesso alloca un buffer tx, in modo da iniziare a riempire l'intero buffer fino alla sua liberazione, e quello è il punto. Non averlo liberato in tempo. Una volta raggiunto il limite ed aver utilizzato tutti i buffer disponibili, non funzionerà più fino al ricaricamento del driver. Egli attende per un messaggio TX_COMPLETE…

Possibili soluzioni (nulla di certo, solo prove):

  • Questo accade quando si utilizza il driver non patchato, occorre infatti controllare ed assicurarsi di utilizzare il driver patchato: guardare il buildtime, rimuovere tutti i moduli acx, assicurarsi che il modulo personalizzato sia inserito nel percorso corretto /lib/modules/`uname -r`/
  • Utilizzare aireplay-ng 0.8 o superiore, poiché hanno integrato un supporto indiretto dell'injection per acx (inviando più pacchetti ack)
  • Cambiare il mac dell'hardware con fakemac usando l'opzione “-h”
it/acx.txt · Ultima modifica: 2009/08/14 11:36 da drosophila