[[Vorlage(Archiviert )]] {{{#!vorlage Wissen [:Terminal: Ein Terminal öffnen] [:Editor: Einen Editor öffnen] [:Packprogramme: Archive entpacken] }}} [[Inhaltsverzeichnis(1)]] 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/ http://linux-lc100020.sourceforge.net/] {en} 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 {{{#!vorlage Befehl 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 [[Vorlage(Tasten, 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: {{{#!vorlage Befehl 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: {{{#!vorlage Befehl 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 {{{#!vorlage Befehl 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--fw.tar.gz''' (zum Beispiel Version 0.14) von [http://sourceforge.net/projects/linux-lc100020/files/(NEW)%20zd1201%20driver/zd1201.%20Version%200.14/zd1201-0.14-fw.tar.gz/download hier] {en} 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]: {{{#!vorlage Befehl 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: {{{#!vorlage Befehl 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 [:WLAN: Konfiguration] auf der [:WLAN: WLAN-Übersichtsseite] nachzulesen. Dabei hat es sich bewährt den Stick testweise über die [:WLAN/wireless-tools: wireless-tools] auf der Kommandozeile und später endgültig durch manuelle Einträge in [:interfaces: /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: {{{#!vorlage Befehl 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 [:WLAN/wireless-tools: wireless-tools] konfigurieren. == Offene Punkte == Folgende Punkten wurden hier nicht behandelt * [:WLAN/wpa_supplicant: WPA] ---- # tag: Netzwerk