Archiv/WLAN/Zydas ZD1201

Archivierte Anleitung

Dieser Artikel wurde archiviert. Das bedeutet, dass er nicht mehr auf Richtigkeit überprüft oder anderweitig gepflegt wird. Der Inhalt wurde für keine aktuell unterstützte Ubuntu-Version getestet. Wenn du Gründe für eine Wiederherstellung siehst, melde dich bitte in der Diskussion zum Artikel. Bis dahin bleibt die Seite für weitere Änderungen gesperrt.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

  1. Ein Terminal öffnen

  2. Einen Editor öffnen

  3. Archive entpacken

Inhaltsverzeichnis
  1. Grundlagen
  2. Firmware nachrüsten
  3. Als Access-Point benutzen

Dieser Artikel beschreibt die Installation und Konfiguration eines WLAN Netzwerk-Klienten auf der Basis eines USB-Sticks mit einem ZyDAS (heute Atheros) ZD1201 Chipsatz. Dies sind zum Beispiel Sweex LC100020, Edimax EW-7117U, oder Zyxel ZyAir B-220 Sticks. Auf http://linux-lc100020.sourceforge.net/ 🇬🇧 findet sich eine ausführliche Liste. Nicht beschrieben wird die Verwendung eines solchen Sticks als Access-Point. Ebenso wird der neuere Chipsatz ZD1211 hier nicht behandelt.

Bei der Beschreibung wird davon ausgegangen, dass der zugehörige Access-Point (Wireless Router o.ä.) bereits in Betrieb genommen wurde, und das WEP-"gesicherte" Übertragung verwendet wird.

Ubuntu beinhaltet bereits den Treiber für ZD1201 Geräte. Er ist Teil der 2.6er Kernel-Serie. Allerdings fehlt noch die Firmware für den Stick, den der Treiber beim Start in den Stick läd. Diese muss zuerst aus dem Netz heruntergeladen und installiert werden. Weiterhin fehlt die entsprechende IP Interface-Konfiguration, die sich mit "System -> Admininstration -> Netzwerk" nur teilweise erzeugt läst.

Grundlagen

WLAN-USB-Sticks unter Linux sind besonders lästig, da diverse Subsysteme zusammenspielen müssen, es aber häufig nicht tun. Daher wird im folgenden zuerst schrittweise geprüft, ob die grundsätzlichen Mechanismen funktionieren.

udev

Auf der untersten Ebene ist grundsätzlich udev für die Erkennung von Hotpluggable-Geräten wie einem zd1201-Stick zuständig. Mit dem 2.6er Kerneln hat das alte Hotplug-System ausgedient. Daher sollte man zuerst mittels

sudo udevmonitor 

kontrollieren [1], ob udev mit dem USB-WLAN-Stick etwas anfangen kann. Beim Einstecken bzw. Abziehen des Sticks sollten entsprechende Ereignisse angezeigt werden. Mit Strg + C verlässt man den udevmonitor wieder.

Treiber-Modul

Man sollte kontrollieren ob der zd1201-Treiber bei Bedarf geladen wird. Dazu kann man bei eingestecktem Stick folgende Befehle eingeben [1]:

Zum Testen, ob das USB-System die Hardware kennt:

sudo lsusb | grep -i zydas 

Ausgabebeispiel:

Bus 003 Device 002: ID 0ace:1201 ZyDAS 802.11b WiFi

Die aktuellen Zahlen variieren je nach verwendetem USB-Anschluss.

Zum Testen, ob der Treiber geladen wurde:

sudo lsmod | grep zd1201  # Treiber geladen? 

Ausgabebeispiel:

zd1201                 22660  0
usbcore               130692  4 zd1201,ehci_hcd,uhci_hcd

Erhält man Ausgaben die ähnlich zu den obigen Beispielen sind, kann man fortfahren. Ansonsten muss zuerst udev und das Laden von Modulen überprüft werden. So sollten z.B. in den folgenden Dateien jeweils die Einträge

zd1201

enthalten sein:

Die Versionsnummer erfährt man im Terminal [1] mit

uname -r 

Firmware nachrüsten

Wird der Treiber geladen, so ist er im Standardzustand noch nicht funktionsfähig, da er keine Firmware zum herunterladen in den Stick findet. Daher muss das Firmwarepaket zd1201-<version>-fw.tar.gz (zum Beispiel Version 0.14) von hier 🇬🇧 heruntergeladen werden. Anschließend ist die Datei auf dem Zielsystem nach /tmp zu entpacken [3].

Die Originalinstallationsroutine des Firmwarepaketes (zumindest bis einschließlich Firmware 0.14) funktioniert nicht, da sie von anderen Verzeichnissen ausgeht in denen die Firmware gespeichert werden soll. Daher muss die Firmware wie folgt von Hand installiert werden [1]:

cd /tmp/zd1201-0.14-fw                       # ins Verzeichnis mit den ausgepackten Dateien wechseln
sudo cp -p -f zd1201*.fw /lib/firmware       # Firmware nach /lib/firmware kopieren 

Danach den USB-Stick ab- und wieder anstecken. iwconfig sollte nun den Stick als wlan0 anzeigen:

iwconfig 
 lo        no wireless extensions.

 eth0      no wireless extensions.

 sit0      no wireless extensions.

 wlan0     IEEE 802.11b  ESSID:""  Nickname:"zd1201"
           Mode:Managed  Channel:1  Access Point: xx:xx:xx:xx:xx:xx
           Bit Rate:11 Mb/s
           Retry:off   RTS thr:off   Fragment thr:off
           Encryption key:off
           Power Management:off
           Link Quality:0/128  Signal level=59/128  Noise level:0/128
           Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
           Tx excessive retries:0  Invalid misc:0   Missed beacon:0

An dieser Stelle kann man sicher sein, dass der Stick korrekt erkannt wurde. Das weitere Vorgehen ist unter Konfiguration auf der WLAN-Übersichtsseite nachzulesen. Dabei hat es sich bewährt den Stick testweise über die wireless-tools auf der Kommandozeile und später endgültig durch manuelle Einträge in /etc/network/interfaces zu konfigurieren, da diverse GUI-Tools zur WLAN-Netzwerk-Konfiguration häufig schön bunt aussehen, dafür aber eher halbherzig mit WLANs umgehen können.

Als Access-Point benutzen

Um den Stick als Access-Point zu benutzen zu können, muss man eine andere Firmwaredatei laden, die ebenfalls bei der Nachrüstung (im vorherigen Abschnitt beschrieben) mit heruntergeladen wurde. Dazu macht man von der bisher vom System benutzen Datei eine Kopie, um den Stick später wieder als Client benutzen zu können und benennt dann die Access-Point-Firmwaredatei in die vom System zu ladene um:

mv /lib/firmware/VERSIONSNUMMER/zd1201.fw /lib/firmware/VERSIONSNUMMER/zd1201.fw.bak
cp /lib/firmware/VERSIONSNUMMER/zd1201-ap.fw /lib/firmware/VERSIONSNUMMER/zd1201.fw 

Den Stick abziehen und wieder einstecken und dann mit den wireless-tools konfigurieren.

Offene Punkte

Folgende Punkten wurden hier nicht behandelt