[[Vorlage(Überarbeitung, 30.6.2013, WLAN, elektronenblitz63)]] {{{#!vorlage Wissen [:Terminal: Ein Terminal öffnen] [:Pakete_installieren: Installation von Paketen] }}} [[Inhaltsverzeichnis(4)]] [[Bild(wlan_64.png, align=left)]] Wiki WLAN Wireless LAN (Wireless Local Area Network, WLAN, Kabelloses Lokales Netzwerk) bezeichnet ein "drahtloses" lokales Funknetz, wobei meistens ein Standard der [wikipedia:IEEE_802.11:]-Familie gemeint ist. [http://www.bundesnetzagentur.de/SharedDocs/Downloads/DE/Allgemeines/Bundesnetzagentur/Publikationen/service/WLAN.pdf?__blob=publicationFile&v=1 Informationsblatt (pdf)] der Bundesnetzagentur zu WLAN {de}. = WLAN Arten = == Infrastruktur == AP (Acess-Point) oder auch Station Modus === WDS-System === (Wireless Distribution System) === Wireless Bridge === == Ad-Hoc == IBSS (Independent Basic Service Set) Modus == Mesh == oder auch Mesh Modus == Monitor Modus == = Konfiguration = == WLAN Sicherheit == === Rechtliches === === MAC-Adressfilter === === unsichtbare SSID === [wikipedia:Service_Set#SSID_und_ESSID:ESSID] === Verschlüsselung === ==== WPA2-AES ==== [wikipedia:WPA2:] ==== WPA1-TKIP ==== [wikipedia:Wi-Fi_Protected_Access:Wi-Fi Protected Access] ==== WEP ==== [wikipedia:Wired_Equivalent_Privacy:WEP] ==== unverschlüsselt ==== [wikipedia:RADIUS:] [wikipedia:Wireless_Distribution_System‎:WDS] === Zugangskennwort === Der PSK (Pre-Shared-Key) ist ein Schlüssel, der einmalig manuell zwischen den beteiligten Geräten ausgetauscht ("shared") werden muss. Ein guter Schlüsselgenerator ist das Programm `pwgen` (benötigt das Paket '''pwgen''' [2]). Mit dem Konsolenbefehl [1] erhält man einen geeigneten Schlüssel. {{{#!vorlage Befehl pwgen -c -n -s 63 1 }}} Dieser Schlüssel muss auf dem WPA(2)-PSK-fähigen ''Access-Point'' (typischerweise der Router im Heimnetz) eingestellt werden und außerdem natürlich jedem einzelnen Client bekannt sein. Einige der nachfolgend aufgeführten Einrichtungsverfahren legen den Schlüssel im Klartext, in einer Datei auf der Festplatte, ab. Für solche Verfahren empfiehlt es sich, den 63 ASCII-Zeichen-Schlüssel noch in Hexadezimalform umzuwandeln. Die Berechnung erfolgt mittels '''wpa_passphrase'''. Dem Befehl wird die SSID des ''Access-Points'' und der mit '''pwgen''' erzeugte Schlüssel übergeben. Beispiel: {{{#!vorlage Befehl wpa_passphrase MeineSSID MeinSchluessel }}} ergibt: {{{ # reading passphrase from stdin meinschluessel network={ ssid="MeineSSID" #psk="MeinSchluessel" psk=626d3fc95a3efe75acaebf1388ed167a90e59390efab91a5841242e49bc62b3a } }}} === Sonderzeichen === [:WLAN/Sonderzeichen:WLAN-Sonderzeichen] == Regionseinstellungen == Im Normalfall sind die Einstellungen des Systems und des eigenen WLAN-Routers zur Kanalnutzung und Sendeleistung durch die entsprechende Regionseinstellung automatisch richtig eingestellt. Über die Regionseinstellungen des Systems werden die zulässigen Funkkanäle, die zugehörige Bandbreite (20MHz oder 40MHz) und die maximal zulässige Sendeleistung festgelegt. Hierbei gibt es einige Dinge die zu beachten sind und die bei der Auswahl der Einstellungen für das eigene WLAN-Netzwerk helfen. Bedingt durch die Bandbreite von 20MHz sind im 2,4GHz Band nur drei Kanäle völlig störungsfrei nebeneinander verwendbar, bei 40MHz Bandbreite sogar nur zwei. Der Abstand und die Empfangsleistung zwischen den den einzelnen Netzen spielt dabei natürlich auch eine Rolle. Bei den Einstellungen des eigenen WLAN-Routers sollte man also nach Möglichkeit einen entsprechenden freien Funkkanal wählen. Dabei hilft es, wie weiter unten beschrieben, die WLAN-Umgebung zu scannen. Manche Router zeigen auch in einer grafischen Übersicht die Kanalbelegung durch Netze in der Nachbarschaft an. Durch die inzwischen starke Verbreitung von Internetzugängen und WLAN-Routern ist das 2,4GHz-Band meist vollständig belegt oder auch überlastet. Ein störungsfreier Betrieb ist kaum noch möglich. Sofern die eigenen Geräte dies unterstützen, sollte also auf das 5GHz-Band ausweichen. {{{#!vorlage Tabelle Kanalnutzung / Bandbreite +++ Frequenzband Bandbreite störungsfrei parallel verwendbare Kanäle +++ 2,4 GHz-Band 20 MHz 1 - 6 - 11 oder 2 - 7 - 13 +++ 2,4 GHz-Band 40 MHz 3 - 11 +++ 5 GHz-Band 40 MHz überlappungsfrei }}} Detaillierte Erläuterungen und anschauliche Grafiken zu dem Thema findet man unter [wikipedia:Wireless_Local_Area_Network#Kanalbreiten.2C_.C3.BCberlappungsfreie_Kan.C3.A4le_und_Spektralmasken: WLAN - Überlappungsfreie Kanäle und Spektralmasken] === verfügbare Funkkanäle === {{{#!vorlage Befehl iwlist chan }}} === Einstellungen ändern === {{{#!vorlage Befehl sudo iw reg get sudo iw reg set }}} Verwendet werden hierbei Ländercodes gemäß der [http://ssgfi.sub.uni-goettingen.de/projekt/doku/landcode.html ISO-Norm 3166]. === WLAN-Umgebung scannen === Dies zeigt alle WLAN-Netze in der Nachbarschaft und deren Eigenschaften wie den verwendeten Funkkanal, die Verschlüsselungsmethode und die Empfangsstärke, und hilft so bei der Wahl der passenden Einstellungen für das eigene WLAN. Wer ein grafisches Werkzeug dazu verwenden möchte, kann z.B. [:iwScanner:] verwenden. {{{#!vorlage Befehl sudo iw dev scan sudo iwlist scan }}} ( ist natürlich durch die tatsächliche Bezeichnung, wie z.B. ''wlan0'', zu ersetzen) == Sendeleistung == Je nach Land und Frequenzbereich ist eine entsprechende Sendeleistung zulässig. Da bei höheren Frequenzen, also im 5GHz-Band, die Dämpfung der Funkwellen in der Luft erheblich stärker ist wie bei niedrigen Frequenzen, also im 2,4GHz-Band, darf die Sendeleistung höher sein um Verluste bei der Reichweite auszugleichen. Jedes EU-Land hat da ggf. seine eigenen Ausnahmen und Sonderregelungen. Freigegebene Frequenzen und zulässige Strahlungsleistung EIRP. [http://www.bundesnetzagentur.de/SharedDocs/Downloads/DE/Sachgebiete/Telekommunikation/Unternehmen_Institutionen/Frequenzen/Allgemeinzuteilungen/WLAN%205%20GHz.pdf?__blob=publicationFile&v=3 Informationsblatt (pdf)] der Bundesnetzagentur dazu {de}. Es gibt im Privatbereich (Konsumer) momentan allerdings keine WLAN-Router welche im 5GHz-Band eine entsprechend höhere Sendeleistung erbringen können, soweit bekannt. In der Regel beträgt auch hier die maximale Strahlungsleistung 20dBm (100mW), was bedeutet, dass die Reichweite im 5GHz-Band stark eingeschränkt ist, insbesondere bei den höheren Kanälen. {{{#!vorlage Tabelle zulässige Sendeleistung in Deutschland +++ Kanal Frequenz MHz max. Strahlungsleistung in mW max. Strahlungsleistung in dBm +++ 1 - 13 (2,4GHz-Band) 2412 - 2472 100 20 +++ 36 - 64 (5GHz-Band) 5,180 - 5,320 200 23 +++ 100 - 140 (5GHz-Band) 5470 - 5725 1000 30 }}} Einstellungen abfragen: {{{#!vorlage Befehl iwconfig | egrep -i 'ieee|power' }}} === Einstellungen ändern === {{{#!vorlage Befehl sudo iwconfig txpower [Wert] iw dev set txpower [auto|fixed|limit] [tx power in dBm] iw list | grep phy # ermittelt das physikalische Interface phy* iw phy set txpower [auto|fixed|limit] [tx power in dBm] }}} ( und das phys. Interface sind natürlich durch die tatsächliche Bezeichnung, wie z.B. ''wlan0'' bzw ''phy0'', zu ersetzen) [wikipedia:Leistungspegel:Berechnung der Leistungspegel] == Power Management == Ist das Power Management der Karte aktiv, werden die Leistung, Reichweite und die Empfangseigenschaften verändert und reduziert. Weitere Informationen und Lösungsmöglichkeiten dazu [post:4675487:im Forum]. Erweiterte Einstellmöglichkeiten ermöglicht [http://thinkwiki.de/TLP_-_Stromspareinstellungen_fuer_Ubuntu TLP] von [user:linrunner:] welches das Systeminterne Power Management ersetzt. Einstellungen abfragen: {{{#!vorlage Befehl iwconfig | egrep -i 'ieee|power' }}} Beispielausgabe: {{{ wlan0 IEEE 802.11bgn ESSID:off/any Mode:Managed Access Point: Not-Associated Tx-Power=20 dBm [mark]Power Management:on[/mark] }}} Einstellungen ändern: {{{#!vorlage Befehl sudo iw dev set power_save [off|on] sudo iwconfig power [off|on] }}} ( ist natürlich durch die tatsächliche Bezeichnung, wie z.B. ''wlan0'', zu ersetzen) = WLAN-Hardware = In diesem Abschnitt geht es um die Erkennung der verwendeten WLAN-Hardware und des zugehörigen Treibermoduls, sollte es Probleme bei der Inbetriebnahme geben oder die WLAN-Hardware nicht automatisch vom System erkannt werden. == Geräteerkennung == Geräte-ID PCI(e) Karten mit Ausgabe der Modulzuornung und des momentan geladenen Moduls: {{{#!vorlage Befehl lspci -nnk | grep -i net -A2 # alternativ lspci -nnk }}} Beispielausgabe: {{{ hier fehlt noch die Ausgabe }}} Geräte-ID der USB Geräte abfragen: {{{#!vorlage Befehl lsusb }}} Beispielausgabe für WLAN-Karte am USB-Anschluß: {{{ Bus 001 Device 003: ID [mark]13d3:3247[/mark] IMC Networks 802.11 n/g/b Wireless LAN Adapter }}} Der Typ und das zugehörige Modul sind hier noch nicht erkennbar. Die nachfolgend verwendete Geräte-ID besteht aus zwei Blöcken, die Hersteller- (hier ''13d3'') und Produktkennung (hier ''3247''). Modulzuordnung abfragen: {{{#!vorlage Befehl modprobe -c | grep -i ".*" }}} Entsprechend zum Beispiel also wie folgt {{{#!vorlage Befehl modprobe -c | grep -i "13d3.*3247" }}} Darauf folgt in der Regel eine entsprechende Ausgabe des passenden Kernel-Moduls: {{{ alias usb:v13D3p3247d*dc*dsc*dp*ic*isc*ip* rt2800usb }}} Das Modul '''rt2800usb''' ist für WLAN-Karten mit Ralink-Chipsatz geeignet. Eigenschaften des verwendeten WLAN-Treibermodul und der WLAN-Hardware abfragen: {{{#!vorlage Befehl iw list iw phy }}} Erfolgt keine Ausgabe, so ist kein zur Hardware passendes Modul im Kernel enthalten oder der Hersteller verwendet eine unbekannte Geräte-ID. == Treibermodule installieren == Im Normalfall wird die WLAN-Hardware direkt unterstützt. In [:WLAN/Karten:] findet man ansonsten eine ständig aktualisierte Übersicht bekannter WLAN-Karten und wie diese in Betrieb zu nehmen sind. Im Zweifelsfall sollte man im entsprechenden [forum:internetzugang:Forenbereich] nachfragen bevor man etwas installiert. Für bestimmte WLAN-Karten kann bzw. muss der Treiber erst über den [:restricted-manager:Mestricted-Manager] aktiviert werden. Die automatische Erkennung funktioniert allerdings nicht immer reibungslos und es wird u.U. der falsche Treiber installiert. Dies ist vor allem bei Broadcom WLAN-Karten der Fall. Hat man eine entsprechende Karte, so ist [:WLAN/Karten/Broadcom:] eine gute Anlaufstelle. Für WLAN-Karten von Ralink und Realtek ist normalerweise ein Treiber im Kernel enthalten, Diese sind allerdings nicht nicht immer ausgereift, funktionieren nicht einwandfrei oder unterstützen aktuelle Gerätevarianten noch nicht. In diesem Fall muss ein entsprechender Treiber vom jeweiligen Hersteller nachinstalliert werden. Entsprechende Anleitungen sind ebenfalls in [:WLAN/Karten:] verlinkt. == Treibermodule aktualisieren == Da die im [:Kernel:] enthaltenen Treibermodule nicht immer aktuell sind, hat man verschiedenen Möglichkeiten diese zu aktualisieren, sollte die Hardware nicht oder nur unzureichend unterstützt werden. * die einfachste Methode ist über die [:WLAN/Linux-backports-modules:Linux-Backports-Modules] * oder manuell über [:Linux_Wireless:] * bei aktueller Hardware hilft möglicherweise nur die Installation eines sog. [:Mainline-Kernel:] == Firmware installieren == Die Firmware für viele WLAN-Karten gehört bereits zur Ubuntu Grundinstallation und muss nicht extra nachinstalliert werden. Bei bestimmten WLAN-Karten muss die erforderliche Firmware jedoch manuell nachinstalliert oder auch aktualisiert werden. Gibt es Funktionsprobleme ist [:WLAN/Karten:] ein guter Anlaufpunkt. Im Zweifelsfall sollte man im entsprechend [forum:Forenbereich:] nachfragen. {{{#!vorlage Befehl sudo apt-get install linux-firmware }}} Bestimmte WLAN-Hardware erfordert aus Lizenzgründen die manuelle Installation der entsprechenden „''unfreien''“ Firmware. {{{#!vorlage Befehl sudo apt-get install linux-firmware-nonfree }}} Meldungen zur Firmware werden ebenfalls im Syslog protokolliert: {{{#!vorlage Befehl egrep -i 'fw|firm' /var/log/syslog }}} == Firmware aktualisieren == In Einzelfällen oder bei sehr aktueller WLAN-Hardware kann einen manuelle Installation der neusten Firmware erforderlich sein, um ein Gerät in Betrieb zu nehmen. Zum Download der aktuellsten Firmware wird [:git:] benötigt. Quelle: [http://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/] {dl} {en} Download: {{{#!vorlage befehl git clone git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git }}} Die Firmwaredateien befinden sich anschließend in '''~/linux-firmware'''. Benötigte Dateien bzw. Verzeichnisse müssen manuell nach '''/lib/firmware''' kopiert werden. Rechner abschließend ausschalten und Stromquellen (Netz/Akku) für ein paar Minuten entfernen um die alte Firmware sicher zu entladen. == Schnittstellenzuordnung == Abfrage vorhandenen Schnittstellen und deren momentane Konfiguration: {{{#!vorlage Befehl ifconfig -a # zeigt alle verfügbaren Schnittstellen iwconfig # zeigt nur WLAN-Schnittstellen iw dev # zeigt nur WLAN-Schnittstellen }}} Wird die Netzwerkhardware korrekt erkannt, das betrifft sowohl WLAN- wie auch Ethernetkarten, und ist ein Treibermodul dafür im Kernel enthalten, dann wird automatisch über das [:udev:udev-System] eine Konfiguration dafür angelegt und eine freie Schnittstelle zugewiesen. Abfrage der Konfiguration: {{{#!vorlage Befehl cat /etc/udev/rules.d/70-persistent-net.rules | egrep -i 'device|sub' -A3 }}} Für Ethernetkarten im allgemeinen die Bezeichnung ''eth*'' und für WLAN-Karten ''wlan*''. Die ist aber auch vom Treiber abhängig, bei einigen Broadcom-, Intel- oder Realtek-Treibern kann die Bezeichnung ebenfalls ''eth*'', oder ''ra*'' lauten. Beispielausgabe: {{{ # PCI device 0x8086:/sys/devices/pci0000:00/0000:00:19.0 (e1000e) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:24:21:0e:8f:4a", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0" # USB device 0x13d3:0x3247 (usb) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:15:af:72:78:ff", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan0" }}} == Windows-Treiber verwenden == Existiert für die verwendete WLAN-Hardware kein Linux-Treiber oder läßt sich keine Lösung zur Inbetriebnahme finden, dann bleibt ein Versuch über [WLAN/NdisWrapper:]. = Netzwerkverwaltung = Unter Ubuntu ist der [:Network-Manager:] Standard. == alternative grafische Tools == * [:Wicd:] * [:WLAN/wpa_gui:wpa_gui] ist ebenfalls eine grafische Oberfläche für [:WLAN/wpa_supplicant:wpa_supplicant] und somit auch eine Alternative zu Wicd und dem NetworkManager * [http://manual.aptosid.com/de/inet-ceni-de.htm ceni] {de} - Netzwerkmanager für die Konsole. Das Programm stammt aus der Distribution [http://aptosid.com/ aptosid] {en} (früher Sidux) und ist nicht in [:Ubuntu:] enthalten. == manuell == * [:interfaces:] * [:WLAN/wpa_supplicant:wpa supplicant] * [:WLAN/wireless-tools:wireless-tools] = WLAN-Sondertasten = * [:rfkill:] * [:acer-wmi:] * [:Acer_Hotkeys:] = Probleme und Fehlersuche = Scheitert die Verbindungsaufnahme, treten Unterbrechungen oder sonstige Störungen auf, so kann man natürlich entprechende meldungen des System auswerten. Zustand und Konfiguration der Schittstelle: {{{#!vorlage befehl ifconfig iwconfig }}} ( ist natürlich durch die tatsächliche Bezeichnung, wie z.B. ''wlan0'', zu ersetzen) Ereignisse im '''Syslog''' zu Netzwerk und WLAN auslesen und filtern: {{{#!vorlage befehl egrep -i 'net|eth|wlan|firm|reason' /var/log/syslog }}} Im Logauszug stehen diverse Informationen zum Verbindungaufbau und Ablauf. Die häufigsten Fehlermeldungen auswerten (für erfahrene Anwender): {{{#!vorlage Tabelle Fehlerdiagnose +++ Ereignis Meldung +++ reason 0 no ReasonCode - Normal operation. +++ reason 1 unspecifiedReasonClient - associated but no longer authorized. +++ reason 2 previousAuthNotValid - Client associated but not authorized. +++ reason 3 deauthenticationLeaving - The access point went offline, deauthenticating the client. Previous authentications no longer valid. +++ reason 4 disassociationDueToInactivity - Client session timeout exceeded. +++ reason 5 disassociationAPBusy - The access point is busy, performing load balancing, for example. +++ reason 6 class2FrameFromNonAuthStation - Client attempted to transfer data before it was authenticated. +++ reason 7 class2FrameFromNonAssStation - Client attempted to transfer data before it was associated. +++ reason 8 disassociationStaHasLeft - Operating System moved the client to another access point using non-aggressive load balancing. +++ reason 9 staReqAssociationWithoutAuth - Client not authorized yet, still attempting to associate with an access point. +++ reason 15 4-Way Handshake timeout. +++ reason 16 Group key update timeout. +++ reason 17 Information element in 4-Way Handshake different from (Re)Associate Request/Probe Response/Beacon. +++ reason 18 Multicast cipher is not valid. +++ reason 19 Invalid pairwise cipher. +++ reason 21 Unsupported RSN IE version. +++ reason 22 Invalid RSN IE capabilities. +++ reason 23 IEEE 802.1X authentication failed. +++ reason 24 Cipher suite is rejected per security policy. +++ reason 32 Disassociated for unspecified, QoS-related reason. }}} Für einen manuellen Verbindungsversuch und erweiterte Fehlerdiagnose kann alternativ auch folgendes [post:4040812:Skript] verwendet werden. === Stromaufnahme === USB WLAN-Adapter benötigen meistens die zur Verfügung stehenden 500mA Strom am USB-Anschluß. Weitere Geräte sollten nicht am selben USB-Doppelanschluß verwendet werden. Da der USB-Controller den Anschluss bei Überschreitung des zulässigen Stroms abschalten kann, können Geräteabstürze, Verbindungsunterbrechungen oder auch komplette Systemabstürze die Folge sein. Lösungsmöglichkeiten: * Gerät an einem USB 3.0-Anschluß verwenden, die Stromaufnahme darf dort höher sein * einen USB-Hub mit eigener Stromversorgung verwenden * einen USB Y-Adapter verwenden um zwei Anschlüsse zu verwenden (Notlösung, nicht Gerätekonform) = Links = * [http://wireless.kernel.org/en/users/Devices Vom Linux-Kernel unterstützte Wireless-Geräte unterteilt in USB, PCI, PCMCIA] {en} * [http://www.linuxwiki.de/LinuxWireless Allgemeine Informationen zu WLAN mit Linux] {de} * [http://www.wifi.com.ar/doc/wifi/wlan_adapters.html Umfangreiche Liste mit Karten und den verwendeten Chipsätzen] {en} * [http://www.wireless-forum.ch/forum/ Deutschsprachiges WLAN-Forum] {de} * [http://www.linux-community.de/Internal/Artikel/Print-Artikel/LinuxUser/2008/07/Funknetze-von-Grund-auf Funknetze von Grund auf] - Grundlagenartikel LinuxUser 07/2008 {de} # tag: Hardware, Internet, Netzwerk, WLAN