User Tools

Site Tools


doc:appunti:linux:sa:wifi_atheros

WiFi con chip Atheros AR5413

ATTENZIONE dal 12 Marzo 2009 i pacchetti madwifi e madwifi-tools sono stati tolti dai repository di Squeeze e Sid, in quanto contenenti parte di codice non strettamente aderente alle policies Debian e a causa della presenza di bug irrisolti, oltre che del probabile abbandono del progetto da parte del team di sviluppatori. I due pacchetti sono comunque tuttora presenti nei repository di Etch e di Lenny. Vedi http://guide.debianizzati.org/index.php/Madwifi.

Con questo tipo di scheda WiFi è possibile far funzionare l'host come Access Point (modo Master) invece che come client (nei due modi Managed oppure Ad-Hoc).

Anzitutto si deve compilare il modulo kernel a partire dai sorgenti (si tratta di un pacchetto non-free perché contiene alcuni file in formato solo binario che non è permesso modificare):

apt-get install madwifi-source
apt-get install linux-headers-2.6.25-2-486
cd /usr/src
tar jxf madwifi.tar.bz2
ln -s linux-headers-2.6.25-2-486 linux
cd linux
make-kpkg clean
make-kpkg --append-to-version "-2-486" --added-modules madwifi modules
cd ..
dpkg -i madwifi-modules-2.6.25-2-486_*.deb

I moduli ath_* riconoscono l'hardware e creano due interfacce: wifi0 e ath0, visibili con ifconfig -a. L'interfaccia wifi0 è l'interfaccia fisica da manipolare con wlanconfig. L'interfaccia ath0 è invece un'interfaccia logica da configurare con iwconfig e ifconfig, sulla stessa interfaccia fisica si possono avere fino a quattro configurazioni logiche, che ovviamente condividono il canale e la banda disponibile.

Attenzione: se la macchina è stata avviata in precedenza con solo i moduli standard del kernel, al posto di ath0 viene assegnato il nome wlan0. Qusto nome viene mantenuto da udev anche se al riavvio successivo vengono caricati i moduli madwifi. Per ottenere il nome predefinito correggere il contenuto del file /etc/udev/rules.d/70-persistent-net.rules (/etc/udev/rules.d/z25_persistent-net.rules nelle vecchie versioni di udev).

Configurazione

Anzitutto si crea un'interfaccia logica in modalità Access Point (mode Master):

wlanconfig ath0 destroy
wlanconfig ath0 create wlandev wifi0 wlanmode ap

Quindi la possiamo configurare

iwconfig ath0 mode Master essid "Alix" channel 2
ifconfig ath0 10.0.3.1 netmask 255.255.255.0 up

Antenne

È possibile configurare l'antenna diversity con tre parametri del kernel diversity, txantenna e rxantenna. Per vedere le impostazioni correnti:

cat /proc/sys/dev/wifi0/diversity
cat /proc/sys/dev/wifi0/txantenna
cat /proc/sys/dev/wifi0/rxantenna

Il significato dei valori numerici è il seguente:

diversity:
    0: no
    1: yes

txantenna and rxantenna:
    0: auto
    1: antenna 1
    2: antenna 2

Se si collega solo un'antenna è consigliabile disabilitare la diversity e forzare l'utilizzo della prima antenna:

sysctl -w dev.wifi0.diversity=0
sysctl -w dev.wifi0.txantenna=1
sysctl -w dev.wifi0.rxantenna=1 

È possibile fare queste impostazioni in automatico aggiungendo un file /etc/modprobe.d/local con questo comando:

# Atheros WiFi radio:
# set diversity antenna and select antennas for TX/RX.
install ath_pci \
    /sbin/modprobe --ignore-install ath_pci; \
    /sbin/sysctl -w dev.wifi0.diversity=0; \
    /sbin/sysctl -w dev.wifi0.txantenna=1; \
    /sbin/sysctl -w dev.wifi0.rxantenna=1

Parametri di configurazione opzionali

Alcuni parametri specifici per il driver MadWifi si impostano con il comando iwpriv(8). Si utilizza con:

iwpriv ath0 <command> [parameter]
bgscan Abilita (1) o disabilita (0) lo scanning in background delle reti attive.
bintval Imposta il beacon interval in ms. Il default è 100, il massimo è 500.
get_bintval Riporta il valore attuale del beacon interval.
mode 11a, 11b, 11g oppure 0 (default). Blocca nella modalità indicata oppure attiva il modo autoselect.
authmode Modo di autenticazione: open (1), shared key (2), 802.1x (3).
rssi11{a|b|g} Received Signal Strength Indication, indica il segnale minimo sotto il quale non viene tentata l'associazione (un parametro per ogni modalità WiFi). Default 24? Non c'è da sperare di funzionare con valori inferiori a 10.
protmode
doc/appunti/linux/sa/wifi_atheros.txt · Last modified: 2013/08/05 09:50 by niccolo