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:
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:
/lib/modules/VERSIONSNUMMER/modules.alias
/lib/modules/VERSIONSNUMMER/modules.dep
/lib/modules/VERSIONSNUMMER/modules.usbmap
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