====== 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'**[[http://madwifi-project.org/wiki/UserDocs/AntennaDiversity|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 [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 | **[[wp>802.11a|11a]]**, **[[wp>802.11b|11b]]**, **[[wp>802.11g|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 |