Doku Wireless Basisstation unter Linux
Transcription
Doku Wireless Basisstation unter Linux
Wireless LAN Basisstation unter Linux Projektarbeit PA2 Sna 01/1 Studiengang Informationstechnologie Zürcher Hochschule Winterthur Fachgebiet: Kommunikation Dozenten: Dr. Andreas Steffen Prof. Thomas Müller Verfasser: Marco Studer Walter von Arx Klasse: IT3b Zeit: SS 2001 Abgabedatum: 6. Juli 2001 Inhaltsverzeichnis PA2 – Wireless LAN AP unter Linux 1 Inhaltsverzeichnis 2 3 4 5 Abbildungsverzeichnis .............................................................................................4 Zusammenfassung ..................................................................................................5 Aufgabenstellung .....................................................................................................6 Einführung................................................................................................................8 5.1 Systemmodell....................................................................................................9 5.2 Projektverlauf ..................................................................................................11 6 Problemanalyse .....................................................................................................13 6.1 Realisierungsvarianten....................................................................................13 6.2 Verwendung der verschiedenen Wireless Karten ...........................................13 6.3 Hardware Übersicht.........................................................................................14 7 Lösungskonzept.....................................................................................................15 7.1 Wireless LAN Netzstruktur ..............................................................................15 7.2 Umfang der Realisierungen und Erkenntnisse ................................................16 8 Installation..............................................................................................................21 8.1 Lucent Orinoco Gold 11Mbit/s.........................................................................21 8.1.1 BIOS-Einstellungen..................................................................................21 8.1.2 Windows 2000 Professional.....................................................................21 8.1.3 SuSE Linux 7.1 Professional....................................................................22 8.2 Siemens I-Gate 11M – Version Intersil............................................................23 8.2.1 BIOS-Einstellungen..................................................................................23 8.2.2 Windows 2000 Professional.....................................................................23 8.2.3 SuSE Linux 7.1 Professional....................................................................24 8.3 D-Link Air DWL-650 ........................................................................................28 8.3.1 BIOS-Einstellungen..................................................................................28 8.3.2 Windows 2000 Professional.....................................................................28 8.3.3 SuSE Linux 7.1 Professional....................................................................28 8.4 Siemens I-Gate 11M – Version Lucent............................................................29 8.5 Ausbau zu einer Base Station (Siemens Intersil Karte)...................................29 8.6 Installation PCMCIA ........................................................................................31 9 Tests ......................................................................................................................33 9.1 Testkonzept.....................................................................................................33 9.2 Softwaretools ..................................................................................................36 9.2.1 Orinoco Client Manager ...........................................................................36 9.2.2 Siemens MobilePort Manager ..................................................................42 10 Beschreibung IAPP................................................................................................44 10.1 Allgemeines.....................................................................................................44 10.2 Formierung/Unterhalt eines ESS.....................................................................45 10.3 IAPP Modi .......................................................................................................46 10.3.1 MAC-Bridge Modus..................................................................................46 10.3.2 Dynamic Route Resolution Mode.............................................................47 10.4 IAPP Service Primitiven ..................................................................................49 10.4.1 IAPP-INITIATE.request ............................................................................49 10.4.2 IAPP-INITIATE.confirm ............................................................................50 10.4.3 IAPP-TERMINATE.request ......................................................................50 10.4.4 IAPP-TERMINATE.confirm ......................................................................51 10.4.5 IAPP-ADD.request ...................................................................................51 10.4.6 IAPP-ADD.confirm ...................................................................................52 10.4.7 IAPP-ADD.indication ................................................................................52 10.4.8 IAPP-REMOVE.request ...........................................................................52 Marco Studer Seite 2 / 83 Walter von Arx Inhaltsverzeichnis PA2 – Wireless LAN AP unter Linux 10.4.9 IAPP-REMOVE.confirm ...........................................................................53 10.4.10 IAPP-REMOVE.indication.....................................................................53 10.4.11 IAPP-MOVE.request.............................................................................53 10.4.12 IAPP-MOVE.confirm.............................................................................54 10.4.13 IAPP-MOVE.indication .........................................................................54 10.4.14 IAPP-MOVE.response..........................................................................55 10.4.15 IAPP-Config-READ.request..................................................................55 10.4.16 IAPP-Config-READ.confirm ..................................................................55 10.5 IAPP Messages...............................................................................................56 10.5.1 Allgemeines IAPP Paket-Format..............................................................56 10.5.2 ADD-Notify Paket .....................................................................................57 10.5.3 MOVE-Notify Paket ..................................................................................57 10.5.4 MOVE-Response Paket ...........................................................................58 11 Ausblick über weiteres Vorgehen...........................................................................59 12 Schlusswort............................................................................................................60 13 Anhang ..................................................................................................................61 13.1 Glossar............................................................................................................61 13.2 Zeitplan ...........................................................................................................62 13.3 Arbeitsteilung ..................................................................................................63 13.4 Verwendetes Material......................................................................................64 13.5 Quellenangabe ................................................................................................65 13.5.1 Websites ..................................................................................................65 13.5.2 Foren und Mailinglisten ............................................................................65 13.5.3 Bücher, Normen, Dokumentationen .........................................................66 13.6 Verzeichnisstruktur der beiliegenden CD ........................................................67 13.7 Konfigurationsfiles ...........................................................................................68 13.7.1 Auszüge aus der Datei config ..................................................................68 13.7.2 Datei wlan-ng ...........................................................................................73 13.7.3 Datei wlan-ng.conf ...................................................................................79 13.7.4 Datei wlan-ng.opts ...................................................................................81 Marco Studer Walter von Arx Seite 3 / 83 Abbildungsverzeichnis PA2 – Wireless LAN AP unter Linux 2 Abbildungsverzeichnis Abbildung 5.1 – Aufbau eines Basic Service Set (BSS) ..................................................9 Abbildung 5.2 – Aufbau eines Extended Service Set (ESS)..........................................10 Abbildung 5.3 – IAPP innerhalb der Netzstruktur ..........................................................10 Abbildung 5.4 – Handover-Situation im ESS .................................................................11 Abbildung 5.5 – Projektverlauf bezüglich HW/SW-Konfigurationen...............................12 Abbildung 7.1 – Netzstruktur .........................................................................................15 Abbildung 7.2 – Realisierte Lösung ...............................................................................16 Abbildung 7.3 – Siemens I-GATE 11M Access Point ....................................................18 Abbildung 9.1 – Testaufbau...........................................................................................33 Abbildung 9.2 – Orinoco Client Manager.......................................................................35 Abbildung 9.3 – Statusleiste Windows 2000..................................................................36 Abbildung 9.4 – Orinoco Client Manger.........................................................................36 Abbildung 9.5 – Configuration Profil ..............................................................................37 Abbildung 9.6 – Network Name einstellen .....................................................................38 Abbildung 9.7 – Linktest Monitor ...................................................................................39 Abbildung 9.8 – Register in Site Monitor Tool................................................................39 Abbildung 9.9 – Register: Selection...............................................................................40 Abbildung 9.10 – Register Site Monitor .........................................................................41 Abbildung 9.11 – Siemens Start-Menu Einträge............................................................42 Abbildung 9.12 – MobilePort Manager, Configuration ...................................................42 Abbildung 9.13 – Siemens LinkTest Version 1.0 ...........................................................43 Abbildung 10.1 – Einsatzgebiet des IAPP .....................................................................44 Abbildung 10.2 – Netzstruktur für MAC Bridge Mode ....................................................47 Abbildung 10.3 – Netzstruktur für Dynamic Route Resolution Mode .............................47 Abbildung 10.4 – Route Resolution ...............................................................................48 Abbildung 10.5 – Route Update.....................................................................................49 Abbildung 10.6 – Format einer IAPP-Meldung ..............................................................56 Abbildung 10.7 – Format einer ADD-Notify Meldung.....................................................57 Abbildung 10.8 – Format einer MOVE-Notify Meldung..................................................57 Abbildung 10.9 – Format einer MOVE-Response Meldung...........................................58 Abbildung 10.10 – Informationsstruktur .........................................................................58 Abbildung 13.1 – Zeitplan der PA ..................................................................................62 Abbildung 13.2 – Verzeichnisstruktur der CD ................................................................67 Marco Studer Walter von Arx Seite 4 / 83 Zusammenfassung PA2 – Wireless LAN AP unter Linux 3 Zusammenfassung Grundlage für unsere Projektarbeit waren zwei vorangegangene Arbeiten. Diese beschäftigten sich beide mit Wireless LAN unter Linux. Die erste behandelte das Thema "Implementation eines IEEE 802.11b Sniffers", der Titel der zweiten lautet "Wireless LAN basierend auf CellularIP". Ziel unserer Arbeit war es ein Funknetz aufzubauen, welches über zwei Access Points und zwei Mobile Stations verfügt. Die Access Points sollten über eine Ethernetverbindung miteinander kommunizieren. Für diese Kommunikation sollte das Inter-Access Point Protokoll (IAPP) verwendet werden. Dazu war abzuklären, ob dieses Protokoll überhaupt schon vorhanden ist. Sollte dies nicht der Fall sein, so muss eine Version dieses Protokolls implementiert werden. Dadurch sollte schlussendlich das Roaming zwischen den beiden AP möglich sein. Das am Ende der PA aufgebaute Netz bestand aus zwei funktionierenden Base Stations. Diese wurden beide mit Siemens Intersil WLAN Karten realisiert. Weiter sind zwei Mobile Stations vorhanden, welche beide mit einer Orinoco Lucent Karte unter Windows 2000 ausgerüstet sind. Die Ethernetverbindung zwischen den beiden Base Stations konnte aufgrund von Hardware-Konflikten nicht realisiert werden. Eines unserer Hauptprobleme war, dass wir die Ethernetkarten nicht zum Funktionieren brachten, wenn gleichzeitig eine Siemens Intersil Karte im gleichen Gerät aktiv war. Weiter hatten wir Probleme bei der Beschaffung der benötigten Hardware. Da wir keine Ethernetverbindung zwischen den beiden Access Points erstellen konnten, fiel die Implementation des IAPP ins Wasser. Stattdessen konzentrierten wir uns auf die Dokumentation dieses sich in der Entwicklungsphase befindenden Protokolls. Die vorliegende Projektarbeit hat gezeigt, dass die Materie Wireless LAN noch stark in der Entwicklung steckt. Die Installation dieser Karten ist unter Linux noch sehr umständlich. Da wir in der zweitletzten Woche unsere Probleme mit den Ethernetkarten lösen konnten, ist eine weiterführende Arbeit zu diesem Thema vorstellbar. Ziel dieser sollte dann sein, dass Inter-Access Point Protocol zu installieren oder zu implementieren, je nachdem wie weit dessen Entwicklung bis dann schon vorangeschritten ist. Marco Studer Walter von Arx Seite 5 / 83 Aufgabenstellung PA2 – Wireless LAN AP unter Linux 4 Aufgabenstellung Zürcher Hochschule Winterthur, Studiengang Informationstechnologie Kommunikationssysteme (KSy) Projektarbeiten SS 2001 - PA2 Sna01 Wireless LAN Basisstation unter Linux Studierende: § Marco Studer, IT3b § Walter von Arx, IT3b Partnerfirma: § Siemens Schweiz AG, Albisriederstr. 245, 8047 Zürich http://www.siemens.ch/i-gate Termine: § Ausgabe: Montag, 21.05.2001 15:30 - 16:30 im E523 § Abgabe: Freitag, 6.07.2001 Beschreibung: Wireless LANs werden immer mehr zum Allgemeingut. So gibt es unter Linux schon für einige IEEE 802.11 WLAN-Karten entsprechende Treiber. Dabei wird normalerweise davon ausgegangen, dass ein Linux-Host als mobiler Client betrieben wird. Zwei Projektarbeiten haben gezeigt, dass die Linux-Treiber recht problemlos arbeiten. Weniger häufig ist der Anwendungsfall, dass unter Linux eine WLAN-Basisstation mit allen zusätzlichen Infrastrukturfunktionen betrieben wird. Die Projektarbeit soll verschiedene OpenSource WLAN-Stacks in Betrieb nehmen und darauf hin untersuchen, wie weit sie für den Einsatz in einer Basisstation geeignet sind. Wichtige Kriterien sind die Leistungsmerkmale, die unterstützt werden, sowie die Erweiterbarkeit (Offenheit, Dokumentation etc.) der Implementation. Allenfalls sollen auch kleinere Anpassungen an den Treibern vorgenommen werden. Aufgaben: § Evaluation eines OpenSource Linux Treibers für die ORiNOCO IEEE 820.11 WLAN Karte, der als Basis für eine WLAN Basisstation (Access Point) im Infrastructure Modus dienen kann. § Der Access Point Treiber soll das Inter Access Point Protocol (IAPP) entweder in der bestehenden proprietären Variante von Aironet Corp, Digital Ocean und Lucent Technologies oder auf der Basis des entstehenden IEEE 802.11f Standards unterstützen. Damit kann ein Roaming über mehrere WLAN Zellen, deren Access Points über LAN Bridges miteinander verbunden sind, ermöglicht werden. Marco Studer Walter von Arx Seite 6 / 83 Aufgabenstellung § PA2 – Wireless LAN AP unter Linux Gewisse interne Parameter der WLAN Access Point Karte, wie z. Bsp. die Empfangspegel der an einem Access Point angemeldeten Mobilstationen, sollen zugänglich gemacht und auf eine geeignete Art und Weise dargestellt werden. Infrastruktur / Tools: § Raum: E523 § Rechner: 2 PCs, 1 Notebook § Hardware: 3 ORiNOCO IEEE 802.11 WLAN PCMCIA Karten, 2 PCMCIA Controller (PCI Version) § SW-Tools: Linux Literatur / Links: § IEEE 802.11 Tutorial http://ww.wi-fi.net/downloads/IEEE_80211_Primer.pdf § IEEE Standard 802.11-1999 Part 11 Wireless LAN MAC and PHY Specifications § IEEE Standard 802.11b-1999 Part 11 Wireless LAN MAC and PHY Specifications: Higher Speed Physical Layer (PHY) Extensions in the 2.4 GHZ Band § IEEE Standard 802.11f pre-Draft - March 2001 Recommended Practice for Multi-Vendor Access Point Interoperability via an Inter-Access Point Protocol (IAPP) Across Distribution Systems Supporting IEEE 802.11 Operation § IEFT RFC 2608 Service Location Protocol, Version 2 § Linux WaveLAN IEEE 802.11 Treiber http://www.fasta.fh-dortmund.de/users/andy/wvlan/ § Neuer Treiber für ORiNOCO WLAN Karte http://ozlabs.org/people/dgibson/dldwd/ § Agere's ORiNOCO Home Page http://www.orinocowireless.com § Wireless LAN resources for Linux http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/ § Linux WLAN Project http://www.linux-wlan.com/linux-wlan/ § Linux PCMCIA Card Services Project http://sourceforge.net/projects/pcmcia-cs Winterthur, 21. März 2001 Dr. Andreas Steffen 21.05.2001 by Andreas Steffen Marco Studer Walter von Arx PA2 2001 Seite 7 / 83 Einführung PA2 – Wireless LAN AP unter Linux 5 Einführung Heutzutage wird mehr und mehr Mobilität gefordert. Dies gilt nicht nur für den Telekommunikationsbereich, sondern auch im Bereich der Datennetze. Wireless LANs bieten dabei eine flexible und ausbaufähige Variante zu den altbewährten kabelgebundenen Netzwerken. Grössere drahtlose Netzwerke funktionieren ähnlich wie GSM auf dem Prinzip von verschiedenen Zellen. Eine solche Zelle wird durch eine Basisstation (Access Point) gebildet. Durch die Vernetzung mehrerer solcher Access Points ergibt sich ein flächendeckendes Netz, welches den mobilen Clients (Mobile Stations) die Möglichkeit des Roamings eröffnet. Die Vernetzung der einzelnen Access Points hat zur Folge, dass ein Protokoll für deren Kommunikation benötigt wird. Ziel unserer Projektarbeit war daher zuerst die Inbetriebnahme von Access Points (AP) unter Linux. Weiter sollten wir das Inter-Access Point Protocol (IAPP), welches in der Form eines Pre-Drafts vorliegt, untersuchen und eine eventuelle Implementierung dessen vorbereiten. Aufbauen konnten wir auf zwei vorangegangenen Projektarbeiten. Dabei handelt es sich einerseits um die PA zum Thema „Wireless LAN basiend auf Cellular IP“ von Marc Steiner und Thomas Wendel und andererseits um die Arbeit „802.11 Paket Sniffer“ von Simon Baer und Michael Pellaton. Der vorliegende Bericht gibt Aufschluss über den Verlauf der Projektarbeit und deren Stand bei Abgabe. Dabei wird zuerst auf die Problemanalyse, das Lösungskonzept und den erreichten Realisierungsstand eingegangen. Danach folgt eine detaillierte Installationsanleitung für die einzelnen Wireless LAN-Karten und ein Kapitel über die durchgeführten Tests. Weiter folgt eine Einführung in das IAPP. Abgerundet wird der Bericht durch ein Schlusswort und einen Anhang, welcher die Themen Glossar, Zeitplanung, Arbeitsteilung, Materialliste, Quellenangabe und Konfigurationsfiles behandelt. Marco Studer Walter von Arx Seite 8 / 83 Einführung 5.1 PA2 – Wireless LAN AP unter Linux Systemmodell Grundsätzlich hat man die Möglichkeit Wireless LANs mit oder ohne Basisstationen (=Access Points) zu betreiben. Im Sinne der Aufgabenstellung verwenden wir bei unserer Projektarbeit Access Points, welche als Teil der Aufgabe erstellt werden müssen. Wie bereits erwähnt, bildet ein Access Point eine Wireless LAN-Zelle. Dabei spricht man von einem Basic Service Set (BSS). Eine Konfiguration mit einem oder mehreren Access Points bedeutet normalerweise, dass das Wireless LAN im sogenannten Infrastruktur-Modus betrieben wird. Eine einzelne Zelle bietet im wesentlichen ein örtlich eng begrenztes Netzwerk, d.h. es erlaubt die Kommunikation zwischen den einzelnen Mobile Stations, welche beim AP angemeldet sind. Abbildung 5.1 zeigt eine Wireless LAN-Konfiguration mit einem Access Point und zwei angemeldeten Mobile Stations. Access Point1 Mobile Station Mobile Station BSS1 Abbildung 5.1 – Aufbau eines Basic Service Set (BSS) Die Verbindung mehrerer Basisstationen erlaubt die Erstreckung eines WLANs über ein grösseres Gebiet. Aus den einzelnen Basic Service Sets wird ein Extended Service Set (ESS) gebildet. Als Folge des ESS ist es möglich, von einem BSS zum nächsten zu wechseln, ohne dabei die Netzverbindung zu verlieren. Dabei wird für die betroffene Mobile Station ohne merkliche Verzögerung einen Übergang von einem Access Point zum nächsten bewerkstelligt. Hierbei spricht man von einem Handover. Die Funktion des Zellenwechsels ist allgemein als Roaming bekannt. Marco Studer Walter von Arx Seite 9 / 83 Einführung PA2 – Wireless LAN AP unter Linux Zur Verbindung der einzelnen Access Points wird ein sogenanntes Distribution System (DS) benötigt. Dabei handelt es sich um ein weiteres, vom WLAN unabhängiges Netzwerk. Abbildung 5.2 zeigt das einfachste denkbare Beispiel einer Netzstruktur mit mehreren Access Points. Die abgebildete Struktur entspricht haargenau der Struktur, die im Rahmen unserer Projektarbeit angestrebt wird. Als Medium für das Distribution System haben wir FastEthernet verwendet. Die Verbindung der beiden Access Points erfolgt dabei über einen Hub. Distribution System Ethernet IAPP Access Point 1 Access Point 2 Mobile Station Mobile Station Mobile Station BSS 1 BSS 2 ESS Abbildung 5.2 – Aufbau eines Extended Service Set (ESS) Auf der Softwareseite muss die Kommunikation und Koordination der einzelnen Base Stations und Mobile Stations gewährleistet werden. Wie in der Aufgabenstellung gefordert, soll dies im Rahmen dieser Projektarbeit durch das Inter-Access Point Protocol (IAPP) bewerkstelligt werden. Hauptquelle für Informationen ist dabei der im März 2001 erschienene Pre-Draft, Quelle [19]. IAPP IAPP Distribution System Ethernet IAPP Daten über ESS Registrierungsdienst Access Point Access Point Abbildung 5.3 – IAPP innerhalb der Netzstruktur Marco Studer Walter von Arx Seite 10 / 83 Einführung PA2 – Wireless LAN AP unter Linux Der Registrierungsdienst sammelt dabei Informationen über die Netzstruktur. Konkret ist dieser Dienst dazu da, sich die Adressen aller Access Points sowohl im Wireless LAN als auch im Distribution System zu merken und diesbezügliche Anfragen zu beantworten. Die wohl bedeutendste Eigenschaft eines Extended Service Set ist das Roaming. Abbildung 5.4 zeigt eine normale Handover-Situation. Dabei verlässt eine Mobile Station den Zuständigkeitsbereich des Access Points, bei dem er angemeldet ist, sprich seine Zelle. Beim Eintritt in die nächste Zelle des ESS folgt die Anmeldung bei einem neuen AP. Der Wechsel vom alten zum neuen Access Point wird als Handover bezeichnet. Der Vorgang allgemein, der einen für die Mobile Station transparenten Zellenwechsel erlaubt, wird Roaming genannt. Distribution System Ethernet IAPP Access Point 1 "alter AP" Access Point 2 "neuer AP" Handover Mobile Station Mobile Station BSS 1 BSS 2 ESS Abbildung 5.4 – Handover-Situation im ESS 5.2 Projektverlauf Im Verlauf der Projektarbeit war es mehrmals notwendig, die Planung des Projektes anzupassen. Der Wechsel zwischen den verschiedenen Karten, deren Treibern und auch PCMCIA-Paketen ist aus der nachfolgenden Grafik ersichtlich. Dabei wird zwischen Mobile Station und Access Point unterschieden, da dafür teilweise unterschiedliche Karten, Treiber und Betriebssysteme verwendet worden sind. Marco Studer Walter von Arx Seite 11 / 83 Einführung PA2 – Wireless LAN AP unter Linux Mobile Station Access Point Mobile Station Access Point Linux 7.1 Kernel 2.2.18 PCMCIA 3.1.22 Linux 7.1 Kernel 2.2.18 PCMCIA 3.1.22 Linux 7.1 Kernel 2.2.18 PCMCIA 3.1.22 Linux 7.1 Kernel 2.2.18 PCMCIA 3.1.22 Siemens Lucent Karten Siemens Lucent Karten Treiber unbekannt Treiber unbekannt Firmware unbekannt Funktion nicht i.O. Funktion nicht i.O. HW und SW nicht vorhanden Siemens Lucent Karten Siemens Lucent Karten Treiber unbekannt Treiber unbekannt Firmware unbekannt Funktion nicht i.O. kein Treiber/Firmware Funktion nicht i.O. kein Treiber/Firmware Keine Lieferung der benötigten Firmware/Dokumentation Mobile Station Access Point Mobile Station Access Point Linux 7.1 Kernel 2.2.18 PCMCIA 3.1.22 Linux 7.1 Kernel 2.2.18 PCMCIA 3.1.22 Windows 2000 Professional Linux 7.1 Kernel 2.2.18 PCMCIA 3.1.22 Lucent Orinoco Karten Treiber: wvlan_cs D-Link DWL650 Karten wlan-ng-0.1.8-pre13 kein Firmware-Upload Lucent Orinoco Karten Treiber Ver 6.28 Siemens Intersil Karten wlan-ng-0.1.8-pre13 Tertiary Firmware Funktion i.O. Nur Adhoc-Modus-Test Funktion nicht i.O. kein AP-Test Funktion i.O. Funktion i.O. Zu wenige D-Link/Orinoco-Karten Eintreffen von Siemens Intersil-Karten Inbetriebnahme Ethernetverbindung zwischen den Access Points Mobile Station Access Point Mobile Station Access Point Linux 7.1 Kernel 2.2.18 PCMCIA 3.1.22 Linux 7.1 Kernel 2.2.18 PCMCIA 3.1.22 Windows 2000 Professional Linux 7.1 Kernel 2.2.18 PCMCIA 3.1.24/26 Lucent Orinoco Karten Treiber Ver 6.28 Siemens Intersil Karten wlan-ng-0.1.8-pre13 Tertiary Firmware Funktion i.O. Funktion nicht i.O. Siemens Intersil Karten Siemens Intersil Karten wlan-ng-0.1.8-pre13 wlan-ng-0.1.8-pre13 (Treiber) Tertiary Firmware Funktion nicht i.O. Funktion nicht i.O. Station nicht i.O.(Linux + Windows) Eintreffen von Siemens Lucent-Karten Probleme bei gleichzeitigem Betrieb von Ethernet- und WLAN-Karten Abbildung 5.5 – Projektverlauf bezüglich HW/SW-Konfigurationen Die Grafik zeigt nur die wichtigsten, d.h. zeitaufwendigsten Konfigurationen. Daneben sind noch einige weitere Konfigurationen erstellt worden, jedoch alle ohne sichtliche Vorteile gegenüber den anderen. Genauere Details zum zeitlichen Ablauf der Projektarbeit und zur vorgenommenen Arbeitsteilung sind im Anhang dieser Dokumentation zu finden. Marco Studer Walter von Arx Seite 12 / 83 Problemanalyse PA2 – Wireless LAN AP unter Linux 6 Problemanalyse Aufgabe dieser Projektarbeit ist es, einige OpenSource Linux-Treiber für die Siemens Lucent WLAN Karte zu untersuchen. Dafür soll ein Netz aufgebaut werden, welches über zwei Access Points verfügt. Des weiteren müssen zwei Mobile Stations in Betrieb genommen werden, welche in diesem Netz arbeiten können. Alle vier Stationen sind unter Linux zu betreiben. Die Access Points sollen gemeinsam die Mobilen User verwalten, d.h. wenn eine Mobile Station in den Bereich einer anderen Base Station gelangen sollte, wird der Client der neuen Base Station übergeben werden. Für das Roaming zwischen zwei Access Points wurde speziell das Inter-Access Point Protocol spezifiziert. Wenn die zu installierenden Treiber dieses Protokoll nicht unterstützen sollten, soll dieses noch implementiert werden. Weiter sollen die Empfangspegel einer Mobile Station, die an einem Access Point angeschlossen ist, sichtbar gemacht werden. Im Idealfall stellt uns der verwendete Treiber diese Informationen zur Verfügung. 6.1 Realisierungsvarianten Die gestellte Aufgabe verlangt das Roaming zwischen verschiedenen Access Points. Um dies zu ermöglichen, soll das IAPP verwendet werden. Aus dieser Aufgabe heraus zwingt sich uns eine Netzstruktur mit mindestens zwei Base Stations und einem oder mehreren Mobile Stations auf. Damit wir das IAPP benutzen können, benötigen wir eine Verbindung zwischen den beteiligten Access Points. Diese wird mittels einer Ethernetverbindung realisiert. Durch diese Verbindung, können die Mobile Stations via Base Station auch auf ein anderes Netz geroutet werden. Dies gehört aber nicht zu unserer Aufgabenstellung. Da unsere Aufgabenstellung keinen grossen Spielraum gewährleistet, haben wir auch nicht die Wahl zwischen mehreren untereinander total verschiedenen Ansätzen. Wir haben uns deshalb für den obenstehenden entschieden. 6.2 Verwendung der verschiedenen Wireless Karten Zu Beginn haben wir über eine Orinoco und eine D-Link WLAN Karte verfügt. Mit unserem Arbeitsplatz sind wir im Funkbereich einer aktiven Base Station einer vorhergehenden Projektarbeit. In deren Dokumentation ist beschrieben worden, wie ein Client mit der Orinoco Karte installiert wird. Aus diesem Grund haben wir uns entschieden, zuerst eine Mobile Station mit der Orinoco Karte aufzusetzen. Damit können wir testen, ob unser Client funktioniert. Wenn dieser eine Verbindung mit der bestehenden Base Station aufbauen kann, ist dies der Fall. Hierfür verwenden wir den Linux WLAN Treiber wvlan_cs, welcher standardmässig im Linux installiert ist. Marco Studer Walter von Arx Seite 13 / 83 Problemanalyse PA2 – Wireless LAN AP unter Linux Gelingt uns dies, werden wir dazu übergehen mit den Siemens Karten eine eigene Base Station aufzubauen. Hierfür verwenden wir die uns von der Firma Siemens Schweiz AG zur Verfügung gestellte Firmware. Wir wissen dann, dass wir schon über einen funktionierenden Client verfügen, mit welchem wir unsere Base Station testen können. Die Treiber für die Siemens Karten haben wir von [3] runtergeladen. Hier werden wir die neueste Version wlan-ng-0.1.8-pre13 des Treibers verwenden. Funktioniert unsere Base Station, können wir dazu übergehen einen Client mit der Siemens Karte zu installieren. Danach sollte unser Funknetz funktionieren und wir können die zweite Base Station und die zweite Mobile Station in Betrieb nehmen. Damit wir das Inter-Access Point Protocol in Betrieb nehmen können, müssen wir eine Verbindung zwischen den beiden beteiligten Base Stations erstellen. Das einfachste ist hier eine Ethernet Verbindung zwischen diesen beiden aufzubauen. Steht diese auch, ist unser Extended Service Set betriebsbereit. Jetzt können wir untersuchen, was der installierte Treiber alles unterstützt. So ist zu testen, ob er eine Version des IAPP bereitstellt und ob die Empfangssignale des Clients ausgelesen werden können. 6.3 Hardware Übersicht Chipset Access Point i.O. Treiber AP OS AP Mobile Station i.O. Treiber MS OS MS Marco Studer Walter von Arx Orinoco Lucent Hermes kein Test ü wvlan-cs SuSE Linux 7.1 Siemens Intersil Prism II ü wlan-ng-0.1.8-pre13 SuSE Linux 7.1 X wlan-ng-0.1.8-pre13 SuSE Linux 7.1 D-Link DWL 650 Prism II ü wlan-ng-0.1.8-pre13 SuSE Linux 7.1 ü wlan-ng-0.1.8-pre13 SuSE Linux 7.1 Seite 14 / 83 Lösungskonzept PA2 – Wireless LAN AP unter Linux 7 Lösungskonzept Dieser Abschnitt ist in zwei Teile aufgeteilt. Der erste beschreibt die theoretisch korrekte Lösung für unsere ursprüngliche Aufgabenstellung. Im zweiten beschreiben wir unsere effektiv realisierte Lösung und die fehlgeschlagenen Varianten. 7.1 Wireless LAN Netzstruktur Im folgenden beschreiben wir die vorgesehene Netzstruktur. Wir planen, zwei Base Stations und zwei Mobile Stations in Betrieb zu nehmen. Jede dieser vier Stationen soll über eine Siemens I-GATE 11M WLAN Karte von Lucent verfügen. Beide Base Stations verfügen zusätzlich noch über eine Xircom Ethernetkarte, mit welcher sie untereinander verbunden sind. Über diese Verbindung sollten diese beiden über das IAPP miteinander kommunizieren. Dieses Protokoll ist für das Roaming der einzelnen mobilen User zuständig. Das Inter-Access Point Protocol wird in Kapitel 10 genauer beschrieben. Distribution System Ethernet Access Point Access Point BS1 BS2 Mobile Station MSTATION1 Mobile Station MSTATION2 BSS BSS ESS linux-wlan Abbildung 7.1 – Netzstruktur Marco Studer Walter von Arx Seite 15 / 83 Lösungskonzept PA2 – Wireless LAN AP unter Linux Für unser Netzwerk sehen wir ein C-Netz vor. Dieses unterteilen wir mittels richtiger Angabe der Netzmaske in zwei Hälften, so dass Wireless LAN und Distribution System (Ethernet) sauber voneinander getrennt sind. Die Tabelle zeigt die Vergabe der einzelnen IP-Adressen an die im Netz angemeldeten Netzwerkdevices. Computername BS1 BS1 BS2 BS2 MSTATION1 MSTATION2 Device eth0 wlan0 eth0 wlan0 wlan0 wlan0 IP-Adresse/Netzmaske 160.85.24.10/25 160.85.24.130/25 160.85.24.20/25 160.85.24.131/25 160.85.24.192/25 160.85.24.193/25 Ein WLAN mit mehreren Zellen wird ESS (Extended Service Set) genannt. In einem ESS muss die ESSID festgelegt werden, um verschiedene Netze von einander unterscheiden zu können. In unserem Netz setzen wir den ESSID-Parameter auf "linuxwlan". Da bei den Siemens I-GATE Karten der Funkkanal standardmässig auf 11 eingestellt ist, verwenden wir diesen. 7.2 Umfang der Realisierungen und Erkenntnisse In diesem Abschnitt erklären wir, wie unser Netzwerk am Ende der Projektarbeit effektiv aussieht. Hier wird auch der steinige Weg zu diesem Ziel beschrieben. In der Abbildung 7.2 ist die realisierte Lösung ersichtlich. Die Ethernet Verbindung zwischen den beiden Base Stations ist nicht zustande gekommen. Keine Verbindung Distribution System Ethernet Access Point Access Point BS1 BS2 Mobile Station MSTATION1 Mobile Station MSTATION2 BSS BSS ESS linux-wlan Abbildung 7.2 – Realisierte Lösung Marco Studer Walter von Arx Seite 16 / 83 Lösungskonzept PA2 – Wireless LAN AP unter Linux Am Ende der Projektarbeit funktionieren zwei Base Stations und zwei Mobile Stations. Die beiden Base Stations betreiben wir unter SuSE Linux 7.1, Kernel 2.2.18, mit einer Siemens Intersil 11M I-GATE WLAN Karte. Die Siemens Intersil Karte kann auch durch eine D-Link DWL-650 Air Karte ersetzt werden. Mit beiden Karten können wir eine funktionierende Base Station aufbauen. Weiter haben wir zwei Mobile Stations eingerichtet, welche unter Windows 2000 arbeiten. Diese beiden Stationen verfügen jeweils über eine Lucent Orinoco Wireless Card. Ist eine Base Station in Betrieb, so sind die beiden Mobile Stations untereinander verbunden. Im so eingerichteten System kann jede Station die andere mittels des Ping Befehls erreichen. Unter Linux stehen zwei Tools zur Verfügung. Mit diesen Tools können Konfigurationen der Siemens Intersil WLAN Karte angezeigt und geändert werden. Diese beiden Programme heissen wlancfg und wlanctl-ng. Sie können bei der Fehlersuche hilfreich sein. Im weiteren beschreiben wir die verschiedenen Kombinationen welche wir ohne Erfolg getestet haben. Zu Beginn unserer PA sollten wir eigentlich die neuesten Siemens I-GATE 11M Karten von Lucent erhalten und mit diesen unser Wireless Netzwerk aufbauen. Leider hatte die Siemens Probleme mit der Lieferung der Firmware für den Betrieb eines Access Points. Wir sollten zwischenzeitlich, d.h. bis die Karten und die Software bei uns eintreffen, mit den Intersil Karten arbeiten. Mit diesen hatten wir grosse Probleme. Installieren konnten wir sie, aber es gelang uns nicht eine andere Station, ebenfalls mit einer solchen Karte ausgerüstet, anzupingen oder sonst irgendwie im Netz zu erreichen. Beide Base Stations verfügen über eine Xircom CreditCard 10/100-Ready Ethernetkarte, über die sie miteinander kommunizieren sollten. Diese Karte haben wir aber bis zur zweitletzten Woche nicht zusammen mit der Siemens Intersil WLAN Karte, welche als Base Station arbeitet, betreiben können. Dadurch haben wir auch kein Roaming über die beiden Base Stations mittels des Inter-Access Point Protocol realisiert können. Wir versuchten zwei Laptops, ausgerüstet mit nur jeweils einer Ethernet Karte, mittels des Ping-Befehls untereinander zu erreichen. Trotz der Hilfe unserer Dozenten gelang uns das nicht. Die Verbindung lief einmal über einen Switch und ein weiteres mal über ein ausgekreuztes Kabel, welches an beiden Stationen angeschlossen war. Diese beiden Versuche blieben erfolglos. Vier Wochen nach dem Start der PA erhielten wir die neuen Siemens Karten von Lucent. Da aber die Firmware noch nicht vorhanden war, nützten uns diese Karten nicht viel. Eine Woche später erhielten wir dann die Nachricht, dass die neue Firmware bei der Siemens eingetroffen ist. Leider teilte man uns mit, dass nach der Prüfung der Lizenzbestimmungen die Firmware und die dazugehörige Dokumentation nicht an Aussenstehende weitergegeben werden dürfen. Nach diesen interessanten Nachrichten mussten wir mit den Intersil Karten weiterarbeiten. Marco Studer Walter von Arx Seite 17 / 83 Lösungskonzept PA2 – Wireless LAN AP unter Linux Da wir mit diesen Karten grössere Probleme hatten, vermuteten wir, dass diese mit den Toshiba Laptops zu tun haben. Daraufhin wollten wir die PCMCIA Karten mittels eines PC-Adapters in unsere Desktop PCs einbauen. Dies gelang uns aber nicht, da die Siemens Karten nicht in diese, ebenfalls von der Siemens gefertigten Adpater passten. Das Problem war, dass die Intersil Karten eine andere Betriebsspannung benötigen als die neueren Lucent Karten, für die diese Adapter gedacht sind. Die Adapter waren deshalb für unsere Karten unbrauchbar. Leider erhielten wir keine anderen für unsere Karten und konnten diesen Test nicht durchführen. Für unsere Arbeit hatten wir drei Intersil Karten zur Verfügung. Wie wir aber erst zu einem späteren Zeitpunkt feststellten, war eine dieser drei Karten defekt und konnte nicht verwendet werden. Um dies zu bemerken, verbrauchten wir viel Zeit. Wir konnten die Siemens Intersil Karte, wie in der Installation beschrieben, als Base Station unter Linux im Infrastructure-Mode betreiben. Des weiteren sollte diese Karte auch als Mobile Station in diesem Modus arbeiten. Dies erreichten wir jedoch nicht. Wir hatten zu keinem Zeitpunkt eine Verbindung von einer Intersil Karte zu unseren Base Stations, weder von Linux, noch von Windows 2000 aus. Wir konnten die Siemens Intersil Karte nur im Ad-Hoc Modus betreiben. Da dieser Modus für unsere Anwendung nutzlos ist, haben wir uns entschieden, für die Mobile Stations die Karten von Lucent Orinoco zu verwenden. Diese konnten wir unter Windows 2000 relativ einfach im Infrastructure-Mode als Mobile Station betreiben. Um die Verbindung der Orinoco Karte unter Windows zu testen, wird ein spezieller Client Manager mitgeliefert. Dieses Tool wird im Kapitel 9 (Tests) genauer beschrieben. Weiter versuchten wir mit den Intersil Karten eine Verbindung auf einen Siemens IGATE 11M Access Point (Abbildung 7.3) zu erstellen. Hierfür muss die ESSID des Netzes auf die Seriennummer des Access Points eingestellt werden. Diese Verbindung konnten wir auch nicht herstellen. Mit den unter Windows 2000 installierten Lucent Orinoco Karten konnten wir eine Verbindung auf diese Access Points erstellen. Damit war klar, dass der Siemens Access Point korrekt arbeitet und dass das Problem bei den Intersil Karten zu suchen war. Durch Zufall konnten wir diese Karten noch unter Windows 98 testen. Dabei gelang es mit den Karten eine Verbindung zum Access Point aufzubauen. Wir vermuten jetzt stark, dass unsere Probleme unter Windows 2000 an den Treibern der Siemens Intersil Karte liegen. Hier sollte man unbedingt von der Siemens einen getesteten Windows 2000 Treiber besorgen. Abbildung 7.3 – Siemens I-GATE 11M Access Point Marco Studer Walter von Arx Seite 18 / 83 Lösungskonzept PA2 – Wireless LAN AP unter Linux Bei allen oben beschriebenen Versuchen unter Linux verwendeten wir die PCMCIA Version 3.1.22. Da wir nun vermuteten, unsere Probleme könnten vielleicht mit einer neueren PCMCIA-Version behoben sein, installierten wir die Versionen 3.1.24 und 3.1.26. Bei der Version 3.1.24 hatten wir die gleichen Probleme, ohne eine wirkliche Verbesserung bemerkt zu haben. Die Version 3.1.26 setzte aber ganz neue Massstäbe. Der Ping über die Ethernetkarten funktionierte auf einmal, nachdem man die IP manuell eingestellt hatte. Die Konfiguration per YaST/YaST2 funktioniert jedoch nicht mehr. Tragisch daran war, dass die Siemens Intersil Karte ihren Dienst als AP beständig verweigerte. Die Meldungen beim Starten der Karte zeigten jedoch keine Fehler. Halbwegs funktionsfähig zeigte sich allerdings die D-Link Karte. Der Haken hierbei war im Startvorgang zu finden. Nach dem Neustart des PCMCIA-Modules musste jeweils zuerst die Ethernet Karte eingeschoben und manuell konfiguriert werden. Erst dann konnte die D-Link Karte eingeführt werden. Ein Ping war danach möglich. Da beide neueren PCMCIA-Versionen keine genügenden Verbesserungen brachten, entschieden wir uns, wieder zu der älteren Version 3.1.22 zurück zu kehren. Als nächstes versuchten wir, die Speicherfenster des PCMCIA-Treibers zu ändern. Hilfe zu diesem Thema findet man im PCMCIA Linux-HOWTO, welches standardmässig mit Linux installiert wird. Die Speichereinstellungen werden in der Datei /etc/pcmcia/config.opts abgespeichert. Hierbei versuchten wir folgende Speicherfenster: § § § 0xd8000 – 0xdffff 0xc0000 – 0xcffff 0xc8000 – 0xcffff Mit keiner dieser drei Einstellungen konnten wir unser Problem lösen. Als letztes stellte uns eine andere Projektgruppe eine andere Ethernetkarte zur Verfügung. Dabei handelte es sich um eine 3COM Megahertz 10/100 LAN Card Bus PC Card (Model 3CCFE575BT). Nachdem wir von Hand, mit folgendem Befehl, die IP Adresse eingestellt hatten, waren unsere Probleme auf einmal verschwunden und wir konnten gleichzeitig die WLAN Karte und eben diese Ethernetkarte betreiben. ifconfig eth0 160.85.24.10 netmask 255.255.255.128 up Wir stellten unsere PCMCIA Karten so ein, dass sie mit den IRQs 9 und 10 arbeiten. Dies haben wir von einer uns vorangegangenen Projektgruppe (PA SS01 Sna06) übernommen. Marco Studer Walter von Arx Seite 19 / 83 Lösungskonzept PA2 – Wireless LAN AP unter Linux Ende der zweitletzten Woche unserer Projektarbeit hat einer unserer Dozenten, Prof. T. Müller, herausgefunden, dass die Karte mit dem zugewiesenen IRQ 9 nie funktioniert. Scheinbar ist bei den von uns verwendeten Toshiba Laptops dieser IRQ nicht für die Verwendung von PCMCIA Geräten gedacht oder die Xircom-Karten haben damit ihre Probleme, da es mit den 3Com-Karten scheinbar funktioniert. Im YaST kann man IRQs für die Verwendung der PCMCIA-Devices reservieren. Dies wird folgendermassen bewerkstelligt: § § § § § § Zuerst als ROOT einloggen Danach Start des Konfigurationsprogrammes YaST mit dem Befehl yast Hier wählt man den Punkt 'Administration des Systems' Dann den Punkt 'Konfigurationsdatei verändern' wählen Darauf erscheint eine Liste mit Umgebungsvariablen. Hier sucht man die Variable 'PCMCIA_PCIC_OPTS'. Dieser wird der Wert 'irq_list=5,10' zugewiesen. Sind diese Änderung vorgenommen, kann die Maske mittels der Taste F10 verlassen werden. Yast konfiguriert jetzt die eben vorgenommenen Änderungen. Nachdem wir den IRQ 9 durch den 5er ersetzt hatten, funktionierten beide unsere Karten. Die beiden Netzwerkkarten verwenden jetzt die beiden IRQs 5 und 10. Eine nachfolgende PA-Gruppe sollte deshalb unbedingt darauf achten, dass der IRQ 9 nicht von irgendwelchen Netzwerkkarten verwendet wird. Trotz des Wechsels des IRQs musste die Konfiguration der Netzwerkkarte jedoch manuell durchgeführt werden. Weitere Tests führten wir hier aus Zeitgründen nicht mehr durch, d.h. wir können also nicht mit Bestimmtheit sagen, dass mit dieser Änderung alle Probleme behoben sind. Da wir bis zur zweitletzten Woche keine Ethernet Verbindung unter den Base Stations hatten, konnten wir uns auch nicht mit der Implementation des Inter-Access Point Protocol beschäftigen. Wir haben in unserer Arbeit dieses Protokoll in einem eigenen Kapitel behandelt. Wie diese Arbeit weitergeführt werden kann, beschreiben wir kurz im Kapitel 11. Marco Studer Walter von Arx Seite 20 / 83 Installation PA2 – Wireless LAN AP unter Linux 8 Installation Dieses Kapitel gibt Aufschluss über die Installation der einzelnen WLAN-Karten. Dabei wird sowohl auf die Installation unter Linux wie auch auf die unter Windows eingegangen. Letztere wurde jeweils durchgeführt, um herauszufinden, ob die einzelnen Karten überhaupt funktionieren. 8.1 Lucent Orinoco Gold 11Mbit/s Diese Beschreibung beschränkt sich auf eine Mobile Station. Mit dieser Karte versuchten wir nie eine Base Station zu installieren. 8.1.1 BIOS-Einstellungen Will man gleichzeitig eine Wireless LAN Karte und eine Ethernet Karte aktiv haben, so muss im BIOS des Toshiba Laptops eine Änderung vorgenommen werden. Um ins BIOS zu gelangen, benötigt man die von Toshiba mitgelieferte Diskette mit der Aufschrift „Toshiba Companion Diskette Version:W98C05GRB1, Date: 23.07.1999“. Ist man im den BIOS Einstellungen, ist einmal Page Down zu drücken, um die Einstellungen zur PC CARD zu sehen. Dort muss der Wert des Punktes „Controller Mode“ auf „PCIC Compatible“ stehen. Danach sollten beide PCMCIA Karten funktionieren. 8.1.2 Windows 2000 Professional Die Treiber und Konfigurationstools können von der Homepage von Orinoco runtergeladen werden. Die gesamte Software wird in einem selbstextrahierende ZIPArchiv gespeichert (WLW2K70.exe). Dieses enthält die aktuellen Treiber und einen Clientmanager. Wir benutzen die Treiberversion 6.28 und die Version 1.76 des Clientmanagers. Nach der Installation erscheint in der Statuszeile ein neues Symbol. Über dieses kann der Clientmanager aufgerufen werden. Unter dem Menupunkt Actions kann ein neues Konfigurationsprofil erstellt werden. Mit der Einstellung Peer-toPeerGroup und dem richtigen Netzwerknamen kann zwischen zwei so eingestellten Windows Rechnern eine Verbindung aufgebaut werden. Bei unserem Arbeitsplatz waren wir im Empfangsbereich einer bereits aktiven Base Station. Dieses Signal konnten wir einwandfrei empfangen. Der Channel ist standardmässig auf 5 eingestellt. Dieser kann mit diesen Programmen nicht verstellt werden. Nach Orinoco passt sich dieser automatisch dem Channel der BaseStation an, mit welcher er verbunden ist. Marco Studer Walter von Arx Seite 21 / 83 Installation PA2 – Wireless LAN AP unter Linux 8.1.3 SuSE Linux 7.1 Professional Damit diese Karte unter Linux funktioniert, muss zuerst die oben erwähnte BIOS Änderung vorgenommen werden. Für diese Karte können zwei Treiber verwendet werden, die in SuSE Linux 7.1 Kernel 2.2.18 standardmässig installiert werden. § § wavelan2_cs (Version 6.06) wvlan_cs (Version 1.0.5) Nach den Erfahrungen der vorangegangenen Projektarbeit Mth01/3 haben wir uns für den Treiber wvlan_cs (Version 1.0.5) entschieden. Damit dieser Treiber verwendet wird, müssen in der Datei /etc/pcmcia/config folgende Zeilen eingefügt werden. Card “Lucent Technologies WaveLAN/IEEE Adapter“ Version “Lucent Technologies“, "WaveLAN/IEEE" Bind "wvlan_cs" Durch diese Zeile wird bei der Erkennung einer Lucent Orinoco Karte automatisch der richtige Treiber geladen. Des weiteren müssen in der Datei /etc/pcmcia/wireless.opts Änderungen vorgenommen werden. In dieser Datei sind schon einige Karten vordefiniert. Da unsere Karte nicht dabei ist, haben wir die Einstellungen für Generic Cards geändert. Hierhin kommt er, wenn er keine Karten in den oberen Profilen erkennt. Folgende Änderungen haben wir vorgenommen. INFO="TestNetz" ESSID="TEST" MODE="Ad-Hoc" CHANNEL="5" RATE="11MB" Wir verwendeten den Ad-Hoc-Mode, um die Kommunikation mit der bereits vorhandenen Base Station zu testen. Diese benutzt untypischerweise nicht den Infrastruktur-, sondern den Ad-hoc-Modus. Die Einstellungen der WLAN-Karte können auch im Betrieb der Karte geändert werden. Um dies zu realisieren benötigt man die Wireless Tools, welche unter [5] heruntergeladen werden können. Hier verwendeten wir die Version 21. Diese Tools stellen fünf Programme zur Verfügung. Folgende Tabelle zeigt diese und eine kurze Erklärung über dessen Nutzen. Programmname iwconfig iwgetid iwlist iwpriv iwspy Marco Studer Walter von Arx Beschreibung Konfigurieren eines Wireless Netzwerk Interfaces Auslesen der ESSID Wireless Statistik eines ausgewählten Nodes anzeigen Konfigurieren von optionalen (privaten) Parameter Wireless Statistik eines ausgewählten Nodes anzeigen Seite 22 / 83 Installation PA2 – Wireless LAN AP unter Linux Es ist noch zu beachten, dass die Änderungen in den Einstellungen einer Karte nach dem Reboot einer solchen nicht mehr vorhanden sind und erneut durchgeführt werden müssen. Jetzt kann der PC runtergefahren und die Karte eingesetzt werden. Beim Starten von Linux wird die Karte nun erkannt und gestartet. Nun muss nur noch die richtige IP Adresse der Karte zugewiesen werden. Dies wird mit folgenden Befehl erreicht, welcher später in einem Script automatisch beim Systemstart ausgeführt wird. ifconfig wvlan0 [IP-Adresse] [netmask (Netzmaske)] [broadcast (Broadcast-Adresse)] up 8.2 Siemens I-Gate 11M – Version Intersil Hierbei handelt es sich um Siemens I-Gate 11M Karten, welche von Siemens selbst hergestellt werden. 8.2.1 BIOS-Einstellungen Diese Version der I-Gate-Karten benötigt eine Betriebsspannung von 3.3V. Die verwendeten Ethernetkarten von Xircom hingegen werden mit 5V betrieben. Dies hat zur Folge, dass die BIOS-Einstellungen bezüglich PC Cards auf der StandardEinstellung "Auto-Selected" belassen werden muss. Eine Änderung, wie sie bei den Orinoco-Karten gemacht wird, bewirkt dass beim Einsatz von zwei PCMCIA-Karten eine der beiden Karte mit der falschen Spannung betrieben wird und daher nicht funktioniert. 8.2.2 Windows 2000 Professional Für die Installation unter Windows sind die neuesten Treiber von der Siemens Webpage heruntergeladen worden. Dabei handelt es sich um ein ZIP-Archiv, welches neben Treibern auch Programme zur Konfiguration der Karten enthält. Die Datei mobileports_downloads_standcd_b1_7.exe ist vom Stand Mai 2001 und enthält folgende Software: Verzeichnis LinkTest MPdrv MPfw MPmgr Inhalt Tool für Verbindungstests Treiber für Siemens I-Gate 11M Programm für Upgrade der Firmware MobilePort Manager für Konfiguration der I-Gate Karten Das Programm für den Upgrade der Firmware ist nicht verwendet worden. Die Siemens-Karten werden nach Einführen in einen PCMCIA-Slot automatisch erkannt. Bei der Installation des Treibers muss für Windows 2000 Professional die Datei NETCW10.INF aus dem Verzeichnis MPdrv angegeben werden. Die Konfiguration der Karte kann schlussendlich über den MobilePort Manager oder die Eigenschaften der Netzwerkkarte (Netzwerk- und DFÜ-Verbindungen) erfolgen. Marco Studer Walter von Arx Seite 23 / 83 Installation PA2 – Wireless LAN AP unter Linux 8.2.3 SuSE Linux 7.1 Professional Für die Installation der Siemens I-Gate-Karten sind die Treiber vom linux-wlan(tm) Project, Quelle [3], heruntergeladen worden. Verwendet wurde die Version 0.1.8-pre13 des WLAN Next Generation Projektes (linux-wlan-ng-0.1.8-pre13.tar.gz). Für die Installation unter Linux wird der Treiber normalerweise als Sourcecode heruntergeladen. Da dieser zuerst kompiliert werden muss, werden noch einige Quellcode-Pakete von SuSE Linux 7.1 benötigt. Dabei handelt es sich um folgende Pakete. Paket lx_sus22 Linclude Pcmcia Serie d d zq Beschreibung Linux Kernel Sourcecode für den SuSE Kernel 2.2.18 Include-Dateien für den Linux Kernel Sourcecode Sourcecode für PCMCIA-Paket Version 3.1.22 Beim Versuch die Pakete lx_sus22 und linclude zu installieren meldet Yast Inkompatibilitäten zwischen diesen. Diese Fehlermeldung kann ignoriert werden. Zur Vereinfachung der Installation haben wir zuallererst den symbolischen Link linux im Verzeichnis /usr/src korrigiert, so dass dieser auf das Verzeichnis mit dem verwendeten Kernel verweist. cd /usr/src rm linux ln –s linux-2.2.18.SuSE linux Zum Kompilieren des Treibers werden die Konfigurationsdateien von Kernel und PCMCIA-Paket benötigt. Diese werden folgendermassen erzeugt: cd /usr/src/linux make menuconfig Das gestartete Programm kann sofort mit [EXIT] verlassen und die Konfiguration dabei mit [YES] gespeichert werden. Danach sollte sich die Konfigurationsdatei des Kernels .config im Verzeichnis /usr/src/linux befinden. Entsprechend kann nun auch die Datei für das PCMCIA-Paket erzeugt werden. cd /usr/src tar xfz packages/SOURCES/pcmcia-cs-3.1.22.tar.gz cd pcmcia-cs-3.1.22 ./Configure Als nächstes kann das Archiv mit dem Sourcecode entpackt werden. tar xfz linux-wlan-ng-0.1.8-pre13.tar.gz Marco Studer Walter von Arx Seite 24 / 83 Installation PA2 – Wireless LAN AP unter Linux Danach kann das Konfigurationsfile für die Übersetzung des Treibers erstellt werden. Daraufhin kann alles übersetzt und in die entsprechenden Verzeichnisse kopiert werden. Verwendet wird dabei folgende Befehlssequenz: make config make all make install Nun kann mit der Konfiguration der Karte begonnen werden. Alle benötigten Files befinden sich im Verzeichnis /etc/pcmcia. Die nötigen Einträge für die Zuordnung einer erkannten Netzkarte zum Treiber, der geladen werden soll, geschieht über die Dateien wlan-ng.conf und config. Im File wlan-ng.conf werden folgende Änderungen vorgenommen: Der erste Eintrag muss folgendermassen aussehen: device "prism2_cs" class "wlan-ng" module "prism2_cs" Für die verwendete Karte ist folgender Eintrag hinzugefügt worden. ### Siemens I-GATE WLAN-Karte, 11 Mbps card "Intersil Siemens I-GATE 11Mb/s" version "Siemens", "I-GATE 11M PC Card B", version 01.01", "" bind "prism2_cs" Die Versions-Zeile muss dabei den gleichen Text enthalten, welcher über den Befehl cardctl ident ermittelt werden kann. Auskommentiert worden ist der vorhandene Eintrag für Siemens WLAN-Karten. #card "Intersil PRISM2 Reference Design 11Mb/s # 802.11b WLAN Card" # version "INTERSIL", "HFA384x/IEEE" # bind "prism2_cs" Eine weitere Möglichkeit den richtigen Treiber zu laden ist über die Hersteller-ID, welche ebenfalls mittels cardctl ident ermittelt werden kann. Der Nachteil dabei ist, dass diese ID bei allen verwendeten Karten identisch war. Dadurch würde unabhängig von der eingeschobenen Karte immer der PrismII-Treiber geladen. Ein weiterer Nachteil davon ist, dass bei Vorhandensein immer dieser Eintrag beachtet wird, unabhängig davon ob ein anderer zutrifft. Daher ist der Eintrag zwar ins File eingefügt, jedoch auskommentiert worden. ### Allgemeine Intersil Prism2-Karten ### (wird verwendet, falls nicht auskommentiert) #card "Intersil PRISM2 Reference Design 11Mb/s WLAN Card" # manfid 0x0156, 0x0002 # bind "prism2_cs" Marco Studer Walter von Arx Seite 25 / 83 Installation PA2 – Wireless LAN AP unter Linux Im File config muss auch ein entsprechender Device-Eintrag vorhanden sein. device "prism2_cs" class "wlan-ng" module "prism2_cs" Ebenso sind die entsprechenden Karteneinträge zu ergänzen, wobei der zweite auskommentiert sein sollte. Ein Standardeintrag für Siemens-Karten, welcher auskommentiert werden müsste, ist von Anfang an nicht vorhanden. ### Siemens I-GATE WLAN-Karte, 11 Mbps card "Intersil Siemens I-GATE 11Mb/s" version "Siemens", "I-GATE 11M PC Card B", "Version 01.01", "" bind "prism2_cs" ### Allgemeine Intersil Prism2-Karten ### (wird verwendet, falls nicht auskommentiert) #card "Intersil PRISM2 Reference Design 11Mb/s WLAN Card" # manfid 0x0156, 0x0002 # bind "prism2_cs" Im Anschluss daran können die Einstellungen für das ESS vorgenommen werden. Im File wlan-ng.opts werden folgende Einträge entsprechend nachstehendem Beispiel abgeändert. DesiredSSID=“linux-wlan“ APSSID=“linux-wlan“ APCHANNEL=11 Ebenfalls geändert werden kann das File wireless.opts. Nach unseren Erfahrungen wird dieses jedoch vom Intersil PrismII-Treiber gar nicht beachtet. INFO=“Linux WLAN Basestation“ ESSID=“linux-wlan“ MODE=“Infrastructure“ CHANNEL=11 RATE=11M Danach kann die WLAN-Karte neu initialisiert werden. Am Einfachsten wird dazu die Karte aus dem PCMCIA-Slot entfernt und das PCMCIA-Device heruntergefahren und wieder neu gestartet. Nach dem Einschieben der Karte sollte diese mittels zweier hoher Töne signalisieren, dass sie richtig erkannt und der entsprechende Treiber geladen worden ist. Folgende Befehle werden für das PCMCIA-Device verwendet: /etc/init.d/pcmcia stop /etc/init.d/pcmcia start Marco Studer Walter von Arx Seite 26 / 83 Installation PA2 – Wireless LAN AP unter Linux Nun ist die Karte bereit für die weitere Konfiguration. Einzelne Einträge können mittels der Konfigurationstools wlanctl-ng und wlancfg betrachet und verändert werden. Die IPAdresse wird mittels des Befehls ifconfig gesetzt. Die IP für die Mobile Station 1 würde zum Beispiel durch folgenden Befehl zugewiesen: ifconfig wlan0 160.85.24.192 netmask 255.255.255.128 broadcast 160.85.24.255 up Danach ist die Siemens I-Gate-Karte theoretisch als Mobile Station initialisiert. Der Witz daran ist jedoch, dass die Konfigurationen, welche über die Tools oder ifconfig gemacht werden, bei jedem Neustart verloren gehen. Für eine dauerhafte Konfiguration müssen die Einträge und Befehle in den entsprechenden Skripts festgehalten werden. Das dazu notwendige Vorgehen wird bei der Beschreibung der Base Station-Installation in Kapitel 8.5 aufgezeigt. Für den Betrieb als Access Point ist eine entsprechende Firmware notwendig. Diese haben wir von der Siemens Schweiz AG erhalten. Ausserdem wird ein DownloadProgramm benötigt, welches wir von einem wlan-ng-Treiber-Paket Version 0.1.6 übernommen haben. Das entsprechende Programm ist nicht mehr Teil der neueren Versionen. Hilfestellung bei der Inbetriebnahme eines Access Points leistete uns Daniel Anklin von der Siemens Schweiz AG mit einer Kurzanleitung und dem Zusenden der von ihm verwendeten Skripte und Konfigurationsfiles. Das benötigte Download-Programm ist von uns kompiliert und installiert worden. Über die Konfigurationsdatei wlan-ng.opts kann das Download-Programm gestartet und die Firmware t10003c7.hex ins RAM der WLAN-Karte geladen werden. Daneben ist die notwendige Konfiguration gemäss den Vorgaben von Herrn Anklin erstellt worden. Die Base Station konnte daraufhin ohne ernst zu nehmende Fehlermeldungen gestartet werden. Alle Konfigurationsfiles sind im Anhang zu finden. Ebenso sind diese und die von Herrn Anklin gemailten Files auf der beigelegten CD vorhanden. Marco Studer Walter von Arx Seite 27 / 83 Installation 8.3 PA2 – Wireless LAN AP unter Linux D-Link Air DWL-650 8.3.1 BIOS-Einstellungen Die WLAN-Karte von D-Link wird genau wie die Siemens I-Gate Karten auch mit 3.3V betrieben. Von dem her gilt bezüglich BIOS-Einstellungen dasselbe wie bei den Siemens-Karten, d.h. die PC Card Einstellung ist auf „Auto-Selected“ zu setzen. 8.3.2 Windows 2000 Professional Die aktuelle Software und Treiber für die D-Link Air DWL-650 können von der Homepage des Herstellers [12] heruntergeladen werden. Es handelt sich dabei um das ZIP-Archiv dwl650_driver_132.zip. Zu beachten ist, dass man vor dem Einsetzen der Karte die Konfigurationssoftware installieren sollte. Dabei werden folgende Angaben benötigt: Bezeichnung SSID Network Mode Wert linux-wlan Infrastructure Beim Pfad für die Installation und beim vorgeschlagenen Programmordner kann der vorgeschlagene Standardwert übernommen werden. Nach Einführen der Karte wird der Pfad zur Treiberdatei verlangt. Dabei ist die Datei netcw2k.inf aus dem Ordner Win2000 anzugeben. 8.3.3 SuSE Linux 7.1 Professional Die Installation der D-Link-Karte unter Linux gestaltet sich sehr ähnlich wie die der Siemens-Karte. Einziger Unterschied ist ein zusätzlicher Eintrag in den Files config und wlan-ng.conf. In beiden Files ist nach erfolgter Siemens Intersil-Installation der nachfolgende Eintrag zu ergänzen. ### D-Link DWL-650 WLAN-Karte, 11Mbps card "D-Link DWL-650 11Mbps 802.11b WLAN Card" version "D", "Link DWL-650 11Mbps WLAN Card", "Version 01.02" bind "prism2_cs" Die Möglichkeiten der Konfiguration sind nicht untersucht worden, da die Karte für unsere Projektarbeit nicht in Frage kam. Marco Studer Walter von Arx Seite 28 / 83 Installation 8.4 PA2 – Wireless LAN AP unter Linux Siemens I-Gate 11M – Version Lucent Mit vier Wochen Verspätung erhielten wir diese ursprünglich für die PA vorgesehene Karte. Da die versprochene Software zu dieser Karte, d.h. Firmware und Treiber, endgültig ausblieben, mussten wir auf jeglichen Einsatz dieser Karte verzichten. 8.5 Ausbau zu einer Base Station (Siemens Intersil Karte) Als erstes muss diese Karte als Mobile Station installiert werden. Wie dies gemacht wird kann im Kapitel 8.2 nachgelesen werden. Damit diese Karte als Base Station betrieben werden kann, muss immer beim Aufstarten der Karte respektive des Treibers die Firmware, Base Station-Firmware ins RAM der Karte geladen werden. Dazu benötigt man ein spezielles DownloadProgramm. Als erstes muss dieses installiert werden. Die Sourcedateien, die man zur Installation benötigt, können unter [8] heruntergeladen werden. Im Source-Verzeichnis der prism2 Treiber wird nun ein neues Verzeichnis mit dem Namen download erstellt. mkdir /root/linux-wlan-ng-0.1.8-pre13/src/prism2/download In dieses Verzeichnis werden nun die Dateien Makefile und prism2dl.c kopiert, welche das Download Programm darstellen. Als nächstes wird mit folgendem Befehl, ausgeführt in einer Konsole, in dieses Verzeichnis gewechselt. cd /root/linux-wlan-ng-0.1.8-pre13/src/prism2/download In der Datei prism2dl.c muss nun noch eine Änderung vorgenommen werden, damit diese kompiliert werden kann. In der Zeile 1152 muss folgende Zeile writemsg.addr.data = HFA384x_PDA_BASE; durch folgende ersetzt werden writemsg.addr.data = HFA3842_PDA_BASE; Nach dieser Änderung kann das Programm kompiliert werden. make make install Marco Studer Walter von Arx Seite 29 / 83 Installation PA2 – Wireless LAN AP unter Linux Als nächstes wird die verwendete Firmware in das Verzeichnis /etc/pcmcia kopiert. Wir benutzten zwei verschieden Versionen, von denen wir beide ohne Probleme installieren konnten. Folgende Tabelle gibt einen kurzen Überblick über diese. Produkt Version Dateiname Erhalten von M. Loder CW10 Tertiary Firmware 0.3 variant 3 t10003c3.hex Erhalten von D. Anklin CW10 Tertiary Firmware 0.3 variant 7 t10003c7.hex Diese sind beide für den Prism II Chipsatz. Wir verwendeten beide Versionen. Die erste erhielten wir von Herrn M. Loder, die zweite von Herrn D. Anklin, beide Mitarbeiter der Firma Siemens Schweiz AG. Jetzt muss die Datei wlan-ng.opts im Verzeichnis /etc/pcmcia/ angepasst werden. Folgendes muss geändert werden: § § § § § Zeile 58 bis 64 auskommentieren, da für uns sinnlos Zeile 80 auskommentieren und durch folgende ersetzen USER_MIB="" Unter STA_START, am Schluss dieses Abschnittes folgendes einfügen (Beispiel von Base Station 2): DesiredSSID="linux-wlan" wlan_DEVICE=wlan0 wlan_IPADDR=160.85.24.131 wlan_NMASK=255.255.255.128 wlan_BCAST=160.85.24.255 Unter DOWNLOAD sollte folgendes stehen: WLAN_DOWNLOAD=y WLAN_DOWNLOADER=/sbin/prism2dl WLAN_DLIMAGE=/etc/pcmcia/t10003c3.hex Unter AP START folgendes ändern: IS_AP=y APSSID=linux-wlan APCHANNEL=11 Optionen DesiredSSID wlan_DEVICE wlan_IPADDR wlan_NMASK wlan_BCAST WLAN_DOWNLOAD WLAN_DOWNLOADER WLAN_DLIMAGE IS_AP APSSID APCHANNEL Marco Studer Walter von Arx Beschreibung Netz-ID vom ESS Device Id der WLAN Karte IP Adresse der WLAN Karte Netzmaske Broadcast Adresse Download der Firmware durchführen oder nicht Download Programm Firmwaredatei welche benutzt werden soll Arbeitet die Station als Access Point Netz-ID vom ESS Benutzter Funkkanal Seite 30 / 83 Installation PA2 – Wireless LAN AP unter Linux Nach diesen Änderungen muss noch die Datei wlan-ng angepasst werden. Diese findet man ebenfalls im Verzeichnis /etc/pcmcia. Hier wird unter dem Fall 'start'|'resume' unter AP Interface vor der Zeile 287 nachstehendes eingefügt: ifconfig $wlan_DEVICE $wlan_IPADDR netmask $wlan_NMASK broadcast $wlan_BCAST ifconfig $wlan_DEVICE up Nach einem Reboot läuft der so konfigurierte Laptop als Base Station. 8.6 Installation PCMCIA Um ein neue PCMCIA Version zu installieren geht man wie folgend beschrieben vor. Als gute Hilfe dient dabei das PCMCIA Linux HOWTO, welches über die Linux Hilfe aufgerufen werden kann. Da für einige in diesem Abschnitt beschriebenen Vorgehensweisen Superuser-Rechte benötigt werden, empfiehlt es sich als ROOT zu arbeiten. Als erstes muss die zu installierende PCMCIA-Version runtergeladen werden. Unter [6] können verschieden aktuelle Versionen gefunden werden. Als Beispiel nehmen wir hier die Version 3.1.24. Damit das PCMCIA Packet kompiliert werden kann, müssen alle dazu benötigten Quellcode Pakete auf dem System vorhanden sein. Folgende zwei Pakete sind unabdingbar. Diese können mit YaST von der DVD oder CD-Rom installiert werden. § § lx_sus22 linclude Serie d Serie d Linux Kernel Quellcode (SuSE Kernel 2.2.18) Linux Kernel Include-Dateien (SuSE Kernel 2.2.18) Als nächstes sollte das bereits aktive PCMCIA Packet deinstalliert werden. Dazu startet man das Konfigurationsprogramm YaST. Unter dem Menupunkt „Paketverwaltung“ wählt man „Paketauskunft“. Hier wird jetzt nach dem Begriff „pcmcia“ gesucht. Nach kurzer Zeit erscheint eine Liste mit Paketen. Hier selektiert man den Eintrag: [i] s pcmcia PCMCIA support for Linux Durch drücken der Space-Taste stellt man den Status dieses Eintrages auf '[D]'. Danach kann durch drücken der F10 Taste das Menu verlassen werden und das aktuell installierte PCMCIA Paket wird deinstalliert. Da einige Pakete für ihre Konfiguration die Konfigurationsdatei des Kernels benötigen, muss diese noch erstellt werden. cd /usr/src/linux make menuconfig Marco Studer Walter von Arx Seite 31 / 83 Installation PA2 – Wireless LAN AP unter Linux Das nun geöffnete Programmfenster wird ohne Änderungen vorzunehmen wieder mit [exit] verlassen. Die Frage, ob die Konfiguration gespeichert werden soll, wird mit [Yes] beantwortet. Nun sollte im Verzeichnis /usr/src/linux die Datei .config erstellt worden sein. Jetzt kann die Installation des neue Paketes beginnen. Das vorhin heruntergeladene Paket, pcmcia-cs-3.1.24.tar.gz, kann jetzt entpackt werden. Üblicherweise wird das runtergeladene Paket im Verzeichnis /usr/src/packages/SOURCES/pcmcia-cs-x.x.xx, wobei x.x.xx die Versionsnummer darstellt, gespeichert. Man entpackt dieses Paket am besten in das Verzeichnis /usr/src/: cd /usr/src tar xfz packages/SOURCES/pcmcia-cs-3.1.24 cd /usr/src/pcmcia-cs-3.1.24 Das entpackte Paket kann jetzt kompiliert und installiert werden. make config Hier müssen einige Fragen beantwortet werden. Diese können alle mit den Standardwerten beantwortet werden (immer RETURN drücken). make all make install Damit das neue Paket richtig gestartet und gestoppt wird, müssen in den Start-/ StoppVerzeichnissen dreier Runlevels jeweils zwei Softlinks auf das PCMCIA Startscript erstellt werden. cd ln ln ln ln ln ln /etc/pcmcia -s ../pcmcia -s ../pcmcia -s ../pcmcia -s ../pcmcia -s ../pcmcia -s ../pcmcia /etc/init.d/rc2.d/K17pcmcia /etc/init.d/rc2.d/S06pcmcia /etc/init.d/rc3.d/K17pcmcia /etc/init.d/rc3.d/S06pcmcia /etc/init.d/rc5.d/K17pcmcia /etc/init.d/rc5.d/S06pcmcia Jetzt kann das System neu gestartet werden. reboot Nach dem Reboot sollte das neue PCMCIA Paket korrekt arbeiten. Marco Studer Walter von Arx Seite 32 / 83 Tests PA2 – Wireless LAN AP unter Linux 9 Tests 9.1 Testkonzept Unsere Tests beschränkten sich darauf zu prüfen, ob die Base Stations und die Mobile Stations richtig gestartet werden und ob eine Verbindung zwischen den verschiedenen Rechnern besteht. Weiter haben wir getestet, ob die Mobile Stations eine Verbindung mit dem Siemens I-GATE 11M ISDN Access Point aufbauen können. Wie aus Abbildung 9.1 ersichtlich ist, testeten wir die Clients unter Windows 2000 und die Base Stations unter SuSE Linux 7.1, Kernel 2.2.18. Mobile Station Base Station Windows 2000 Orinoco Karte SuSE Linux 7.1 Siemens Intersil Abbildung 9.1 – Testaufbau Die Base Stations haben wir unter Linux eingerichtet. Wenn eine PCMCIA Karte in einen der beiden Slots des Laptops eingesteckt wird, wird das vom System in der Datei /var/log/messages protokolliert. Diese Datei kann mit dem Befehl tail fortlaufend angezeigt werden. tail –f /var/log/messages Sie sollte nach dem Einfügen einer Siemens Intersil WLAN Karte, welche als Base Station konfiguriert ist, folgende Einträge protokolliert haben. cardmgr[192]: initializing socket 1 cardmgr[192]: socket 1: Intersil Siemens I-GATE 11Mb/s kernel: cs: memory probe 0x0d0000-0x0dffff: clean. cardmgr[192]: executing: 'modprobe prism2_cs' kernel: init_module: prism2_cs.o: 0.1.8-pre12 Loaded kernel: init_module: dev_info is: prism2_cs kernel: prism2_cs: index 0x01: Vcc 3.3, irq 5, io 0x0100-0x013f kernel: ident: nic h/w: id=0x8002 1.0.0 kernel: ident: pri f/w: id=0x15 0.3.0 kernel: ident: sta f/w: id=0x1f 0.7.6 kernel: MFI:SUP:role=0x00:id=0x01:var=0x01:b/t=1/1 kernel: CFI:SUP:role=0x00:id=0x02:var=0x01:b/t=1/1 kernel: PRI:SUP:role=0x00:id=0x03:var=0x01:b/t=1/2 kernel: STA:SUP:role=0x00:id=0x04:var=0x01:b/t=1/4 kernel: PRI-CFI:ACT:role=0x01:id=0x02:var=0x01:b/t=1/1 kernel: STA-CFI:ACT:role=0x01:id=0x02:var=0x01:b/t=1/1 kernel: STA-MFI:ACT:role=0x01:id=0x01:var=0x01:b/t=1/1 kernel: Prism2 card SN: 99SA01000000 cardmgr[192]: executing: './wlan-ng start wlan0' kernel: Writing 4096 bytes to ram @0x1f1800 Marco Studer Walter von Arx Seite 33 / 83 Tests PA2 – Wireless LAN AP unter Linux kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: Writing Writing Writing Writing Writing Writing Writing Writing Writing Writing Writing 4096 bytes 4096 bytes 4096 bytes 4096 bytes 4096 bytes 4096 bytes 4096 bytes 4096 bytes 4096 bytes 2 bytes to 3144 bytes to ram @0x1f2800 to ram @0x1f3800 to ram @0x1f4800 to ram @0x1f5800 to ram @0x1f6800 to ram @0x1f7800 to ram @0x1f8800 to ram @0x1f9800 to ram @0x1fa800 ram @0x1fb800 to ram @0x1ff000 Hier wurde die Base Station Firmware in das RAM der Siemens Karte geschrieben. kernel: ident: nic h/w: id=0x8002 1.0.0 kernel: ident: pri f/w: id=0x15 0.3.0 kernel: ident: ap f/w: id=0x14b 0.3.7 kernel: MFI:SUP:role=0x00:id=0x01:var=0x01:b/t=1/1 kernel: CFI:SUP:role=0x00:id=0x02:var=0x01:b/t=1/1 kernel: PRI:SUP:role=0x00:id=0x03:var=0x01:b/t=1/2 kernel: AP:SUP:role=0x00:id=0x05:var=0x01:b/t=1/5 kernel: PRI-CFI:ACT:role=0x01:id=0x02:var=0x01:b/t=1/1 kernel: STA-CFI:ACT:role=0x01:id=0x02:var=0x01:b/t=1/1 kernel: STA-MFI:ACT:role=0x01:id=0x01:var=0x01:b/t=1/1 kernel: Prism2 card SN: 99SA01000000 cardmgr[192]: + Reading S-record file /etc/pcmcia/t10003c7.hex... cardmgr[192]: + prism2dl: finished. Der Treiber wurde gestartet. kernel: atimwindow not used in Infrastructure mode, ignored. kernel: prism2mgmt_start: probedelay not supported in prism2, ignored. kernel: prism2mgmt_start: read(pcfinfo) failed, assume it's not supported, pcf settings ignored. Diese drei Fehlermeldungen sind für unsere Anwendung nicht von Bedeutung. cardmgr[192]: + WLAN AP mode started Die Karte läuft jetzt als Base Station. Durch diese Meldung kann getestet werden, ob die Karte richtig im System initialisiert wurde. Geht das Ganze schief, kann man aus den protokollierten Fehlermeldungen auf den Fehler schliessen. Marco Studer Walter von Arx Seite 34 / 83 Tests PA2 – Wireless LAN AP unter Linux Damit jetzt getestet werden kann, ob die Base Station auch funktioniert, haben wir unter Windows 2000 eine Orinoco Lucent WLAN Karte installiert. Bei der Installation dieser Karte wird im Windows ebenfalls ein Client Manager mitinstalliert. Abbildung 9.2 – Orinoco Client Manager Mit diesem kann getestet werden, ob eine Verbindung zu einer Base Station besteht. Es werden auch alle Base Stations angezeigt, die empfangen werden können. Dieses Tool wird im Abschnitt 9.2 genauer erklärt. Weiter hatten wir einen Siemens I-GATE 11M ISDN Access Point. Stellt man die ESSID auf die Seriennummer dieses Gerätes, kann man sich mit diesem verbinden. So konnten wir ebenfalls testen, ob eine Verbindung mit diesem aufgebaut wird. Unsere Mobile Stations konnten sich ohne Probleme mit unseren Linux Base Stations und mit dem Siemens Access Point verbinden. Ob eine Netzverbindung zwischen Mobile Station und Base Station besteht, haben wir mit dem Ping-Befehl getestet. Mit diesem konnten wir von der Base Station zur Mobilen und umgekehrt die jeweils andere Partei erreichen. Weiter testeten wir, ob sich zwei Mobile Stations, welche an einer Base Station angemeldet sind, auch untereinander über eine Verbindung verfügen. Dies prüften wir ebenfalls mittels des Ping-Befehles. Auch dieser Test verlief erfolgreich. Sind zwei Base Stations in Betrieb, so kann weiter getestet werden, ob ein Client welcher bei BS1 angemeldet ist, auf BS2 wechselt, wenn BS1 ausgeschaltet oder ausserhalb der Funkreichweite der Mobile Station gerät. Da die Mobile Station schon zu Beginn in der Reichweite beider Base Stations war, kannte sie schon beide Stationen zum Zeitpunkt des Abschaltens einer BS. Dies kann man mit dem Orinoco Client Manager sehen. Wird jetzt die Station BS1 ausgeschaltet, reagiert die Mobile Station korrekt und arbeitet von nun an über die Base Station 2. Marco Studer Walter von Arx Seite 35 / 83 Tests 9.2 PA2 – Wireless LAN AP unter Linux Softwaretools In diesem Abschnitt erklären wir, wie man mit dem Orinoco Client Manager, Version 1.76, und mit dem Siemens MobilePort Manager, Version 1.26, arbeitet. Beide Programme arbeiten unter Windows 2000 und werden mit den Treibern der jeweiligen Karten mitinstalliert. Abbildung 9.3 – Statusleiste Windows 2000 Beide Tools können über ein Symbol in der Statusleiste gestartet werden. Symbol Programm Orinoco Client Manager (Version 1.76) MobilePort Manager (Version 1.26) Da wir unter Windows 2000 mit der Siemens Intersil Karte nie eine Verbindung auf unsere Linux Base Stations oder auf den Siemens ISDN Access Point erstellen konnten, erklären wir hier zuerst den Orinoco Manager. Mit diesem haben wir mehr praktische Erfahrung sammeln können. 9.2.1 Orinoco Client Manager Abbildung 9.4 – Orinoco Client Manger Nach dem Start des Managers erscheint das Bild der Abbildung 9.4. Ist das Programm richtig konfiguriert, werden in diesem Fenster schon einige nützliche Informationen dargestellt. Wie das Tool richtig konfiguriert wird, erklären wir weiter unten. Im linken Teil des Fensters sieht man die Stärke des empfangenen Signals. Weiter ist der Status der aktuellen Verbindung ersichtlich. Marco Studer Walter von Arx Seite 36 / 83 Tests PA2 – Wireless LAN AP unter Linux Die einzelnen Werte werden in der folgenden Tabelle kurz erklärt: Feldbezeichnung Connected to network Radio connection Access Point name Channel Encryption Wert linux-wlan Excellent Prism I 11 Off Erklärung ESSID des verbundenen Netzes Verbindungsqualität Name der Base Station Funkkanalnummer Encryption aktiviert Zu Beginn muss das Tool richtig konfiguriert werden, um auf ein bestimmtes Netz zugreifen zu können. Dafür muss ein neues Configuration Profile erstellt werden. Dazu klickt man den Menupunkt Actions an. Dort wird der Punkt Add/Edit Configuration Profile gewählt. Abbildung 9.5 – Configuration Profil Wie aus Abbildung 9.5 ersichtlich ist, sind hier bereits drei Profile definiert. Um mit einer von uns erstellten Base Stations eine Verbindung aufzubauen, erstellt man das Profil mit dem Name WLAN. Da unsere Base Stations im Infrastructure Mode arbeiten, muss hier „Access Point“ als Betriebsart des Wireless LAN gewählt werden. Jetzt muss noch der Namen, also die ESSID, des Netzes eingeben werden. Dazu klickt man auf den Button Edit Profile. Marco Studer Walter von Arx Seite 37 / 83 Tests PA2 – Wireless LAN AP unter Linux Im nun aufgegangenen Fenster, Abbildung 9.6, kann dieser Wert eingegeben werden. Abbildung 9.6 – Network Name einstellen In unserem Netz hat dieser Parameter den Wert 'linux-wlan'. Jetzt können die zwei offenen Fenster mit [OK] beendet werden, um die neuen Einstellungen zu speichern. Wieder im Hauptfenster Abbildung 9.4, wählt man das eben erstellte Profil aus. Dazu wählt man den Menupunkt Actions. In diesem Menu kann man unter dem Punkt Select Configuration Profile eines der konfigurierten Profile auswählen. In unserem Fall wäre das jetzt das Profil „WLAN“. Jetzt ist die Mobile Station mit einer von uns erstellten Base Station verbunden. Weiter hat dieser Manager drei Funktionen um eine Verbindung anzusehen und deren Qualität zu beurteilen. Diese findet man im Hauptmenu unter dem Punkt Advanced. Als erstes kann hier die Karte getestet werden. Hier wird vor allem kontrolliert, ob der verwendete Treiber zur Hardware passt. Marco Studer Walter von Arx Seite 38 / 83 Tests PA2 – Wireless LAN AP unter Linux Weiter findet man hier den Menupunkt Link Test. Hier werden die empfangenen Signalpegel dargestellt. Es werden die Werte SNR, Signal Level und Noise Level grafisch dargestellt. Abbildung 9.7 – Linktest Monitor Mit diesem Tool kann die Qualität einer Verbindung kontrolliert werden. Das wohl interessanteste Tool ist im Menupunkt 'Site Monitor' zu finden. Hier werden in den verschiedenen Registern Informationen zur aktiven Verbindung dargestellt. Abbildung 9.8 – Register in Site Monitor Tool Marco Studer Walter von Arx Seite 39 / 83 Tests PA2 – Wireless LAN AP unter Linux Zuerst wird der Name des aktiven Netzes gezeigt. Da in Abbildung 9.9 nur eine Base Station empfangen werden kann, wird die Verbindung zwischen zwei APs als gross angenommen, was im oberen Teil des Fensters dargestellt wird. Abbildung 9.9 – Register: Selection Im Register Selection kann zwischen den empfangenen Base Stations gewählt werden. In unserem Beispiel war nur eine in Betrieb. Es werden der Typ des Netzwerkes, die Anzahl der in diesem Netz empfangbaren Access Points und die Kanalnummer angezeigt. Nach dem Drücken des Buttons Scan Now, wird nach neu empfangbaren Base Stations gesucht. Marco Studer Walter von Arx Seite 40 / 83 Tests PA2 – Wireless LAN AP unter Linux Abbildung 9.10 – Register Site Monitor Im Register 'Site Monitor' können folgende Werte angezeigt werden: § § § § § § § § MAC Adresse AP Name SNR (grafische Darstellung in Balkenformat) Signal (grafische Darstellung in Balkenformat) SNR(dB) Signal(dBm) Noise(dBm) Channel Mit diesen Informationen kann sehr gut geprüft werden, mit welcher Base Station man gerade verbunden ist. Hiermit haben wir auch testen können, wie unsere Clients reagieren, wenn wir die aktuell verbundene Base Station entfernen. Dadurch ist klar ersichtlich, wie auf die andere aktive BS umgeschaltet wird. Im Register Log Settings kann eingestellt werden, ob ein LOG File geführt werden soll. Als letztes Register kann AP names gewählt werden. Hier kann einer AP ein Name gegeben werden, dieser Name ist aber nur auf dem PC aktiv, an dem dies eingestellt wird, daher ist dies etwas sinnlos. Marco Studer Walter von Arx Seite 41 / 83 Tests PA2 – Wireless LAN AP unter Linux 9.2.2 Siemens MobilePort Manager Siemens installiert mit den Treibern fünf Konfigurations- und Test-Programme. Diese können alle vom Start-Menu aus gestartet werden. Abbildung 9.11 – Siemens Start-Menu Einträge Wir beschreiben hier nur die Programme, welche wir benutzt haben. Abbildung 9.12 – MobilePort Manager, Configuration Mit dem MobilePort Manager, Abbildung 9.12, wird die Karte auf ein Netz eingestellt. Wir verwendeten die Version 1.26 dieses Tools. Marco Studer Walter von Arx Seite 42 / 83 Tests PA2 – Wireless LAN AP unter Linux Im Register Configuration muss der Modus des Netzes eingestellt werden. In unserem Netz, SSID gleich „linux-wlan“, ist dies „Infrastructure“. Die Übertragungsrate kann auf „Fully Automatic“ gestellt werden. Wenn eine Verbindung aufgebaut wird, stellt sich diese automatisch richtig ein. Weitere Einstellungen sind für unser Netz nicht zu machen. Diese Änderungen müssen durch drücken des Buttons Apply Changes übernommen werden. Wenn die Karte jetzt korrekt arbeitet, dann sieht man im Register Link Info die aktuelle Verbindung. Im Feld State sollte dann Connected stehen. Weiter kann in diesem Programm die Verschlüsselung eingestellt werden. Da wir keine Verschlüsselung verwenden, haben wir hier auch nichts eingestellt. Abbildung 9.13 – Siemens LinkTest Version 1.0 Mit dem Programm LinkTest, Abbildung 9.13, kann ein Link getestet werden. Es wird die SSID und die MAC Adresse des empfangenen Access Points angezeigt. Weiter kann nach einer IP Adresse im Netz gesucht werden. Kann die IP Adresse im Netz gefunden werden, wird die Qualität dieser Verbindung angezeigt. In Zusammenarbeit mit dem MobilePort Manager kann zwischen verschiedenen Access Point umgeschaltet werden. Marco Studer Walter von Arx Seite 43 / 83 Beschreibung IAPP PA2 – Wireless LAN AP unter Linux 10 Beschreibung IAPP 10.1 Allgemeines Beim Inter-Access Point Protocol IAPP handelt es ich um ein Kommunkationsprotokoll zur Kommunikation zwischen Access Points. Das Kommunikationssystem umfasst dabei eine beliebige Anzahl Access Points, Wireless LAN Mobile Stations und einen Registrierungsdienst. Es muss ausserdem an ein Distribution System angeschlossen sein. Sinn und Zweck ist dabei die Verbindung der einzelnen Zellen, kontrolliert durch einen Access Point, zu einem einzigen, für die Mobile Stations transparenten Wireless LAN. Dabei handelt es sich dann um ein Extended Service Set (ESS). Abbildung 10.1 zeigt schematisch die Einordnung des IAPP in die Netzstruktur. Wireless LAN Bereich Distribution System Bereich Registration Service IAPP Distribution System Access Point Access Point IAPP IAPP Übertragung von 802.11 Frames WLAN Mobile Station Abbildung 10.1 – Einsatzgebiet des IAPP Wichtig für die korrekte Funktion ist dabei eine vorhandene Netzstruktur im Bereich des Distribution Systems. Konkret bedeutet dies, dass alle Stationen innerhalb des DS nach einem gültigen Schema adressiert sein müssen, so dass das Routing funktioniert. Beim Inter-Access Point Protocol selbst handelt es sich nicht um ein Routing-Protokoll. Stattdessen nutzt das IAPP die bestehende Netzwerkfunktionalität für das Versenden von Paketen auf dem Distribution System. Marco Studer Walter von Arx Seite 44 / 83 Beschreibung IAPP PA2 – Wireless LAN AP unter Linux Das IAPP an sich unterstützt zuerst einmal folgende Hauptfunktionen: § § Dienste für das Distribution System Mapping der Wireless LAN-Adressen zu Adressen des DS Weiter sollen unter anderem zusätzliche Eigenschaften realisiert werden: § § § § § Entwicklung des IAPP über verschiedene Versionen hinweg Formierung des Distribution Systems Unterhalt des Distribution Systems (Konfiguration) Garantie, dass jede Mobile Station nur bei einem einzigen AP angemeldet ist Remote Konfiguration der Access Points 10.2 Formierung/Unterhalt eines ESS Die Bildung eines Extended Service Set (ESS) aus einzelnen Basic Service Sets (BSS) hat zur Folge, dass ein Registrierungsdienst vorhanden sein muss. Dieser Dienst hat die Aufgabe eine Liste aller Access Points inklusive der Zuordnung ihrer ZellenIdentifikation (BSSID) zur jeweiligen IP-Adresse im Distribution System zu führen. Durch die Bildung eines ESS ist es Stationen möglich sich transparent von BSS zu BSS zu bewegen. Jeder AP, der sich dem bestehenden ESS anschliessen möchte, muss sich mittels IAPP anmelden. Der Zugriff auf den Registrierungsdienst erfolgt per Service Location Protocol (SLP) [24]. Sobald sich also ein neuer AP dem Netz hinzugesellt, sucht dieser den Registrierungsdienst per SLP. Falls es sich dabei um den ersten Access Point im ESS handelt, wird dieser von sich aus den Registrierungsdienst initialisieren. In diesem Fall definiert der AP auch gleich den Service Set Identifier (SSID), welcher die eindeutige Bezeichnung des ESS darstellt. Auf das Thema SLP wird im Folgenden nicht detaillierter eingegangen. Management Stationen haben die Möglichkeit über den Registrierungsdienst Informationen zu den einzelnen APs abzurufen. Im Gegensatz zum Registrierungsservice soll es möglich sein, mit einer solchen Management Station mehr als ein ESS zu kontrollieren. Zum Lokalisieren des Registrierungsservices wird folgender Algorithmus verwendet: 1) Der AP sendet zum Auffinden des Registrierungsdienstes einen SLP-Request. 2) Weiter soll ein DNS-Lookup zum Auffinden des ESS-Registrierungsdienstes abgesetzt werden. 3) Sofern der Registrierungsdienst des ESS verfügbar ist, folgt ein SLP Service Reply mit der Angabe der URL des Dienstes. Darauf können beim Registrierungsdienst SSID, BSSID und die IP-Adresse des AP innerhalb des Distribution Systems angegeben werden. 4) Falls keine Antwort von einem Registrierungsdienst erfolgt ist, soll der Access Point seinen eigenen Dienst errichten und eventuellen anderen APs per SLP zugänglich machen. Marco Studer Walter von Arx Seite 45 / 83 Beschreibung IAPP PA2 – Wireless LAN AP unter Linux Sowohl eine Änderung der IP-Adresse als auch ein Herunterfahren eines Access Points soll dem Registrierungsdienst mitgeteilt werden. Grundsätzlich sollte ein Access Point alle fünf Minuten einen Refresh-Request zur Aktualisierung seines Eintrages an den Registrierungsdienst senden. Bleibt dieser Request für 15 Minuten aus, wird der Eintrag gelöscht. Eine Implementierung eines Registrierungsservices sollte folgende Funktionen unterstützen: § § § § Hinzufügen neuer Einträge, d.h. Mapping der BSSID eines Access Points auf seine IP-Adresse im Distribution System als Folge einer Registrierungsanfrage Erneuerung der bestehenden Einträge als Folge eines Refresh-Requests Entfernen von Einträgen aufgrund einer Deregistrierungsanfrage oder wegen dem Ausbleiben eines Refreshs innerhalb des konfigurierten Intervals Beantworten von Anfragen bezüglich dem Mapping von BSSIDs zu IP-Adressen des Distribution Systems 10.3 IAPP Modi Das Dokument IEEE 802.11-00/214 vom Juli 2000, Quelle [20], beschreibt zwei mögliche Modi für das Inter-Access Point Protokoll. Im vorhandenen Pre-Draft [19] sind diese allerdings nicht mehr aufgeführt, so dass deren weitere Verwendung im Rahmen des IAPP fraglich ist. 10.3.1 MAC-Bridge Modus Beim MAC Bridge Mode handelt es sich um den Mode, welcher auch ohne Konfiguration des Access Points funktionsfähig sein sollte. Sinnvoll ist der Einsatz sofern das Distribution System aus einem einzigen Broadcast-Medium besteht. Eine Portalfunktion, d.h. eine Schnittstelle zwischen Distribution System und z.B. Ethernet, ist in jedem Access Point integriert. Nachteilig ist, dass aufgrund der nicht benötigten IP-Adressierung der Einsatz von IPRoutern innerhalb des DS zum Vorneherein ausgeschlossen wird. Ausserdem kann die in IEEE 802.11 spezifizierte Maximalgrösse eines WLAN-Frames nicht genutzt werden, da eine Anpassung an das Ethernetframe (IEEE 802.3) notwendig ist. Marco Studer Walter von Arx Seite 46 / 83 Beschreibung IAPP PA2 – Wireless LAN AP unter Linux Abbildung 10.2 zeigt den typischen Aufbau eines Wireless LAN betrieben im MAC Bridge Mode. LLC 802.2 assoc integr MAC 802.11 MAC 802.3 MAC 802.11 LLC 802.2 Access Point MAC Bridge station MAC 802.3 LLC 802.2 assoc integr MAC 802.11 MAC 802.3 desktop computer MAC 802.11 802.3 LAN Access Point MAC Bridge station Abbildung 10.2 – Netzstruktur für MAC Bridge Mode 10.3.2 Dynamic Route Resolution Mode Abbildung 10.3 zeigt eine Netzstruktur wie sie für den Dynamic Route Resolution Mode verwendet wird. LLC 802.2 assoc distrib MAC 802.11 UDP/IP MAC 802.11 STA1 LLC 802.2 LLC 802.2 MAC 802.3 AP1 subnet 204.71.200.0 subnet 192.168.122.0 IP Router distrib integr LLC 802.2 MAC 802.3 LLC 802.2 MAC 802.3 UDP/IP MAC 802.3 PORTAL assoc distrib MAC 802.11 subnet 192.168.120.0 UDP/IP MAC 802.11 LLC 802.2 MAC 802.3 IP Router wired LAN desktop computer 1 subnet 204.71.200.0 AP2 STA2 subnet 204.71.200.0 subnet 192.168.121.0 Abbildung 10.3 – Netzstruktur für Dynamic Route Resolution Mode Marco Studer Walter von Arx Seite 47 / 83 Beschreibung IAPP PA2 – Wireless LAN AP unter Linux 802.11 MAC Frames werden in UDP-Pakete eingepackt, um sie vom Access Point zum Portal zu transportieren. Aus diesem Zweck ist es notwendig, dass alle Access Points und das Portal eine Routing Tabelle führen. Benötigt wird hierbei ein Route Resolution Server (RSS). Dessen Funktionalität wird dabei in einem Node des Distribution Systems implementiert, beispielsweise im Portal. Jeder Access Point muss dabei die IP-Adresse des RSS kennen. Wegen der Routing Information- und Routing Response-Meldungen, welche zwischen Access Points und Route Resolution Server hin- und hergesendet werden, kennt der RSS die aktuelle Zelle einer jeden Mobile Station. Anfragen bezüglich Routing beantwortet der Route Resolution Server mit der Angabe der IP-Adresse des betreffenden Access Points oder, falls das Paket Richtung Distribution Server soll, mit der Angabe der IP des Portals. Die nachfolgende Abbildung Abbildung 10.4 zeigt schematisch den Ablauf der Route Resolution, welches für das Versenden eines Pakets von STA1 zu STA2 notwendig ist. Bezogen ist dieses Beispiel auf die in Abbildung 10.3 dargestellte Netzstruktur. STA1 Station 1 powers on near AP1 STA2 AP1 AP2 AssociationRequest Server & Portal RoutingIndication AssociationResponse RoutingResponse Station 2 powers on near AP2 AssociationRequest AssociationResponse RoutingIndication RoutingResponse Station 1 sends a MAC frame to station 2 Data Frame RoutingRequest RoutingResponse Data Frame Data Frame Abbildung 10.4 – Route Resolution Marco Studer Walter von Arx Seite 48 / 83 Beschreibung IAPP PA2 – Wireless LAN AP unter Linux Sobald eine Mobile Station die Zelle wechselt, d.h. sich bei einem neuen Access Point anmeldet, muss der neue AP eine Routing Indication-Meldung an den Route Resolution Server senden. Dieser verschickt dann per Multicast die Meldung an alle Access Point. Als Folge schicken die APs dann eine Bestätigung an den RSS zurück. Damit wird sichergestellt, dass der alte AP die Änderung zur Kenntnis genommen und den Eintrag der Mobile Station gelöscht hat. Dies ist notwendig, da eine Mobile Station jederzeit bei maximal einer Base Station angemeldet sein darf. Abbildung 10.5 zeigt den vollständigen Ablauf des Route Update. STA2 Station 2 moves from AP2 to AP3 AP1 AP2 AP3 ReAssociationRequest ReAssociationResponse Server & Portal RoutingIndication RoutingResponse RoutingIndication (multicast) RoutingResponse Abbildung 10.5 – Route Update 10.4 IAPP Service Primitiven Der vorliegende Pre-Draft beschreibt eine Reihe von Funktionen, welche das IAPP bereitstellen muss. Diese werden nun einzeln beschrieben. Die Funktionen erfordern teilweise das Versenden von Paketen. Diejenigen Pakete, die IAPP-spezifisch sind, werden im nachfolgenden Kapitel 10.5 beschrieben. 10.4.1 IAPP-INITIATE.request Diese Funktion veranlasst einerseits die Initialisierung der IAPP Datenstrukturen, der Funktionen und des Protokolls, andererseits die Registrierung des Access Points beim Distribution System. IAPP-INITIATE.request { SSID; // BSSID; // Registration Service} // // // Marco Studer Walter von Arx Name des ESS, bei dem sich AP anmeldet MAC-Adresse des 802.11 Interface des AP URL des Servers, welcher für Registrationen innerhalb des ESS zuständig ist Seite 49 / 83 Beschreibung IAPP PA2 – Wireless LAN AP unter Linux Verwendet wird diese Funktion von einer externen Management Station sobald ein AP neu initialisiert werden soll. Alle Informationen in den Access Points eigenen Datenstrukturen gehen dabei verloren. In der Folge findet der AP selbständig den Registrierungsdienst des Distribution Systems. Dabei findet ein Service Location Protocol (SLP) Registrierungs-Handshake statt. Das Verfahren wird in RFC 2608 [24] beschrieben. 10.4.2 IAPP-INITIATE.confirm Mit dieser Service Primitive wird der externen Management Station mitgeteilt, dass die durch IAPP-INITIATE.request ausgelöste Aktion abgeschlossen worden ist. IAPP-INITIATE.confirm { Status} // Ergebnis der Funktion IAPP-INITIATE.request Folgende Werte können dabei als Status übermittelt werden: § § § § § § SUCCESSFUL REGISTRATION_SERVICE_NOT_FOUND ESS_NOT_FOUND MAC_ADDRESS_IN_USE UNKNOWN_ERROR TIMEOUT Ausgeführt wird diese Funktion sobald der SLP Registrierungs-Handshake abgeschlossen ist. Der Empfänger der Meldung muss den übergebenen Statuswert überprüfen und dementsprechend reagieren. Die Aktionen, welche die einzelnen Statuswerte nach sich ziehen, sind im Rahmen des Pre-Drafts nicht näher beschrieben. 10.4.3 IAPP-TERMINATE.request Diese Funktion veranlasst das IAPP seine Funktionen zu deaktivieren. Dazu melden sich der angesprochene Access Point vom Distribution System ab. IAPP-TERMINATE.request { Registration Service} // URL des Servers, welcher für // Registrationen innerhalb des ESS zuständig // ist Nach Erhalt von IAPP-TERMINATE.request kappt der AP die Verbindung zu allen angemeldeten Stationen und meldet sich mittels SLP Registrierung-Handshake vom Distribution System ab, d.h. er quittiert seine IAPP-Dienste. Marco Studer Walter von Arx Seite 50 / 83 Beschreibung IAPP PA2 – Wireless LAN AP unter Linux 10.4.4 IAPP-TERMINATE.confirm Hierbei handelt es sich um die Bestätigung, dass die von IAPP-TERMINATE.request ausgelöste Aktion abgeschlossen worden ist. IAPP-TERMINATE.confirm { (?) Status} // Ergebnis der Funktion IAPP-TERMINATE.request Einerseits sind im vorliegenden Pre-Draft [19] keine Parameter für diese Funktion spezifiziert. Andererseits wird geschrieben, dass eine externe Management Station als Empfänger der Nachricht den Statuswert überprüfen und entsprechend reagieren soll. Höchstwahrscheinlich ist die Angabe des Statuswerts beim Verfassen des Pre-Drafts vergessen worden. 10.4.5 IAPP-ADD.request IAPP-ADD.request wird verwendet, sobald eine Mobile Station die Zuweisung zu einem Access Point verlangt. Als Folge davon wird eine Meldung auf das Distribution System gegeben, welche dessen Bridge Forwarding Tabellen aktualisieren soll. IAPP-ADD.request { MAC-Adresse; Sequenznummer} // MAC-Adresse der Mobile Station // Von der Mobile Station übermittelte Nummer Eventuell sollte zusätzlich die für die Station gültige Pfad-Identifikation verwendet werden. Dies ist der Fall, sofern diese vom MLME unterstützt wird. Zweck von MLME ist das Mapping von MAC SAP Services zu Services, welche vom IAPP benötigt werden. Die einzelnen Funktionen sind kurz in [21] beschrieben, wir sind aber nicht weiter auf dieses Thema eingegangen. Nach Erhalt dieser Meldung wird einerseits wie bereits erwähnt ein Paket zur Aktualisierung der Bridge Forwarding Tabellen auf das Distribution System gegeben. Dabei handelt es sich um ein IAPP ADD-notify Paket, dessen Format im Kapitel 10.5 genauer beschrieben wird. Andererseits muss auch das gesamte DS über die Zuweisung der Mobile Station zum Access Point in Kenntnis gesetzt werden. Marco Studer Walter von Arx Seite 51 / 83 Beschreibung IAPP PA2 – Wireless LAN AP unter Linux 10.4.6 IAPP-ADD.confirm Hierbei handelt es ich um die Bestätigung einer IAPP-ADD.request Meldung. IAPP-ADD.confirm { Status} // Ergebnis der Funktion IAPP-ADD.request Der Statuswert soll wiederum von einer externen Management Station überprüft und darauf reagiert werden. Abgesehen von SUCCESSFUL sind jedoch keine weiteren Statuswerte angegeben. Als Folge dieser Nachricht sollen nun alle an die Mobile Station adressierten Pakete an den entsprechenden Access Point gesendet werden. 10.4.7 IAPP-ADD.indication Diese Funktion wird verwendet, um einer externen Management Einheit mitzuteilen, dass eine Zuweisung zwischen Mobile Station und Access Point erfolgt ist. IAPP-ADD.indication { MAC-Adresse} // MAC-Adresse der Mobile Station Ausgeführt wird diese Funktion nach dem Empfang eines IAPP ADD-notify Paketes (Kapitel 10.5). Der AP, welcher diese Meldung empfängt, sollte die Zuweisung von Mobile Station zu Access Point selbst nochmals überprüfen. 10.4.8 IAPP-REMOVE.request Verwendung findet diese Service Primitive sobald sich eine Mobile Station von einem Access Point abmeldet. Der Autor des Pre-Drafts ist nicht schlüssig, ob diese Funktion im Rahmen des IAPP notwendig ist. Eventuell kann diese Aufgabe vom AP ohne Hinzuziehen des IAPP erledigt werden. IAPP-REMOVE.request { MAC-Adresse} // MAC-Adresse der Mobile Station Als Folge sollte das DS davon in Kenntnis gesetzt werden, dass die Assoziation zwischen Mobile Station und AP nicht mehr gültig ist. Marco Studer Walter von Arx Seite 52 / 83 Beschreibung IAPP PA2 – Wireless LAN AP unter Linux 10.4.9 IAPP-REMOVE.confirm Diese Service Primitive wird benötigt, um die Beendung der Aktion, ausgelöst durch IAPP-REMOVE.request, zu signalisieren. Der Pre-Draft macht keine Aussage über deren Semantik. Die Funktion ist nur notwendig, falls IAPP-REMOVE.request wirklich benötigt wird. Als Folge sollten Frames, welche für die betreffende Mobile Station bestimmt sind, nicht mehr weitergeleitet werden. 10.4.10 IAPP-REMOVE.indication Damit wird anderen Access Points angezeigt, dass die IAPP-REMOVE-Operationen erfolgreich durchgeführt worden ist. Die Funktion ist nur notwendig, falls IAPPREMOVE.request wirklich benötigt wird. Weitere Angaben sind im Pre-Draft nicht zu finden. 10.4.11 IAPP-MOVE.request Durchlaufen wird diese Prozedur falls eine Mobile Station die Zelle wechselt, d.h. sich bei einem neuen AP anmeldet. Als Folge davon wird ein Frame an das Distribution System gesendet, welches die Aktualisierung der Bridge Forwarding Tabellen veranlasst. IAPP-MOVE.request { MAC-Adresse; Sequenznummer; Alter AP} // // // // MAC-Adresse der Mobile Station Wert von neuem AP zu finden im Reassociation Request Frame MAC-Adresse des vorgängig assoziierten APs Nach Erhalt einer solchen Meldung müssen mehrere Aktionen ausgelöst werden. Zuerst müssen, wie schon erwähnt, alle Bridge Forwarding Tabellen im Distribution System ein Update erhalten. Weiter sollte dem DS die neue Assoziation zwischen Mobile Station und neuem Access Point mitgeteilt werden. Ausserdem muss der neue AP alle Statusinformationen bezüglich Mobile Station vom alten AP abrufen. Dies geschieht durch das Versenden eines IAPP MOVE-notify Paketes an den alten AP, beschrieben in Kapitel 10.5. Dies macht eventuell einen Request an den Registrierungs-Dienst notwendig. Marco Studer Walter von Arx Seite 53 / 83 Beschreibung IAPP PA2 – Wireless LAN AP unter Linux 10.4.12 IAPP-MOVE.confirm Hierbei handelt es sich um eine Bestätigung von IAPP-MOVE.request. IAPP-MOVE.confirm { MAC-Adresse; Context Blob; Status} // // // // MAC-Adresse der Mobile Station Mobile Station Context übermittelt vom alten AP Resultat von IAPP-MOVE.request Falls der Statuswert = SUCCESSFUL ist, werden Informationen übermittelt, andernfalls ist der Context Blob = null. Neben SUCCESSFUL sind als gültige Statuswerte noch folgende Werte vorgesehen: § § § OLD_AP_NOT_VALID MAC_ADDRESS_EQUAL_TO_OLD_AP TIMEOUT Angezeigt wird hier die Vollendung der Aktion aufgrund IAPP-MOVE.request. Zur Folge hat dies, dass das Forwarding der Frames zum richtigen AP bewerkstelligt wird, sofern der Statuswert = SUCCESSFUL ist. 10.4.13 IAPP-MOVE.indication Dadurch wird angezeigt, dass eine Mobile Station sich bei einem anderen AP angemeldet hat. IAPP-MOVE.indication { MAC-Adresse; // MAC-Adresse der Mobile Station AP Adresse} // AP, der IAPP MOVE-notify Paket geschickt hat Ausgeführt wird diese Service Primitive als Folge eines erhaltenen IAPP MOVE-notify Paketes. Dadurch leitet der zuvor mit der Mobile Station assoziierte Access Point alle seine Informationen an den neu assoziierten AP weiter. Dies geschieht mittels der IAPP-MOVE.response Funktion. Marco Studer Walter von Arx Seite 54 / 83 Beschreibung IAPP PA2 – Wireless LAN AP unter Linux 10.4.14 IAPP-MOVE.response Benötigt wird diese Funktion zur Übermittlung von spezifischen Daten über eine Mobile Station vom alten zum neuen Access Points im Falle eines Handovers. IAPP-MOVE.response { MAC-Adresse; // MAC-Adresse der Mobile Station AP Adresse; // Adresse des AP, bei dem Mobile Station // angemeldet Context Blob} // Mobile Station Context übermittelt // vom alten AP Auslöser ist hierbei die Service Primitive IAPP-MOVE.indication. Alle Informationen werden dabei mit Paketen vom Format IAPP MOVE-response versendet. Dieses Paketformat wird im Rahmen von Kapitel 10.5 kurz beschrieben. 10.4.15 IAPP-Config-READ.request Mit dieser Funktion ist es möglich, Informationen bezüglich der allgemeinen Konfiguration des Netzes abzufragen oder konfigurierbare Parameter des Netzes zu übermitteln. Beispielsweise kann damit die aktuelle BSSID ermittelt werden. Genauere Informationen sind im vorliegenden Pre-Draft nicht zu finden. 10.4.16 IAPP-Config-READ.confirm Der Zweck dieser Funktion ist die Bestätigung des Erhalts der angeforderten Informationen. Dabei soll ein Statuswert eine Aussage über die Güte der erhaltenen Daten machen und dieser auch ausgewertet werden. Genauere Informationen sind im vorliegenden Pre-Draft nicht zu finden. Marco Studer Walter von Arx Seite 55 / 83 Beschreibung IAPP PA2 – Wireless LAN AP unter Linux 10.5 IAPP Messages Gemäss dem Pre-Draft vom März 2001 [19] sind vier verschiedene Paketformate beschrieben. Dabei handelt es sich zuerst einmal um die Beschreibung eines allgemeinen IAPP-Pakets. Die anderen drei Paket-Formate beschreiben das Datenfeld des allgemeinen IAPP-Pakets für verschiedene Arten von Meldungen. Der ganze Abschnitt des Pre-Drafts scheint alles andere als vollendet zu sein. So sind zum einen nur ein Bruchteil der geforderten Meldungen beschrieben, zum anderen fehlen teilweise Längenangaben zu den einzelnen beschriebenen Feldern. 10.5.1 Allgemeines IAPP Paket-Format IAPP Pakete sollen grundsätzlich per UDP transportiert werden, d.h. bei der folgenden Struktur handelt es sich um das Nutzdaten-Feld einer UDP-Message. Verschickt wird solch ein Paket sobald ein Access Point ein Reassociate Paket einer Mobile Station erhält. IAPP Version 1 Byte Command 1 Byte Daten 0 – n Bytes Abbildung 10.6 – Format einer IAPP-Meldung Das Versionsfeld kennzeichnet die verwendete Version des IAPP. Demzufolge beschreibt dieses Feld die Struktur des restlichen Paketes. Das Command-Feld kann bisher folgende definierte Werte enthalten: Wert 0 1 2 3 – 255 Bedeutung (Meldung) ADD-Notify MOVE-Notify MOVE-Response Reserviert Der Inhalt des Datenfeldes ist je nach Art der Meldung unterschiedlich und wird im Folgenden genauer beschrieben. Marco Studer Walter von Arx Seite 56 / 83 Beschreibung IAPP PA2 – Wireless LAN AP unter Linux 10.5.2 ADD-Notify Paket Diese Meldung wird von einem Access Point auf dem Distribution System verschickt, sobald sich eine Mobile Station bei ihm angemeldet hat. Ziel dabei ist es, alle anderen Access Points im ESS zu informieren, worauf diese ihre Routing Tabellen aktualisieren können. Verwendet wird dabei die MAC-Adresse des Mobile Clients, so dass auch Layer 2 Geräte wie Bridges ihre Tabellen auffrischen können. Um auch in einem geswitchten LAN alle Hosts eines Subnetztes zu erreichen wird die Meldung per Broadcast mit der Sourceadresse 0.0.0.0 versendet. Adresslänge Pad MAC-Adresse Sequenz-Nummer Abbildung 10.7 – Format einer ADD-Notify Meldung Die einzelnen Felder haben dabei folgende Bedeutung: Feld Adresslänge Pad MAC-Adresse Sequenz-Nummer Bedeutung 8 Bit; Anzahl Oktette der MAC-Adresse Reserviert; vorerst = 0 MAC-Adresse der assoziierten Mobile Station Wert im Bereich 0 – 4095 10.5.3 MOVE-Notify Paket Versendet wird dieses Paket vom neu assoziierten Access Point einer Mobile Station. Damit wird dem vorher assoziierten Access Point mitgeteilt, dass die Mobile Station nicht mehr seiner Zelle zugeodnet ist. Adresslänge Pad MAC-Adresse Sequenz-Nummer Abbildung 10.8 – Format einer MOVE-Notify Meldung Die Bedeutungen der einzelnen Felder ist analog zu der ADD-Notify Message. Marco Studer Walter von Arx Seite 57 / 83 Beschreibung IAPP PA2 – Wireless LAN AP unter Linux 10.5.4 MOVE-Response Paket Diese Meldung wird als Antwort auf die MOVE-Notify Meldung verschickt. Gesendet wird es vom Empfänger der MOVE-Notify Meldung direkt zu deren Sender. Adresslänge Pad MAC-Adresse Länge des Context Blob Context Blob Abbildung 10.9 – Format einer MOVE-Response Meldung Folgende Tabelle gibt Aufschluss über die einzelnen Felder. Feld Adresslänge Pad MAC-Adresse Länge d. Context Blob Context Blob Bedeutung 8 Bit; Anzahl Oktette der MAC-Adresse Reserviert; vorerst = 0 MAC-Adresse der assoziierten Mobile Station 16 Bit; Anzahl Oktette im Context Blob Struktur gemäss nachfolgender Beschreibung Beim Context Blob Feld handelt es sich um eine beliebige Anzahl von Informationsstrukturen nach Abbildung 10.10. Element Identifier Länge Information Abbildung 10.10 – Informationsstruktur Der Element Identifier bezeichnet eindeutig die übermittelte Information. Spezifiziert werden diese vom IEEE Registration Service, wobei im Pre-Draft keine näheren Angaben darüber gemacht werden. Die Länge des Feldes beträgt 2 Byte. Das Längenfeld beschreibt die Länge des Informationsfeldes und ist seinerseits 2 Byte lang. Der Inhalt des Informationsfeldes ist nicht weiter beschrieben. Es wird sich dabei aber höchstwahrscheinlich um eine Beschreibung zum Element Identifier handeln. Marco Studer Walter von Arx Seite 58 / 83 Ausblick über weiteres Vorgehen PA2 – Wireless LAN AP unter Linux 11 Ausblick über weiteres Vorgehen Um diese Arbeit sinnvoll weiterführen zu können, muss davon ausgegangen werden, dass die benötigte Hardware einwandfrei arbeitet. Im Idealfall sollte das Netz schon zu Beginn der Arbeit korrekt aufgebaut sein. Dadurch müssten sich die Mitglieder des Projektteams nicht mit Hardware-Problemen herumschlagen. Eine weiterführende Arbeit müsste zum Ziel haben das IAPP Protokoll komplett zu implementieren. Dazu müsste zuerst untersucht werden, wie weit die Implementationen dieses Protokolls vorangeschritten sind. Da zum jetzigen Zeitpunkt keine solchen gefunden werden konnten, muss davon ausgegangen werden, dass die Arbeit eine komplette Implementation beinhalten sollte, was sicher die gesamte Zeit einer Projektarbeit benötigt. Weiter schlagen wir vor, bei einer weiterführenden Arbeit nicht mit den Xircom Ethernet Karten zu arbeiten, da wir mit den 3COM Karten keine solchen Probleme feststellten. Wir konnten diese Karten jedoch nicht austesten, da wir sie nur für kurze Zeit zur Verfügung hatten. Weiter sollte bei Verwendung von Microsoft Windows nicht mit Windows 2000 gearbeitet werden, ausser Siemens stellt neue Treiber für ihre Karten zur Verfügung. Wir empfehlen hier die Nutzung von Windows 98. Die Access Points sollten als weitere Verbesserung nicht in einem Laptop aufgesetzt werden. Es wäre sicher besser diese in einem Desktop Computer zu installieren. Mit den richtigen PC Kartenadapter ist dies sicher relativ schnell möglich. Dieser Aufbau würde auch eher die reale Situation eines WLANs simulieren. Marco Studer Walter von Arx Seite 59 / 83 Schlusswort PA2 – Wireless LAN AP unter Linux 12 Schlusswort Unsere Projektarbeit Wireless LAN Basisstation unter Linux ist eine Weiterführung zweier Projektarbeiten. Als erstes baut sie auf die PA "Wireless LAN basierend auf Cellular IP" und zum zweiten auf die Arbeit "Implementation eines IEEE 802.11b Sniffers" auf. Laut Aufgabenstellung sollten diese beiden Arbeiten gezeigt haben, dass die Treiber unter Linux recht problemlos in Betrieb zu nehmen sind. Dies bestätigte sich für die Karte von Orinoco. Leider müssen wir hier schreiben, dass die Intersil Karte von Siemens nicht so einfach zum Arbeiten zu überreden ist. Die Installation als Base Station ist uns dank der Hilfe von Herrn D. Anklin recht schnell geglückt. Ein weiteres Problem mit den Siemens Karten war, dass wir die für diese Arbeit geplanten Siemens Lucent Karten, erst in der vierten Projektwoche zu Gesicht bekamen. Diese wurden in einer abendlichen Aktion von Herrn Steffen über ominöse Wege via Bahnhof Zürich Altstetten zu Marco Studer nach Hause überbracht. Doch leider konnten wir trotz dieses Einsatzes noch nicht mit diesen Karten arbeiten. Denn erst einige Tage später teilte uns die Firma Siemens Schweiz AG mit, dass wir die zum Aufsetzten einer Base Station benötigte Firmware überhaupt nicht erhalten, da wir keine Siemens-Mitarbeiter sind. An dieser Stelle müssen wir ganz klare Kritik an die Verantwortlichen richten, welche für die Besorgung dieser Karten zuständig waren. Wir sind der Meinung, diese Karten und die benötigte Software hätten schon zum Zeitpunkt des Projektstarts zur Verfügung stehen sollen. Da wir, dank Herrn Müller, in der zweitletzten Woche die restlichen Probleme beseitigen konnten, wäre diese Projektarbeit jetzt soweit, gestartet zu werden. Wir sind der Meinung, dass die notwendigen Informationen zum Implementieren des IAPP Protokolls vorhanden sind. Schon implementierte Versionen dieses Protokolls konnten wir jedoch nicht auffinden. Eine weiterführende Arbeit müsste demzufolge diese Implementation enthalten. Diese Projektarbeit hatte aber nicht nur Schlechtes an sich. So lernten wir viel im Umgang mit Linux, was auch zu unseren Erwartungen dieser PA gehörte. Auch lernten wir die Welt des Wireless LAN kennen. Wir sahen, dass diese ganze Sache noch nicht ganz ausgereift ist und sicher in Zukunft noch einige Verbesserungen durchlaufen muss. Wir danken hier auch unseren beiden Betreuern Herrn A. Steffen und Herrn T. Müller für ihre tatkräftige Unterstützung. Sie gingen sogar soweit uns mit Pizzas zu bestechen, um einen extra Einsatz an diesem Projekt zu forcieren. Alles im allem bot uns diese Projektarbeit eine strenge aber auch interessante und lehrreiche Zeit. Winterthur, 5. Juli 2001 Marco Studer Walter von Arx ............................ ............................ Marco Studer Walter von Arx Seite 60 / 83 Anhang PA2 – Wireless LAN AP unter Linux 13 Anhang 13.1 Glossar Begriff Ad-hoc AP BSS CSMA/CA Erklärung Modus für WLAN-Betrieb ohne Access Point Access Point (=Basisstation) Basic Service Set; WLAN-Zelle kontrolliert von einem Access Point Carrier Sense Multiple Access with Collision Avoidance; Zugriffsverfahren für IEEE 802.11 WLAN DS Distribution System; Backbone zur Venetzung der einzelnen APs ESS Extended Service Set; WLAN bestehend aus mehreren vernetzten BSS Handover Wechsel der Zuordnung einer Station von einem AP zu einem anderen IAPP Inter Access Point Protocol; Protokoll zur Kommunikation zwischen APs Infrastructure Modus für WLAN-Betrieb mit Access Point MAC Medium Access; unterster Layer im OSI-Modell, eindeutige Adressierung durch Hardwarekennung der einzelnen Netzwerkkarten Portal Gateway für Umsetzung eines WLAN- auf einen Ethernet-Bereich Registration Dienst zur Erfassung der WLAN- und Distribution System-Adressen Service aller APs und Beantwortung diesbezüglicher Anfragen; benötigt von IAPP Roaming Vorgang der freien Bewegung inklusive Wechsel der WLAN-Zelle einer Mobile Station innerhalb eines ESS RSS Route Resolution Server; kennt alle MAC-Adressen des WLANs und deren aktuelle Zuordnung zu einem BSS SLP Service Location Protocol (RFC 2608); Protokoll zur Auflösung der Adresse eines bestimmten Services SSID Service Set Identifier; eindeutige ID des BSS/ESS STA (Mobile) Station WEP Wired Equivalent Privacy; Methode zur Authentisierung WLAN Wireless LAN Marco Studer Walter von Arx Seite 61 / 83 Anhang PA2 – Wireless LAN AP unter Linux 13.2 Zeitplan Da wir immer wieder auf neue Probleme stiessen, mussten wir unseren Zeitplan während der gesamten PA fortlaufend anpassen. Die unvorhergesehenen Probleme mit den Ethernetkarten sorgten für einen Stillstand im Voranschreiten unserer Arbeit. Ein Ansatz dieses Problem zu lösen, die Installation verschiedener PCMCIA Versionen, verbrauchte eine weitere Woche. Schlussendlich ist aus dem Zeitplan ersichtlich, dass in der zweitletzten Woche der Arbeit das Problem mit den Ethernetkarten gelöst werden konnte. Zeitplan - PA Wireless LAN unter Linux Ausgabe Projektarbeit Abgabe Woche 21 Woche 22 Woche 23 Woche 24 Mo Di Mi Do Fr Mo Di Mi Do Fr Mo Di Mi Do Fr Mo Di Mi Do Fr ■ Studium PA-Dokus Studium WLAN Installation PCs (Linux/Windows 2000) Aufsetzen Mobile Station (Orinoco) Aufsetzen Mobile Station (Intersil) Aufsetzen Base Station (Intersil) Inbetriebnahme Ethernet Test verschiedener PCMCIA Versionen Studium IAPP Erstellen Dokumentation Zeitplan - PA Wireless LAN unter Linux Woche 25 Woche 26 Woche 27 Mo Di Mi Do Fr Mo Di Mi Do Fr Mo Di Mi Do Fr Ausgabe Projektarbeit Abgabe ■ Studium PA-Dokus Studium WLAN Installation PCs (Linux/Windows 2000) Aufsetzen Mobile Station (Orinoco) Aufsetzen Mobile Station (Intersil) Aufsetzen Base Station (Intersil) Inbetriebnahme Ethernet Test verschiedener PCMCIA Versionen Studium IAPP Erstellen Dokumentation Abbildung 13.1 – Zeitplan der PA Marco Studer Walter von Arx Seite 62 / 83 Anhang PA2 – Wireless LAN AP unter Linux 13.3 Arbeitsteilung Wir konnten nicht, wie in einem reinen Softwareprojekt gut möglich, eine wirkliche Aufgabenteilung vornehmen. Wir haben uns beide individuell in die zu bearbeitende Materie eingearbeitet. Beim Studium der Unterlagen zu den einzelnen Karten konnten wir eine kleine Teilung vornehmen. Dabei konzentrierte sich M. Studer mehr auf die Siemens Intersil Karten und W. von Arx auf die Orinoco Lucent Karten. Bei der Installation dieser Karten arbeiteten wir aber wieder zusammen. Stellte sich uns ein Problem in den Weg, so versuchten wir dieses immer gemeinsam zu lösen. Bei der Erstellung der Dokumentation teilten wir die einzelnen Kapitel untereinander auf. Marco Studer Walter von Arx Seite 63 / 83 Anhang PA2 – Wireless LAN AP unter Linux 13.4 Verwendetes Material Das ZHW stellte uns folgende Hardware für unser Projekt zur Verfügung: Menge 4 2 3 1 2 2 1 4 1 Bezeichnung Notebook PC WLAN-Karte WLAN-Karte WLAN-Karte WLAN-Karte WLAN AP Netzwerkkarten Switch Marco Studer Walter von Arx Marke Toshiba Siemens Intersil D-LINK Lucent Orinoco Siemens Lucent Siemens Xircom CentreCom Modell Satellite S2650XDVD/6.0 Pentium III / 450 MHz I-GATE 11M Air DWL-650 128RC4 Gold, World PCMCIA Card I-GATE 11M I-GATE 11M ISDN AP CreditCard Ethernet 10/100-Ready 8126XL 10 Base-T/100 Base-TX, Fast Ethernet Switch Seite 64 / 83 Anhang PA2 – Wireless LAN AP unter Linux 13.5 Quellenangabe 13.5.1 Websites [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Wireless LAN resources for Linux http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/ Linux Wireless LAN Howto http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/#howto AbsoluteValue Systems – Linux Wlan Project http://www.linux-wlan.com/linux-wlan/index.html ORiNOCO Home (Support & Documentation) http://www.orinocowireless.com/ Wireless Tools http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html Linux PCMCIA Card Services Project http://sourceforge.net/projects/pcmcia-cs Linux WLAN Project – FAQ http://linux.grmbl.be/wlan/ Download Programm für Base Station Firmware http://www.handhelds.org/cgi-bin/viewcvs.cgi/linux/wlan-ng/src/prism2 /download/?only_with_tag=MAIN Wireless Howto http://www.linuxdoc.org/HOWTO/Wireless-HOWTO.html Siemens I-Gate http://www.siemens.ch/icw/produkte/prod_igate.htm IEEE Standards Association Home Page http://standards.ieee.org/ D-Link TechSupport http://support.dlink.com/download 13.5.2 Foren und Mailinglisten [13] [14] Forum zum Thema Wireless Adapters http://sourceforge.net/forum/forum.php?forum_id=33428 Linux-WLAN Devel Mailinglist http://archives.neohapsis.com/archives/dev/linux-wlan/ Marco Studer Walter von Arx Seite 65 / 83 Anhang PA2 – Wireless LAN AP unter Linux 13.5.3 Bücher, Normen, Dokumentationen [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] Dokumentation PA „Wireless LAN basierend auf Cellular IP“ Begleit-CD: Verzeichnis \Quellen\PA-Dokus\WLAN auf Cellular IP Dokumentation PA „802.11 Paket Sniffer“ Begleit-CD: Verzeichnis \Quellen\PA-Dokus\802.11 Paket Sniffer IEEE Standard 802.11-1997 Part 11 – Wireless LAN MAC and PHYspecifications The Institute of Electrical and Electronics Engineers, Inc. 345 East 47th Street, New York, NY 10017-2394, USA ISBN 1-55937-935-9 IEEE 802.11 Tutorial Begleit-CD: Verzeichnis \Quellen\802.11 WLAN\ IEEE 802.11f IAPP Pre-Draft Begleit-CD: Verzeichnis \Quellen\Iapp\Predraft IEE 802.11f Centralized Dynamic Route Resolution Protocol over UDP/IP Begleit-CD: Verzeichnis \Quellen\Iapp\Dynamic Route Resolution IEEE 802.11f IAPP Service Mappings Begleit-CD: Verzeichnis \Quellen\Iapp\Service Mappings IEEE 802.11f Inter-Access Point Protocol Enhancements Begleit-CD: Verzeichnis \Quellen\Iapp\IAPP Enhancements Diverse weitere IEEE 802.11f – Dokumente Begleit-CD: Verzeichnis \Quellen\Iapp\Vermischtes Service Location Protocol Version 2, RFC 2608.txt Begleit-CD: Verzeichnis \Quellen\RFCs\Slp Kurzabriss über die AP-Installation unter Linux von D. Anklin (Siemens CH AG) Begleit-CD: Verzeichnis \Quellen\Linux\Installationsanleitung AP Marco Studer Walter von Arx Seite 66 / 83 Anhang PA2 – Wireless LAN AP unter Linux 13.6 Verzeichnisstruktur der beiliegenden CD Abbildung 13.2 – Verzeichnisstruktur der CD Marco Studer Walter von Arx Seite 67 / 83 Anhang PA2 – Wireless LAN AP unter Linux 13.7 Konfigurationsfiles 13.7.1 Auszüge aus der Datei config # PCMCIA Card Configuration Database # # config 1.145 2000/11/07 21:20:05 (David Hinds) # # config.opts and configuration files for add-on drivers (*.conf) # are included at the very end # # Device driver definitions # device "3c589_cs" class "network" module "3c589_cs" device "ibmtr_cs" class "network" module "ibmtr_cs" device "nmclan_cs" class "network" module "nmclan_cs" device "oti12_cs" class "cdrom" module "oti12_cs" device "pcnet_cs" class "network" module "net/8390", "pcnet_cs" device "smc91c92_cs" class "network" module "smc91c92_cs" device "wavelan_cs" class "network" module "wavelan_cs" # NEU FUER UNTERSTUETZUNG DES INTERSIL-TREIBERS device "prism2_cs" class "wvlan-ng" module "prism2_cs" # class "network" module "prism2_cs" device "wvlan_cs" class "network" module "wvlan_cs" device "memory_cs" needs_mtd class "memory" module "memory_cs" device "ftl_cs" needs_mtd class "ftl" module "ftl_cs" device "serial_cs" class "serial" module "serial_cs" device "parport_cs" class "parport" module "parport_cs" device "qlogic_cs" class "scsi" module "qlogic_cs" Marco Studer Walter von Arx Seite 68 / 83 Anhang PA2 – Wireless LAN AP unter Linux device "aha152x_cs" class "scsi" module "aha152x_cs" device "fdomain_cs" class "scsi" module "fdomain_cs" device "ide_cs" class "ide" module "ide_cs" device "fmvj18x_cs" class "network" module "fmvj18x_cs" device "netwave_cs" class "network" module "netwave_cs" device "xirc2ps_cs" class "network" module "xirc2ps_cs" device "3c574_cs" class "network" module "3c574_cs" device "3c575_cb" class "network" module "cb_enabler", "3c575_cb" device "apa1480_cb" class "scsi" module "cb_enabler", "apa1480_cb" device "tulip_cb" class "network" module "cb_enabler", "tulip_cb" device "memory_cb" class "memory" module "cb_enabler", "memory_cb" device "epic_cb" class "network" module "cb_enabler", "epic_cb" device "eepro100_cb" class "network" module "cb_enabler", "eepro100_cb" device "serial_cb" class "serial" module "cb_enabler", "serial_cb" device "ray_cs" class "network" module "ray_cs" device "airo_cs" class "network" module "airo", "airo_cs" device "pcilynx_cb" class "ieee1394" module "cb_enabler", "pcilynx_cb" # # Ethernet adapter definitions # # weggelassen # # Wireless network adapters # card "Aironet PC4500" manfid 0x015f, 0x0005 bind "airo_cs" Marco Studer Walter von Arx Seite 69 / 83 Anhang PA2 – Wireless LAN AP unter Linux card "Aironet PC4800" manfid 0x015f, 0x0007 bind "airo_cs" card "AT&T WaveLAN Adapter" version "AT&T", "WaveLAN/PCMCIA" bind "wavelan_cs" card "Cabletron RoamAbout 802.11 DS" version "Cabletron", "RoamAbout 802.11 DS" bind "wvlan_cs" card "Digital RoamAbout/DS" version "Digital", "RoamAbout/DS" bind "wavelan_cs" card "ELSA AirLancer MC-11" version "ELSA", "AirLancer MC-11" bind "wvlan_cs" card "Lucent Technologies WaveLAN Adapter" version "Lucent Technologies", "WaveLAN/PCMCIA" bind "wavelan_cs" # Wireless Karten fuer unsere Projektarbeit # ### D-Link DWL-650 WLAN-Karte, 11Mbps card "D-Link DWL-650 11Mbps 802.11b WLAN Card" version "D", "Link DWL-650 11Mbps WLAN Card", "Version 01.02" bind "prism2_cs" ### Siemens I-GATE WLAN-Karte, 11 Mbps card "Intersil Siemens I-GATE 11Mb/s" version "INTERSIL", "I-GATE 11M PC Card / PC Card plus", "Version 01.02", "" bind "prism2_cs" ### Siemens I-GATE WLAN-Karte, 11 Mbps card "Intersil Siemens I-GATE 11Mb/s" version "Siemens", "I-GATE 11M PC Card B", "Version 01.01", "" bind "prism2_cs" ### Allgemeine Intersil Prism2-Karten (wird verwendet, falls nicht #auskommentiert) #card "Intersil PRISM2 Reference Design 11Mb/s WLAN Card" # manfid 0x0156, 0x0002 # bind "prism2_cs" ################## card "Lucent Technologies WaveLAN/IEEE Adapter" version "Lucent Technologies", "WaveLAN/IEEE" bind "wvlan_cs" card "MELCO WLI-PCM-L11" version "MELCO", "WLI-PCM-L11" bind "wvlan_cs" card "NCR WaveLAN Adapter" version "NCR", "WaveLAN/PCMCIA" bind "wavelan_cs" Marco Studer Walter von Arx Seite 70 / 83 Anhang PA2 – Wireless LAN AP unter Linux card "NCR WaveLAN/IEEE Adapter" version "NCR", "WaveLAN/IEEE" bind "wvlan_cs" card "RayLink PC Card WLAN Adapter" manfid 0x01a6, 0x0000 bind "ray_cs" card "Xircom CreditCard Netwave" version "Xircom", "CreditCard Netwave" bind "netwave_cs" # # Modems and other serial devices # # NOTE: most modems do not need explicit entries here, because they # are correctly identified using the following generic entry. # # weggelassen # # Memory cards # # weggelassen # # Memory Technology Drivers # # weggelassen # # Token Ring adapters # # weggelassen # # SCSI host adapters # # weggelassen # # IEEE1394/FireWire cards # # weggelassen # # Multifunction cards # # weggelassen # # ATA/IDE fixed disk devices # # weggelassen Marco Studer Walter von Arx Seite 71 / 83 Anhang PA2 – Wireless LAN AP unter Linux # # Non-ATA/IDE CD-ROM's # # weggelassen # # Miscellaneous card definitions # # weggelassen # # CardBus cards # # weggelassen # Include configuration files for add-on drivers # weggelassen # Include local configuration settings #weggelassen Marco Studer Walter von Arx Seite 72 / 83 Anhang PA2 – Wireless LAN AP unter Linux 13.7.2 Datei wlan-ng #! /bin/sh # # etc/pcmcia/wlan-ng # # Copyright (C) 1999 AbsoluteValue Systems, Inc. All Rights Reserved. # -------------------------------------------------------------------# # linux-wlan # # The contents of this file are subject to the Mozilla Public # License Version 1.1 (the "License"); you may not use this file # except in compliance with the License. You may obtain a copy of # the License at http://www.mozilla.org/MPL/ # # Software distributed under the License is distributed on an "AS # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or # implied. See the License for the specific language governing # rights and limitations under the License. # # Alternatively, the contents of this file may be used under the # terms of the GNU Public License version 2 (the "GPL"), in which # case the provisions of the GPL are applicable instead of the # above. If you wish to allow the use of your version of this file # only under the terms of the GPL and not to allow others to use # your version of this file under the MPL, indicate your decision # by deleting the provisions above and replace them with the notice # and other provisions required by the GPL. If you do not delete # the provisions above, a recipient may use your version of this # file under either the MPL or the GPL. # # -------------------------------------------------------------------# # Inquiries regarding the linux-wlan Open Source project can be # made directly to: # # AbsoluteValue Systems Inc. # info@linux-wlan.com # http://www.linux-wlan.com # # -------------------------------------------------------------------# # Portions of the development of this software were funded by # Intersil Corporation as part of PRISM(R) chipset product development. # # -------------------------------------------------------------------# [MSM]: Moved here because wlan/shared may is intended to be used by # other scripts wlan_usage () { echo "usage: wlan-ng [action] [device name] [debug]" echo " actions: start|resume, stop|suspend, check|cksum|restart" echo " debug : enables shell debug" exit 1 } if [ "$3" = "debug" ]; then set -x ; fi Marco Studer Walter von Arx Seite 73 / 83 Anhang PA2 – Wireless LAN AP unter Linux # Note: this 'shared' comes with the WLAN package if [ -f /etc/wlan/shared ]; then . /etc/wlan/shared ; fi # [MSM]: This test supplied by rlazarev, it's commented out due to pcmcia # stab file movement. This test needs to be 'functionized' and made a # little more robust. #if [ ! -f /var/run/stab ] ; then # echo "Error: Possibly PCMCIA CS is not started"; # wlan_usage; # exit 1; #fi # If number of args is less than 2 display usage if [ $# -lt 2 ]; then wlan_usage ; fi # Note: this 'shared' comes with the PCMCIA package # ACTION=$1 and DEVICE=$2 are assigned in pcmcia/shared if [ -f /etc/pcmcia/shared ] ; then . /etc/pcmcia/shared ; fi # Get device attributes get_info $DEVICE HWADDR=`/sbin/ifconfig $DEVICE | sed -n -e 's/.*addr \(.*\)/\1/p'` # Load site-specific settings ADDRESS="$SCHEME,$SOCKET,$INSTANCE,$HWADDR" . $0.opts if [ -x /sbin/wlanctl-ng ] ; then WLANCTL=/sbin/wlanctl-ng ; fi case "$ACTION" in 'start'|'resume') #=======ENABLE======================================== # Do we want to init the card at all? if ! is_true $WLAN_ENABLE ; then exit 0 fi #=======DOWNLOAD====================================== # If the card needs code/data downloaded, do it. if is_true $WLAN_DOWNLOAD; then if ! $WLAN_DOWNLOADER -r $WLAN_DLIMAGE $DEVICE ; then echo Code/Data Download Failed. exit 1 fi fi #=======USER MIB SETTINGS============================= # Set the user specified MIB items. for i in $USER_MIBS ; do result=`$WLANCTL $DEVICE dot11req_mibset "mibattribute=$i"` if [ $? = 0 ] ; then eval $result if [ $resultcode != "success" ] ; then echo "Failed to set user MIB $i." exit 1 fi else echo "Failed to set user MIB $i." exit 1 fi done Marco Studer Walter von Arx Seite 74 / 83 Anhang PA2 – Wireless LAN AP unter Linux #=======WEP=========================================== # Setup privacy result=`$WLANCTL $DEVICE dot11req_mibget mibattribute= dot11PrivacyOptionImplemented` if [ $? = 0 ] ; then eval $result eval $mibattribute else echo "mibget failed." exit 1 fi if [ $dot11PrivacyOptionImplemented = "false" -a \ $dot11PrivacyInvoked = "true" ] ; then echo "Cannot enable privacy, dot11PrivacyOptionImplemented=false." exit 1 fi if [ $dot11PrivacyOptionImplemented = "true" -a \ $dot11PrivacyInvoked = "true" ] ; then $WLANCTL $DEVICE dot11req_mibset \ mibattribute=dot11WEPDefaultKeyID=$dot11WEPDefaultKeyID $WLANCTL $DEVICE dot11req_mibset \ mibattribute=dot11ExcludeUnencrypted=$dot11ExcludeUnencrypted $WLANCTL $DEVICE dot11req_mibset \ mibattribute=dot11PrivacyInvoked=$dot11PrivacyInvoked if [ ${PRIV_GENSTR:-"empty"} != "empty" ] ; then if [ ${PRIV_KEY128:-"false"} = "false" ]; then keys=`$PRIV_GENERATOR $PRIV_GENSTR 5` else keys=`$PRIV_GENERATOR $PRIV_GENSTR 13` fi knum=0 for i in $keys ; do $WLANCTL $DEVICE dot11req_mibset \ mibattribute=dot11WEPDefaultKey$knum=$i knum=$[$knum + 1] done else $WLANCTL $DEVICE dot11req_mibset \ mibattribute=dot11WEPDefaultKey0=$dot11WEPDefaultKey0 $WLANCTL $DEVICE dot11req_mibset \ mibattribute=dot11WEPDefaultKey1=$dot11WEPDefaultKey1 $WLANCTL $DEVICE dot11req_mibset \ mibattribute=dot11WEPDefaultKey2=$dot11WEPDefaultKey2 $WLANCTL $DEVICE dot11req_mibset \ mibattribute=dot11WEPDefaultKey3=$dot11WEPDefaultKey3 fi fi #=======MAC STARTUP========================================= if is_true $IS_AP ; then #=======AP STARTUP================================== startcmd="$WLANCTL $DEVICE dot11req_start " startcmd="$startcmd ssid=$APSSID" startcmd="$startcmd bsstype=infrastructure" startcmd="$startcmd beaconperiod=$APBCNINT" startcmd="$startcmd dtimperiod=$APDTIMINT" startcmd="$startcmd cfpollable=$APCFPOLLABLE" startcmd="$startcmd cfpollreq=$APCFPOLLREQ" startcmd="$startcmd cfpperiod=$APCFPPERIOD" Marco Studer Walter von Arx Seite 75 / 83 Anhang PA2 – Wireless LAN AP unter Linux startcmd="$startcmd cfpmaxduration=$APCFPMAXDURATION" startcmd="$startcmd probedelay=$APPROBEDELAY" startcmd="$startcmd dschannel=$APCHANNEL" j=1 for i in $APBASICRATES ; do startcmd="$startcmd basicrate$j=$i" j=$[j + 1] done j=1 for i in $APOPRATES ; do startcmd="$startcmd operationalrate$j=$i" j=$[j + 1] done results=`$startcmd` # Here's where it runs if [ $? = 0 ]; then eval $results if [ $resultcode != "success" ] ; then echo "AP not started, resultcode=$resultcode" exit 1 else echo "WLAN AP mode started" fi else echo FAILED: $startcmd exit 1 fi WLAN_SCHEMESSID="$APSSID" else #=======STA STARTUP================================== results=`$WLANCTL $DEVICE lnxreq_autojoin \ "ssid=$DesiredSSID" authtype=${AuthType:="opensystem"}` if [ $? = 0 ]; then eval $results if [ ${resultcode:-"failure"} != "success" ]; then echo 'error: Autojoin indicated failure!' exit 1; fi fi WLAN_SCHEMESSID="$DesiredSSID" # ==========PCMCIA NETDEVICE============================= # Append the SSID to the pcmcia scheme name wlan_set_ssid_schemefile "$WLAN_SCHEMESSID" # Call the normal network initialization ./network $1 $2 if [ ! $? ] ; then echo "/etc/pcmcia/network initialization failed." wlan_restore_schemefile exit 1 fi # Restore scheme file to it's prior contents wlan_restore_schemefile fi # # # # # # ==========AP Interface==================================== For AP, interface initialization depends on whether we're routing or bridging. If routing, bring up the interface using the standard pcmcia-cs network script (like a STA). Note that routing APs will require that STAs have their gateway address set to the AP's address. Marco Studer Walter von Arx Seite 76 / 83 Anhang # # # # # PA2 – Wireless LAN AP unter Linux If bridging, do NOT put the wlan MAC in promisc mode. The code here will set up the bridge device and set it up. NOTE: Physically ejecting either card while the bridge is active commonly leaves a system unstable (or locked). Use 'cardctl eject' on the wlan device prior to removal. if is_true $IS_AP ; then if is_true $IS_BRIDGE; then if is_true $IS_OLDBRIDGE; then ifconfig $APWIREDDEVICE promisc ifconfig $DEVICE up brcfg start else ifconfig $APWIREDDEVICE down ifconfig $DEVICE down brctl addbr $APBRIDGEDEVICE brctl addif $APBRIDGEDEVICE $APWIREDDEVICE brctl addif $APBRIDGEDEVICE $DEVICE ifconfig $APWIREDDEVICE up 0.0.0.0 ifconfig $DEVICE up 0.0.0.0 ifconfig $APBRIDGEDEVICE up $AP_IPADDR fi else # Just set up the AP interface like any other net # device. # ==========PCMCIA NETDEVICE============================= # Append the SSID to the pcmcia scheme name wlan_set_ssid_schemefile "$WLAN_SCHEMESSID" # Call the normal network initialization ./network $1 $2 if [ ! $? ] ; then echo "/etc/pcmcia/network initialization failed." wlan_restore_schemefile exit 1 fi # Restore scheme file to it's prior contents wlan_restore_schemefile fi;fi # Zuweisung der Netzwerkparameter ifconfig $wlan_DEVICE $wlan_IPADDR netmask $wlan_NMASK broadcast $wlan_BCAST ifconfig $wlan_DEVICE up ;; 'stop'|'suspend') # ==========AP BRIDGE==================================== if is_true $IS_AP ; then if is_true $IS_BRIDGE; then if is_true $IS_OLDBRIDGE; then brcfg stop ifconfig $APWIREDDEVICE down ifconfig $DEVICE down else ifconfig $APBRIDGEDEVICE down ifconfig $DEVICE down ifconfig $APWIREDDEVICE down brctl delif $APBRIDGEDEVICE $APWIREDDEVICE brctl delif $APBRIDGEDEVICE $DEVICE brctl delbr $APBRIDGEDEVICE fi else Marco Studer Walter von Arx Seite 77 / 83 Anhang PA2 – Wireless LAN AP unter Linux ./network $1 $2 fi else ./network $1 $2 fi ;; 'check'|'cksum'|'restart') # ==========STA ==================================== # Station just passes through for normal network device # behavior. AP does nothing. if ! is_true $IS_AP ; then WLAN_SCHEMESSID="$dot11DesiredSSID" # ==========PCMCIA NETDEVICE============================= # Append the SSID to the pcmcia scheme name wlan_set_ssid_schemefile "$WLAN_SCHEMESSID" # Call the normal network initialization ./network $1 $2 if [ ! $? ] ; then echo "/etc/pcmcia/network initialization failed." wlan_restore_schemefile exit 1 fi # Restore scheme file to it's prior contents wlan_restore_schemefile fi ;; *) usage ;; esac exit 0 Marco Studer Walter von Arx Seite 78 / 83 Anhang PA2 – Wireless LAN AP unter Linux 13.7.3 Datei wlan-ng.conf device "prism2_cs" class "wlan-ng" module "prism2_cs" ################## # Fuer unsere Projektarbeit erweitert ### D-Link DWL-650 WLAN-Karte, 11Mbps card "D-Link DWL-650 11Mbps 802.11b WLAN Card" version "D", "Link DWL-650 11Mbps WLAN Card", "Version 01.02" bind "prism2_cs" ### Siemens I-GATE WLAN-Karte, 11 Mbps card "Intersil Siemens I-GATE 11Mb/s" version "INTERSIL", "I-GATE 11M PC Card / PC Card plus", "Version 01.02", "" bind "prism2_cs" ### Siemens I-GATE WLAN-Karte, 11 Mbps card "Intersil Siemens I-GATE 11Mb/s" version "Siemens", "I-GATE 11M PC Card B", "Version 01.01", "" bind "prism2_cs" ### Allgemeine Intersil Prism2-Karten (wird verwendet, falls nicht #auskommentiert) #card "Intersil PRISM2 Reference Design 11Mb/s WLAN Card" # manfid 0x0156, 0x0002 # bind "prism2_cs" ################## #Standard Eintrag #card "Intersil PRISM2 Reference Design 11Mb/s 802.11b WLAN Card" # version "INTERSIL", "HFA384x/IEEE" # bind "prism2_cs" card "Compaq WL100/200 11Mb/s 802.11b WLAN Card" manfid 0x0138, 0x0002 bind "prism2_cs" card "Samsung SWL2000-N 11Mb/s 802.11b WLAN Card" manfid 0x0250, 0x0002 bind "prism2_cs" card "Z-Com XI300 11Mb/s 802.11b WLAN Card" manfid 0xd601, 0x0002 bind "prism2_cs" card "ZoomAir 4100 11Mb/s 802.11b WLAN Card" version "ZoomAir 11Mbps High", "Rate wireless Networking" bind "prism2_cs" card "Linksys WPC11 11Mbps 802.11b WLAN Card" version "Instant Wireless ", " Network PC CARD", "Version 01.02" bind "prism2_cs" card "Addtron AWP-100 11Mbps 802.11b WLAN Card" version "Addtron", "AWP-100 Wireless PCMCIA", "Version 01.02" bind "prism2_cs" Marco Studer Walter von Arx Seite 79 / 83 Anhang PA2 – Wireless LAN AP unter Linux card "SMC 2632W 11Mbps 802.11b WLAN Card" version "SMC", "SMC2632W", "Version 01.02" bind "prism2_cs" card "BroMax Freeport 11Mbps 802.11b WLAN Card" version "Intersil", "PRISM 2_5 PCMCIA ADAPTER", "ISL37300P", "Eval-RevA" bind "prism2_cs" Marco Studer Walter von Arx Seite 80 / 83 Anhang PA2 – Wireless LAN AP unter Linux 13.7.4 Datei wlan-ng.opts #! /bin/sh # Wireless LAN adapter configuration # # etc/pcmcia/wlan-ng.opts # # Copyright (C) 1999 AbsoluteValue Systems, Inc. All Rights Reserved. # -------------------------------------------------------------------# # linux-wlan # # The contents of this file are subject to the Mozilla Public # License Version 1.1 (the "License"); you may not use this file # except in compliance with the License. You may obtain a copy of # the License at http://www.mozilla.org/MPL/ # # Software distributed under the License is distributed on an "AS # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or # implied. See the License for the specific language governing # rights and limitations under the License. # # Alternatively, the contents of this file may be used under the # terms of the GNU Public License version 2 (the "GPL"), in which # case the provisions of the GPL are applicable instead of the # above. If you wish to allow the use of your version of this file # only under the terms of the GPL and not to allow others to use # your version of this file under the MPL, indicate your decision # by deleting the provisions above and replace them with the notice # and other provisions required by the GPL. If you do not delete # the provisions above, a recipient may use your version of this # file under either the MPL or the GPL. # # -------------------------------------------------------------------# # Inquiries regarding the linux-wlan Open Source project can be # made directly to: # # AbsoluteValue Systems Inc. # info@linux-wlan.com # http://www.linux-wlan.com # # -------------------------------------------------------------------# # Portions of the development of this software were funded by # Intersil Corporation as part of PRISM(R) chipset product development. # # -------------------------------------------------------------------# # The address format is "scheme,socket,instance,hwaddr". # # -------------------------------------------------------------------WLAN_VERSION=0 WLAN_PATCHLEVEL=1 WLAN_SUBLEVEL=8 WLAN_EXTRAVERSION=-pre12 Marco Studer Walter von Arx Seite 81 / 83 Anhang PA2 – Wireless LAN AP unter Linux case "$ADDRESS" in #wlannoenable,*,*,*) # #=======ENABLE======================================== # # Do we want to enable the card at all? Set to 'n' if you # # want the card initialized for normal operation. Helpful # # (re)loading flash or for test purposes. # WLAN_ENABLE=n #;; *,*,*,*) #=======ENABLE======================================== # Do we want to enable the card at all? Set to 'n' if you # want the card initialized for normal operation. Helpful # (re)loading flash or for test purposes. WLAN_ENABLE=y don't for don't for #=======USER MIB SETTINGS============================= # You can add the assignments for various MIB items # of your choosing to this variable, separated by # whitespace. The wlan-ng script will then set each one. # Just uncomment the variable and set the assignments # the way you want them. USER_MIBS="" #Für PA #p2RoamingMode=2" #p2MMTx=true \ #p2MMFixedLevel=2" #=======WEP=========================================== # [Dis/En]able WEP. Settings only matter if PrivacyInvoked is true dot11PrivacyInvoked=false # true|false dot11WEPDefaultKeyID=0 # 0|1|2|3 dot11ExcludeUnencrypted=true # true|false, in AP this means WEP # is required for all STAs # If PRIV_GENSTR is not empty, use PRIV_GENTSTR to generate # keys (just a convenience) PRIV_GENERATOR=/sbin/nwepgen # nwepgen, Neesus compatible PRIV_KEY128=false # keylength to generate PRIV_GENSTR="" # or set them explicitly. dot11WEPDefaultKey0= dot11WEPDefaultKey1= dot11WEPDefaultKey2= dot11WEPDefaultKey3= Set genstr or keys, not both. # format: xx:xx:xx:xx:xx or # xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx # e.g. 01:20:03:40:05 or # 01:02:03:04:05:06:07:08:09:0a:0b:0c:0d #=======STA START===================================== # SSID is all we have for now AuthType="opensystem" # opensystem | sharedkey (requires WEP) DesiredSSID="linux-wlan" # Zuweisung der Netzwerkparameter wlan_DEVICE=wlan0 # wlan_IPADDR=160.85.24.130 # wlan_NMASK=255.255.255.128 # wlan_BCAST=160.85.24.255 # # Karte IP-Adresse der WLAN-Karte Netzmaske Broadcast-Adresse #=======DOWNLOAD====================================== # Do we need to download code/data to the card? WLAN_DOWNLOAD=y ## Firmware wird auf die Karte geladen WLAN_DOWNLOADER=/sbin/prism2dl #Download Programm WLAN_DLIMAGE=/etc/pcmcia/t10003c7.hex #1.Firmware für BaseStation WLAN_DLIMAGE=/etc/pcmcia/t10003c3.hex #2.FW für BS Siemens Intersil Marco Studer Walter von Arx Seite 82 / 83 Anhang PA2 – Wireless LAN AP unter Linux #=======AP START====================================== # If IS_AP is 'y', then the following settings will be # used in the creation of a BSS with this station acting # as the AP. If IS_AP is 'n', these settings are ignored. IS_AP=y ## y|n Es handelt sich um eine BS IS_BRIDGE=n # Are we a bridging AP? IS_OLDBRIDGE=n # Which kernel bridge code are we using? APWIREDDEVICE=eth0 # Must be an ethernet device APBRIDGEDEVICE=wlan0 ## Bridge interface name AP_IPADDR=160.85.24.130 ## Bridge IP address (and only bridge) APSSID="linux-wlan" # SSID the AP will use, max 32 chars APBCNINT=100 # Beacon interval (in Kus) APDTIMINT=3 # DTIM interval (in beacons) APCFPOLLABLE=false # AP's CFP support (see table below) APCFPOLLREQ=false # AP's CFP support (see table below) APCFPPERIOD=3 # CFP period, if CFP enabled(in beacons) APCFPMAXDURATION=100 # CFP max length (in Kus) APPROBEDELAY=100 # Not currently used APCHANNEL=11 # DS channel for BSS (1-14, depends # on regulatory domain) APBASICRATES="2 4" # Rates for mgmt&ctl frames (in 500Kb/s) APOPRATES="2 4 11 22" # Supported rates in BSS (in 500Kb/s) # Table of CFPOLL* values: # CFPOLLABLE CFPOLLREQ AP Behavior #---------------------------------------------------# false false No Point Coordinator (CFP) at AP # false true CFP for delivery only (no polling) # true false CFP delivery and polling # true true Reserved, do not use ;; esac Marco Studer Walter von Arx Seite 83 / 83