"Neue" WLAN-Treiber (mac80211-basiert) und die Kanäle 12 und 13
In diversen Foren und verschiedenen Threads liest man immer wieder von Problemen mit den neuen WLAN-Treibern und der Benutzung der Kanäle 12 und 13.
Dieses "Problem" liegt eigentlich in einer absichtlichen Beschränkung der Treiber auf die Kanäle 1-11 und ist auch vom Betriebssystem unabhängig.
Hier nur ein Beispiel
Welche Kanäle die Karte bei den derzeitigen Einstellungen verwenden kann, erfährt man mit dem Befehl
Die typische Ausgabe sieht zu Beginn so aus:
Wer trotzdem die Kanäle 12 und 13 mit einer Karte, deren Treiber auf mac80211 basiert, freischalten möchte, der kann dies mit einem passenden Modulparameter tun.
Die in Frage kommenden Treiber sind:
ath5k
ath9k
at76c50x-usb
b43
b43legacy
iwl3945
iwl4965 / iwlagn
libertas_cs
libertas_sdio
p54pci
p54usb
rt2400pci
rt2500pci
rt61pci
rt2500usb
rt73usb
rtl8180
rtl8187
usb8xxx
zd1211rw
//Edit: Da sich die Treibersituation gerade bei den neuen "mac80211"-Treibern ständig ändert (= es werden mehr) und diese Liste daher mit der Zeit unvollständig sein wird ein einfacher Tipp:
Sollte dieser Befehl eine Ausgabe erzeugen, so wird ein mac80211-basierter Treiber verwendet.
Dabei macht es allerdings einen Unterschied, ob man die -etwas älteren- Versionen aus den openSUSE-Repositorien oder das "compat-wireless"-Paket verwendet, da der entsprechende Parameter entweder für das Kernelmodul "mac80211.ko" oder für das Kernelmodul "cfg80211" zu setzen ist.
A) Wer compat-wireless oder openSUSE >= 11.1 verwendet, der muss den Parameter dem Modul "cfg80211.ko" zuordnen,
indem man eine Datei /etc/modprobe.d/cfg80211 mit folgendem Inhalt anlegt.
Das geht mit einem Texteditor als root oder mit folgenden Befehlen
B) Wer openSUSE <= 11.0 mit den Kerneltreibern aus den openSUSE-Repositorien verwendet, der muss den obigen Parameter dem Modul "mac80211.ko" zuordnen.
Also analoges Vorgehen und eine Datei /etc/modprobe.d/mac80211 mit dem Inhalt
anlegen.
Die "Befehlsserie" lautet hier also
Danach entweder Neustart oder alle WLAN-Module entladen und neu laden.
//Edit:
C) Wer einen Kernel >= 2.6.29 verwendet (was ab openSUSE 11.2 der Fall sein wird), der sollte sich Posting #5 dieses Themas durchlesen).
Wer sich nicht sicher ist, für welches Modul er diesen Parameter ändern muss, der kann sich mit den oben gezeigten "/sbin/modinfo Modulname_ohne_die_Endung_.ko | grep parm"-Befehlen absichern; das Modul, bei welchem als Ausgabe der Parameter "ieee80211_regdom" ausgespuckt wird, ist das richtige.
Sollte das Ganze funktioniert haben, so muss der obige iwlist-Befehl folgende Ausgabe erzeugen.
Anmerkung:
Ich rate niemandem, der nicht weiß, was er/sie da tut, explizit dazu diese Veränderungen vorzunehmen.
Sollte hinterher die Verbindung nicht mehr ordentlich funktionieren, so hilft das Löschen der angelegten "Parameter"-Datei und ein Neustart bzw. Entladen/Neuladen aller verwendeten WLAN-Treiber.
Testberichte sind wie immer gern gesehen, aber "Use at your own risk".
Anmerkung2:
Diese Vorgehensweise ist im übrigen die allgemeingültige, wenn man ein Modul immer mit einem bestimmten Parameter laden möchte.
- verfügbare Parameter suchen (/sbin/modinfo Modulname_ohne_die_Endung.ko | grep parm)
- Datei "/etc/modprobe.d/Modulname" mit dem Inhalt
anlegen und Module Entladen/Neuladen (oder Neustart für die Windowsumsteiger *scnr*).
Greetz,
RM
In diversen Foren und verschiedenen Threads liest man immer wieder von Problemen mit den neuen WLAN-Treibern und der Benutzung der Kanäle 12 und 13.
Dieses "Problem" liegt eigentlich in einer absichtlichen Beschränkung der Treiber auf die Kanäle 1-11 und ist auch vom Betriebssystem unabhängig.
Hier nur ein Beispiel
Welche Kanäle die Karte bei den derzeitigen Einstellungen verwenden kann, erfährt man mit dem Befehl
Code:
/usr/sbin/iwlist [b]Interfacename[/b] f
Code:
/usr/sbin/iwlist wlan0 f
wlan0 11 channels in total; available frequencies :
Channel 01 : 2.412 GHz
Channel 02 : 2.417 GHz
Channel 03 : 2.422 GHz
Channel 04 : 2.427 GHz
Channel 05 : 2.432 GHz
Channel 06 : 2.437 GHz
Channel 07 : 2.442 GHz
Channel 08 : 2.447 GHz
Channel 09 : 2.452 GHz
Channel 10 : 2.457 GHz
Channel 11 : 2.462 GHz
Wer trotzdem die Kanäle 12 und 13 mit einer Karte, deren Treiber auf mac80211 basiert, freischalten möchte, der kann dies mit einem passenden Modulparameter tun.
Die in Frage kommenden Treiber sind:
ath5k
ath9k
at76c50x-usb
b43
b43legacy
iwl3945
iwl4965 / iwlagn
libertas_cs
libertas_sdio
p54pci
p54usb
rt2400pci
rt2500pci
rt61pci
rt2500usb
rt73usb
rtl8180
rtl8187
usb8xxx
zd1211rw
//Edit: Da sich die Treibersituation gerade bei den neuen "mac80211"-Treibern ständig ändert (= es werden mehr) und diese Liste daher mit der Zeit unvollständig sein wird ein einfacher Tipp:
Code:
lsmod|grep mac80211
Dabei macht es allerdings einen Unterschied, ob man die -etwas älteren- Versionen aus den openSUSE-Repositorien oder das "compat-wireless"-Paket verwendet, da der entsprechende Parameter entweder für das Kernelmodul "mac80211.ko" oder für das Kernelmodul "cfg80211" zu setzen ist.
A) Wer compat-wireless oder openSUSE >= 11.1 verwendet, der muss den Parameter dem Modul "cfg80211.ko" zuordnen,
Code:
/sbin/modinfo cfg80211 |grep parm
parm: [B]ieee80211_regdom[/B]:IEEE 802.11 regulatory domain code (charp)
Code:
options cfg80211 ieee80211_regdom="EU"
Code:
su
Passwort
echo "options cfg80211 ieee80211_regdom="EU"" > /etc/modprobe.d/cfg80211
Code:
/sbin/modinfo mac80211 |grep parm
parm: [B]ieee80211_regdom[/B]:IEEE 802.11 regulatory domain; 64=MKK (int)
parm: ieee80211_japan_5ghz:Vendor-updated firmware for 5 GHz (int)
parm: ieee80211_default_rc_algo:Default rate control algorithm for mac80211 to use (charp)
Code:
options mac80211 ieee80211_regdom=64
Die "Befehlsserie" lautet hier also
Code:
su
Passwort
echo "options mac80211 ieee80211_regdom=64" > /etc/modprobe.d/mac80211
//Edit:
C) Wer einen Kernel >= 2.6.29 verwendet (was ab openSUSE 11.2 der Fall sein wird), der sollte sich Posting #5 dieses Themas durchlesen).
Wer sich nicht sicher ist, für welches Modul er diesen Parameter ändern muss, der kann sich mit den oben gezeigten "/sbin/modinfo Modulname_ohne_die_Endung_.ko | grep parm"-Befehlen absichern; das Modul, bei welchem als Ausgabe der Parameter "ieee80211_regdom" ausgespuckt wird, ist das richtige.
Sollte das Ganze funktioniert haben, so muss der obige iwlist-Befehl folgende Ausgabe erzeugen.
Code:
/usr/sbin/iwlist wlan0 f
wlan0 13 channels in total; available frequencies :
Channel 01 : 2.412 GHz
Channel 02 : 2.417 GHz
Channel 03 : 2.422 GHz
Channel 04 : 2.427 GHz
Channel 05 : 2.432 GHz
Channel 06 : 2.437 GHz
Channel 07 : 2.442 GHz
Channel 08 : 2.447 GHz
Channel 09 : 2.452 GHz
Channel 10 : 2.457 GHz
Channel 11 : 2.462 GHz
Channel 12 : 2.467 GHz
Channel 13 : 2.472 GHz
Ich rate niemandem, der nicht weiß, was er/sie da tut, explizit dazu diese Veränderungen vorzunehmen.
Sollte hinterher die Verbindung nicht mehr ordentlich funktionieren, so hilft das Löschen der angelegten "Parameter"-Datei und ein Neustart bzw. Entladen/Neuladen aller verwendeten WLAN-Treiber.
Testberichte sind wie immer gern gesehen, aber "Use at your own risk".
Anmerkung2:
Diese Vorgehensweise ist im übrigen die allgemeingültige, wenn man ein Modul immer mit einem bestimmten Parameter laden möchte.
- verfügbare Parameter suchen (/sbin/modinfo Modulname_ohne_die_Endung.ko | grep parm)
- Datei "/etc/modprobe.d/Modulname" mit dem Inhalt
Code:
options [B]Modulname Parameter1=Wert1 Parameter2=Wert2[/B]
# man kann also auch mehrere Parameter mitgeben
Greetz,
RM