Liebe Mitstreiter,
nach diversen Ausflügen zu Mahlzeit und EasyVDR habe ich es mit der neuen Ct-VDR Distri endlich geschafft, meine Edimax Wlan PCI-Karte und WPA2 Preshared-Key Verschlüsselung und dem DHCP Protokoll zum Laufen zu bringen.
Damit andere mit derselben Hardware davon profitieren können, hier die Lösung die ich herausgefunden habe:
Hardware ist eine Edimax 7128g PCI-Karte, siehe hier http://www.edimax.com/en/produce_detail.php?pd_id=1&pl1_id=1&pl2_id=44
Der passende Treiber ist nicht der vom Hersteller, sondern die Weiterentwicklung als open Source von Serialmonkey (http://rt2x00.serialmonkey.com/)
Alle, die die Karte unter Debian zum Laufen bringen wollen, werden die Adresse sicherlich kennen.
Was wird alles benötigt:
- Aktuelle Treiber-Sourcen von Serialmonkey (1.1.0-b2)
- Die Firmware-Dateien für die Hardware (3 *.bin Dateien) entweder bei serialmonkey oder direkt von Edimax (im Support-Bereich downloadbar)
- Die Wireless-Tools
- Das Utility Module-Assistant
- Aktuelle Online-Quellen für Apt
- Die Kernel Headers der Version 2.6.18 (sofern nicht zuvor bereits auf einen neueren aktualisiert wurde, dann natürlich die jeweils passenden Headers der jeweiligen Version)
Was wird NICHT benötigt:
Wpasupplicant wird für WPA2 NICHT gebraucht, genau richtig gelesen!
Und noch was Wichtiges: Wie so üblich bei Linux könnt ihr die Anweisungen zur Konfiguration der Karte in der beiliegenden README (bis auf die Build-Anweisungen natürlich) vergessen! Die Anweisungen sind nicht mehr aktuelll. Es hat sich anscheinend noch keiner gefunden, der mit der neuen Version mal neue README schreibt - Schlamperei... Laut Serialmonkey Forum wird das Unterzeichnis /etc/Wireless nicht mehr genutzt und auch die komische Konfigurationsdatei rt61STA.dat ist überflüssig geworden. Seit Mitte 2007 sind die Konfigurationskommandos per iwconfig und iwpriv direkt in /etc/network/interfaces einzutragen! Die Firmware-Dateien gehören von nun an ins Verzeichnis /lib/firmware (bei Ct'VDR zumindest, bei anderen VDR Distris weichen die Verzeichnisse ab).
- Der Trick mit Lirc und Treiberkompilierung
1. Wer Lirc zur Fernsteuerung nutzt, sollte bevor es losgeht erst einmal Lirc wieder deinstallieren (vtvdrcfg aufrufen -> Steuerung -> Lirc abwählen)
Lirc ist ziemlich empfindlich, wenn es um neu kompilierte Module geht. Falls sich irgendwas an dem Modulbestand ändert, lässt sich Lirc zwar hinterher noch starten, reagieren tut's dann aber nicht mehr! Nur so als Warnung. Wer's vergessen hat, muss sich die Lirc-Sourcen downloaden und ebenfalls manuell kompilieren. Ist aber auch kein großes Problem.
2. Allererste Grundlage für den Einstieg sind aktuelle Online-Quellen für Apt, damit man auch immer die neueste Version für den eigenen Kernel und für die Treiber bekommt.
Meine Liste sieht so aus (/etc/apt/sources.list):
deb http://ftp2.de.debian.org/debian etch main contrib non-free
deb http://security.debian.org/ etch/updates main contrib non-free
deb http://www.debian-multimedia.org/ etch main
deb http://e-tobi.net/vdr-experimental etch base addons vdr-multipatch
deb http://e-tobi.net/vdrdevel-experimental etch vdr-multipatch
deb-src http://ftp2.de.debian.org/debian etch main contrib non-free
deb-src http://e-tobi.net/vdr-experimental etch base backports addons vdr-multipatch
deb-src http://www.debian-multimedia.org/ etch main
- Wie bekomme ich die Kernel-Headers und Programme zum Kompilieren von Modulen
1. Dazu erst einmal apt-update aufrufen, um den Software-Bestand auf den neuesten Stand zu bringen.
2. Jetzt den Modul Assistenten installieren mit apt-get install module-assistant.
2. Danach die wireless-tools (apt-get install wireless-tools)
3. Alles, was zum Kompilieren von Sourcen benötigt wird, lädt der Modul Assistent selbständig nach, eine super Sache für Einsteiger wie mich.
Also jetzt einfach
a) module-assistant eingeben und Enter drücken
b) PREPARE und anschließend SELECT auswählen
c) Jetzt in der Liste nach dem Eintrag rt61 oder rt61pci suchen. Das ist der Treiber für diese Wlan-Karte von Edimax. Wer die USB-Variante besitzt, sollte rt71 auswählen, der Rest ist quasi identisch. In meiner Liste taucht auch RT2500 auf, dies kann der aktuelle Treiber sein, muss aber nicht. Bei meinem ersten Versuch hat der module-assistent einen veralteten Treiber runtergeladen, der die Karte nicht angequatscht hat.
d) Mit Enter auswählen und dann auf OK.
e) Jetzt im Menü BUILD auswählen und warten, bis sich der Modul Assistent alles holt, was zum Kompilieren benötigt wird (C++, Kernel-Krempel usw usw.). Danach schnappt sich der Assistent die Treiber aus dem Internet Repository und kompiliert diese. Zum Schluss wird noch gefragt, ob die gebauten Module gleich installiert werden ssollen. Mit OK bestätigen und feddich!
3. Leider wird bei der Treiberinstallation die Datei /etc/modprobe.conf angelegt. Egal, die Datei mit mcedit öffnen und den Aliaseintrag (alias ra0 rt61) in die Datei /etc/modprobe.d/aliases an das Dateiende übernehmen)
4. Jetzt die Datei /etc/modprobe.conf löschen
5. Nach der Installation der Wireless-Tools befinden sich Skripte für das indirekte Aufrufen von iwconfig und iwpriv in folgenden Verzeichnissen:
a) etc/network/if-pre-up.d
b) etc/network/if-down.d
und evt. noch in
c) etc/network/if-up.d
Dort steht überall das Script wireless-tools drin
ALLE EINTRÄGE LÖSCHEN
Es hat einen Tag gedauert, bis ich diesen Kniff raushatte. Solange diese Scripte noch in den Unterverzeichnissen drin bleiben, bleibt alles, was in der Hauptdatei /etc/network/interfaces steht, nutzlos. Also weg damit und jetzt kommt der Hauptteil:
6. Mit vi oder mcedit oder oder oder die Datei /etc/network/interfaces öffnen und folgendes eintragen:
auto ra0
iface ra0 inet dhcp
pre-up sleep 60
pre-up iwconfig ra0 mode managed
pre-up iwconfig ra0 channel 0
pre-up iwpriv ra0 set AuthMode=WPAPSK
pre-up iwpriv ra0 set EncrypType=TKIP
pre-up iwpriv ra0 set WPAPSK="hier kommt der Schlüssel für den Access Point rein"
pre-up iwconfig ra0 essid "Name des WLan-Netzes"
pre-up sleep 60
Die Sleep-Pausen braucht der Treiber, damit alles zuverlässig initialisiert werden kann.
Nach einer kurzen Zeit sollte sich die Wlan Karte nun mit einer IP-Adresse aus dem WLAN-Netzwerk melden.
Zum Schluss noch ein Hinweis zu wpasupplicant und wireless tools.
Wie in der Treiberdokumentation kurz erwähnt, ist die WPA-Verschlüsselung bei der Karte bislang nur über die obigen iwpriv-Befehle möglich. Probiert man es mit wpasupplicant aus, bleibt der Treiber recht schnell hängen, bis irgendwann die Meldung "cannot set ra0 to managed mode" oder so ähnlich kommt.
Bei Fragen dürft ihr mir gerne zurückschreiben.
Ach ja, Edimax hat auch einen Wlan USB Stick, für den Serialmonkey den RT73 Treiber anbietet. Dieser Stick sollten sich genauso installieren lassen.
Bei meinem alten Board mit USB 1.1 leuchtete die Lampe am Stick jedoch garnicht erst auf, also eher was für neuere Mainboards mit USB 2.0 Support.
Viel Spaß mit Ct-VDR 6.2, eine super Distri, wenn man sie erst einmal bezwungen hat.
Andreas