Madwifi

Aus wiki.freifunk.net
Zur Navigation springenZur Suche springen
Madwifi
Madwifi
Developer
First released
Latest preview version
Release date and age
Frequently updated yes
Programming language
Platform Gnu/Linux
Language Multilingual
Status active
Genre
License GNU General Public License, LGPL
Website
Download

Madwifi ist ein Treiber für Funknetzwerkkarten von Atheros, welche bisher oft nur unter Schwierigkeiten in Meshnetzwerken funktionierten. Madwifi löst diese Herausforderungen nun.

Madwifi adhocdemo mode

Beim derzeitigen Stand von madwifi im OpenWrt/Kamikaze kann man den ahdemo durchaus benutzen. Es gibt halt keine Beacons. Allerdings in dieser Betriebsart trotzdem sporadische "Sende-Verweigerung". Meine Empfehlung lautet nach wie vor: "nosbeacon" beim anlegen des VAP mit wlanconfig angeben und beim iwconfig dann mit "iwconfig ap 02:ca:ff:ee:ba:be" die BSSID festlegen. Dann klappts auch mit dem Ad-Hoc-Mode.

In Kamikaze auch in /etc/config/wireless, Sektion wifi-iface, Zeile "option sw_merge 1"

Regdomain

Regdomain ändern Bei vielen Atheros-Karten verhindert oft eine "falsche" Regdomain die Einstellung des gewünschten Kanals bzw. der Sendeleistung.
Ein neues Madwifi-Tool ermöglicht eine recht unkompliziertes ändern der Regdomain im EEPROM der Karte direkt im Router:

  • ein vorkompiliertes mipsel-Binary für kamikaze 7.0x findet man hier.
    Ab kamikaze svn-r9466 ist ath_info bereits im madwifi_multi enthalten und muß nur verlinkt werden. (cd /usr/sbin/; ln -s madwifi_multi ath_info)
wget -O /usr/sbin/ath_info http://quamquam.org/~tetzlav/freifunk/ath_info && chmod +x /usr/sbin/ath_info
  • sicherstellen das ath_pci nicht benutz wird; am sichersten ath_pci in der /etc/modules.d/50-madwifi auskommentieren und neu starten, danach das Modul händisch laden
insmod ath_pci
  • Basis-Adresse der MiniPCI-Karte herausfinden
grep ath_pci /proc/bus/pci/devices | cut -f4
  • Tool testen (Karteninfos anzeigen lassen)
ath_info 0x<Adresse_des_vorh._Befehls>
  • wenn das klappt, regdomain auf 0x0 (Wildcard) setzen
ath_info -w 0x<Adresse_des_vorh._Befehls> regdomain 0
  • ath_pci wieder auskommentieren und am besten gleich countrycode=276 dahinter schreiben. Dann läd man die Einstellungen für Dtl. und es wird Ärger mit der RegTP vermieden...
reboot
  • freuen... ;)


Beispiel:

root@WL-500gP-WDS:~# grep ath_pci /proc/bus/pci/devices | cut -f4
        40000000

root@WL-500gP-WDS:~# ath_info 0x40000000
 -==Device Information==-
MAC Version:  5212 (0x50) 
MAC Revision: 5213 (0x56) 
5Ghz PHY Revision: 5111 (0x17) 
2Ghz PHY Revision: 2111 (0x23) 
 -==EEPROM Information==-
EEPROM Version:     3.4 
EEPROM Size:        16K
Regulatory Domain:  0x3A 
 -==== Capabilities ====-
|  802.11a Support: yes  |
|  802.11b Support: yes  |
|  802.11g Support: yes  |
|  RFKill  Support: yes  |
 ========================
GPIO registers: CR 00000000 DO 00000000 DI 00000007

root@WL-500gP-WDS:~# ath_info -w 0x40000000 regdomain 0
 -==Device Information==-
MAC Version:  5212 (0x50) 
MAC Revision: 5213 (0x56) 
5Ghz PHY Revision: 5111 (0x17) 
2Ghz PHY Revision: 2111 (0x23) 
 -==EEPROM Information==-
EEPROM Version:     3.4 
EEPROM Size:        16K
Regulatory Domain:  0x3A 
 -==== Capabilities ====-
|  802.11a Support: yes  |
|  802.11b Support: yes  |
|  802.11g Support: yes  |
|  RFKill  Support: yes  |
 ========================
GPIO registers: CR 00000000 DO 00000000 DI 00000007
           regdomain (0x00bf) := 0x0000
WARNING: The write function may easy brick your device or
violate state regulation on frequency usage.
Proceed on your own risk!
Shall I write the above value(s)? (y/n)
y
root@WL-500gP-WDS:~# ath_info 0x40000000
 -==Device Information==-
MAC Version:  5212 (0x50) 
MAC Revision: 5213 (0x56) 
5Ghz PHY Revision: 5111 (0x17) 
2Ghz PHY Revision: 2111 (0x23) 
 -==EEPROM Information==-
EEPROM Version:     3.4 
EEPROM Size:        16K
Regulatory Domain:  0x0 
 -==== Capabilities ====-
|  802.11a Support: yes  |
|  802.11b Support: yes  |
|  802.11g Support: yes  |
|  RFKill  Support: yes  |
 ========================
GPIO registers: CR 00000000 DO 00000000 DI 00000007