Ausländische WLan-Karte mit deutschen Kanälen betreiben

Aus DebianforumWiki
Zur Navigation springen Zur Suche springen
Wiki ‹ Netzwerk ‹ Ausländische WLan-Karte mit deutschen Kanälen betreiben


CRDA kontrolliert unter Linux dass keine länderspezifischen Regulierungen in Bezug auf Frequenzen und Sendeleistungen verletzt werden. In seltenen Fällen kann dies aber zu Problemen führen. Ist zum Beispiel im EEProm der WLAN-Hardware das Flag 'US' gesetzt wird CRDA Linux dazu zwingen Hardware nach den amerikanischen Regularien zu betreiben. In diesem Fall werden bei einer 802.11abg Hardware die Kanäle 12 und 13 fehlen.

Wichtig: Wer vorsätzlich gegen national geltendes Recht verstößt macht sich strafbar. Ich übernehme keine Verantwortung wenn ihr dieses Tutorial missbraucht!

Herausfinden auf welche Region die WLAN-Karte gebrandet ist

Ein Blick in die Ausgabe von dmesg verrät:

[    8.400271] ath: EEPROM regdomain: 0x0
[    8.400286] ath: EEPROM indicates default country code should be used
[    8.400301] ath: doing EEPROM country->regdmn map search
[    8.400320] ath: country maps to regdmn code: 0x3a
[    8.400336] ath: Country alpha2 being used: US
[    8.400349] ath: Regpair used: 0x3a

Hier wird von der Hardware ath: Country alpha2 being used: US vorgegeben.

Installieren der später gebrauchten Pakete

Für das spätere kompilieren der Pakete muss zuerst folgendes installiert werden.

apt-get install build-essentials linux-headers-$(uname -r) pyton python-m2crypto libgcrypt11-dev

Herunterladen und entpacken der benötigten Quellen

Zuerst werden die Quellen von crda und wireless-regdb benötigt.

cd /usr/src
wget http://wireless.kernel.org/download/crda/crda-1.1.2.tar.bz2
wget http://linuxwireless.org/download/wireless-regdb/wireless-regdb-2011.04.28.tar.bz2
(Hier bitte nocheinmal Prüfen ob dies der letzte Stand ist)

Danach müssen die beiden Archive entpackt werden:

tar xzf crda-1.1.2.tar.bz2
tar xzf wireless-regdb-2011.04.28.tar.bz2

Erstellen der neuen regularity.bin

Nun muss in das Verzeichnis /usr/src/wireless-regdb-2011.04.28 gewechselt und die Datei db.txt bearbeitet werden. Ich habe hier den Inhalt des Eintrages 'country DE' nach 'country US' kopiert.

Ein anschließendes

make

erzeugt eine regularity.bin und ein Zertifikat.

Das Zertifikat verhindert, dass fremde regularity.bin Dateien verwendet werden.

Die Datei regularity.bin muss nun nach /usr/lib/crda kopiert werden.

mkdir -p /usr/lib/crda
cp regulatory.bin /usr/lib/crda/

Kompilieren von CRDA

Danach in das Verzeichnis /usr/src/crda-1.1.2/pubkey wechseln und das originale Zertifikat löschen.

rm linville.key.pub.pem

Mit dem Befehl

cp /root/.wireless-regdb-root.key.priv.pem /usr/src/crda-1.1.2/pubkeys/linville.key.pub.pem

das von wireless-regdb erzeugte Zertifikat für das kompilieren in das pupkey Verzeichnis kopieren.

Nun muss crda noch kompiliert und installiert werden.

make
make install
reboot

Test

Nach einem reboot sollten nun alle deutschen Kanäle zur Verfügung stehen. Dies kann mit folgendem Befehl kontrolliert werden.

iwlist wlan0 chan

Info

Dieses Tutorial ist aus meiner Frage im Forum entstanden. http://debianforum.de/forum/viewtopic.php?f=30&t=136791