WLAN
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
Wireless LAN (WLAN) bezeichnet ein „drahtloses" lokales Funknetzwerk im privaten Umfeld oder auch in öffentlichen Bereichen wie z.B. auf Flughäfen oder öffentlichen Plätzen in Großstädten, sog. Hot Spots. Erwähnenswert ist in diesem Zusammenhang das Freifunk-Projekt 🇩🇪, das für den Nutzer kostenfreie „Hot Spots" zur Verfügung stellt.
Hier soll ein Einblick in die Funktionsweise des WLAN, Begriffserklärungen sowie eine Konfigurationshilfe zur Einrichtung der verwendeten WLAN-Hardware unter Linux im allgemeinen und für Ubuntu-Linux gegeben werden.
Alles zum Thema WLAN-Sicherheit ist in einer eigenen Unterseite zu finden.
WLAN-Netzwerke und Modi¶
Infrastruktur-Netzwerk¶
Auch "Station-Modus" genannt. Klassischer Aufbau eines WLAN-Netzwerks mit zentralem Zugriffspunkt (Access Point), also dem WLAN-Router. Dieser verwaltet meist auch die kabelgebundenen Geräte und kümmert sich um den Zugang zum Internet.
WDS-System¶
Um die Reichweite und Ausdehnung oben beschriebener Infrastruktur-Netze zu erhöhen, nutzt man WDS. Solche Netze finden sich oft an Universitäten, Hochschulen oder auch öffentlichen Einrichtungen. Im Gegensatz zu Ad-Hoc-Netzen ist hier auch eine höhere Sicherheit mittels WPA(1/2)-Verschlüsselung möglich. Die Verwaltung der angeschlossenen Endgeräte (Clients) bleibt weiterhin beim zentralen Zugriffspunkt bzw. Router.
Für den privaten Bereich werden dazu sog. Repeater in verschiedenen Bauformen angeboten. Um WPA-Verschlüsselung verwenden zu können, müssen die Geräte untereinander allerdings kompatibel sein. Das funktioniert meist nur mit Geräten desselben Herstellers. Die mögliche Datenrate reduziert sich außerdem, da die Datenpakete zwischen den einzelnen Geräten mehrfach übertragen werden müssen.
Um die Kompatibilitätsprobleme zwischen Geräten einzelner Hersteller zu umgehen, werden derzeit fast nur noch Repeater angeboten, die auch als Wireless-Bridge arbeiten können.
Wireless-Bridge¶
Dies ist eine Brücke zwischen verschiedenen Netzwerken. Bei dieser Methode wird eine sog. Punkt-zu-Punkt-Verbindung zum zentralen Access Point aufgebaut, also in der Regel dem zentralen WLAN-Router, das Gerät selbst stellt dann aber wieder einen eigenen WLAN-Zugriffspunkt zur Verfügung. Die Verbindung zum zentralen Access Point kann auch über Kabel erfolgen. Die Verwaltung der angeschlossenen Endgeräte (Clients) bleibt auch hier weiterhin beim zentralen AP bzw. Router.
Zusätzlich bieten einige Geräte Ethernet Anschlüsse. So ist auch mit Geräten anderer Hersteller eine sichere WPA2-verschlüsselte Verbindung über WLAN sowie eine Reichweitenerhöhung möglich, und auch Endgeräte ohne WLAN können in das Netzwerk integriert werden.
Ad-Hoc-Netzwerk¶
Auch als IBSS-Modus (Independent Basic Service Set) bezeichnet. Dieser Modus ermöglicht eine einfache Vernetzung mehrerer Endgeräte untereinander, es gibt keinen zentralen „Verwalter“ wie beim Infrastrukturmodus.
Für die Sicherheit wird im allgemeinen einfache WEP-Verschlüsselung verwendet, was zwar unsicher ist, durch die durchweg geringe Reichweite und Nutzungsdauer solcher Netze aber kurzfristig in Kauf genommen werden kann.
Dabei kann einer der beteiligten Teilnehmer auch den zur Verfügung stehenden Internetzugang weiterleiten. In diesem Fall übernimmt einer der Clients wieder die zentrale Verwaltung des Netzwerks. Die Nutzung von WPA(2)-Verschlüsselung ist möglich und auch empfehlenswert. Siehe dazu auch Internetverbindungsfreigabe.
Mesh-Netzwerk¶
Vermaschte Netze (Mesh-Netzwerke) nach IEEE 802.11s ist eine Vernetzung mehrerer Rechner untereinander, wobei hier auch ein oder mehrere Rechner im Verbund einen Internetzugang zur Verfügung stellen können. Offiziell wird dieser Standard unter Linux als Teil des mac80211-Subsystems seit Kernel Version 2.6.26 unterstützt. Solche vermaschten Netze werden z.B. beim bereits erwähnten Freifunk-Projekt eingesetzt.
Monitor-Modus¶
Der Monitor Modus kann dazu verwendet werden, um im eigenen Netzwerk den Datenverkehr zu protokollieren oder auch nach Fehlern zu suchen.
In den meisten Fällen wird dieser Modus jedoch dazu missbraucht, um zu versuchen, in fremde WLAN-Netze einzubrechen, was natürlich gesetzeswidrig ist. Aus rechtlichen Gründen werden entsprechende Anfragen zu dem Thema hier im Forum deshalb nicht weiter unterstützt und im Zweifelsfall nach Absprache im Team auch gesperrt.
Übertragungsarten¶
Da die Technik ständig weiterentwickelt wird, hat sich in den letzten Jahren im WLAN-Bereich einiges getan. Im wesentlichen wird versucht, die mögliche Datenrate und Reichweite durch verschiedene technische Raffinessen weiter zu verbessern.
Die unterschiedlichen WLAN-Übertragungsarten sind über die IEEE 802.11 Normen definiert und festgelegt.
Der neueste Standard 802.11ac wurde 2014 als Erweiterung zu 802.11n verabschiedet.
Hardware und Treiber¶
Die hier in der Anleitung verwendete Programme und Werkzeuge werden in einem Terminal [1] ausgeführt. Dieses öffnet man über die Tastenkombination Strg + Alt + T , sofern man ein System mit grafischer Oberfläche verwendet, und kopiert die gezeigten Befehle einfach.
WLAN-Hardware erkennen¶
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.
WLAN-Adapter können entweder über PCIe oder über USB oder in seltenen Fällen über SDIO an das System angeschlossen sein.
PCIe-Karten¶
Gerätekennung und -bezeichnung von PCIe/WLAN-Karten mit Ausgabe der Modulzuordnung und des momentan geladenen Moduls abfragen[1]:
lspci -nnk -d::0280
Beispielausgabe:
02:00.0 Network controller [0280]: Intel Corporation Wireless 8260 [8086:24f3] (rev 3a) Subsystem: Intel Corporation Dual Band Wireless-AC 8260 [8086:0010] Kernel driver in use: iwlwifi Kernel modules: iwlwifi
Die Gerätekennung (im Beispiel 8086:24f3
) und das verwendete bzw. im Kernel verfügbare Treibermodule (im Beispiel iwlwifi) werden angezeigt. Bei fehlender Ausgabe gibt es keinen funktionierenden PCI/WLAN-Adapter im System – möglicherweise ausgebaut, in der Rechner-Firmware deaktiviert oder defekt.
Steht dort nicht „Kernel driver in use: ...
“ so wird das Modul nicht automatisch geladen, weil es möglicherweise gesperrt ist, oder es erzeugt bei diesem Versuch einen Fehler. Bei einigen Treibermodulen wie z.B. p54pci
, muss aus Lizenzgründen zusätzlich die passende Firmware manuell nachinstalliert werden. Erläuterungen dazu im Abschnitt Firmware-installieren.
Weitere Informationen und Möglichkeiten dazu in Kernelmodule.
USB-Adapter¶
Das erforderliche Kernelmodul und auch der verbaute Chipsatz ist bei USB-Adaptern nicht immer direkt ersichtlich.
Gerätekennung und -bezeichnung der USB-Geräte abfragen[1]:
lsusb
Beispielausgabe für einen WLAN-Adapter am USB-Anschluss:
Bus 001 Device 003: ID 13d3:3247 IMC Networks 802.11 n/g/b Wireless LAN Adapter
Der Chipsatz-Typ und das zugehörige Treibermodul sind hier noch nicht erkennbar.
Die Gerätekennung besteht besteht immer aus zwei Blöcken, der Hersteller- (hier 13d3) und Produktkennung (hier 3247). Damit kann nach dem verbauten Chipsatz und Treibermodul gesucht werden. Mehr dazu im Abschnitt Modulzuordnung.
SDIO-Geräte¶
Ausbaufähige Anleitung
Dieser Anleitung fehlen noch einige Informationen. Wenn Du etwas verbessern kannst, dann editiere den Beitrag, um die Qualität des Wikis noch weiter zu verbessern.
Anmerkung: Hier fehlt noch ein kurzer Befehl zur Erkennung solcher Hardware.
Modulzuordnung¶
Mit der zuvor gewonnenen Gerätekennung kann nun das passende Treibermodul bestimmt werden.
Modulzuordnung über die Gerätekennung abfragen[1]:
modprobe -c | grep -i "<Hersteller-ID>.*<Product-ID>"
Für den oben beispielhaft gezeigten Intel-PCI/WLAN-Adapter[1]:
modprobe -c | grep -i "8086.*24f3"
Darauf folgt in der Regel eine entsprechende Ausgabe des passenden Kernel-Moduls:
alias pci:v00008086d000024F3sv*sd00000010bc*sc*i* iwlwifi
Das hier verwendete Modul iwlwifi ist für WLAN-Karten mit Intel-Chipsatz geeignet. Allerdings erhält man manchmal, auch in diesem Beispiel, eine Liste verschiedener Geräte. Man muss also streng genommen noch weiter prüfen, ob auch die als Subsystem genannten Daten von einem der Ausgabestrings erfasst werden.
Erfolgt keinerlei Ausgabe, so ist kein zur Hardware passendes Modul im Kernel enthalten, oder der Hersteller verwendet eine unbekannte Gerätekennung. Ebenso kann es passieren, dass mehrere Treibermodule für ein Gerät im Kernel enthalten sind, was zu einem Konflikt führen kann. Nicht benötigte Module können jedoch gesperrt werden. Eine Anleitung dazu findet sich in Kernelmodule.
Bei USB-Geräten kann man dieses Verfahren genau wie bei PCIe-Geräten verwenden. Zussätzlich gibt es bei USB-Geräten noch diesen Befehl zu Ermittelung des Treibermoduls und Gewinnung weitergehender Informationen, hier beispielhaft für den oben gezeigten USB/WLAN-Adapter mit der Produktkennung 3247
:
usb-devices | awk -v RS= /3247/
Sollten die Netzwerkhardware nach einer Neuinstallation nicht direkt erkannt werden, so sollte man das System nach Möglichkeit über eine Kabelverbindung aktualisieren. Dadurch wird u.a. auch eine aktuelle Kernelversion installiert, welche die Hardware nun möglicherweise unterstützt. Dazu kann z.B. auch die Internetverbindung eines Smartphones über USB-Kabel, sog. Tethering, genutzt werden
Treibermodule installieren¶
Im Normalfall wird die WLAN-Hardware direkt unterstützt. In WLAN/Karten findet man ansonsten eine ständig aktualisierte Übersicht bereits bekannter Geräte und wie diese in Betrieb zu nehmen sind. Probleme gibt es oft mit neuen Geräten. Im Zweifelsfall sollte man im entsprechenden Forenbereich nachfragen, bevor man etwas installiert.
Für bestimmte WLAN-Karten kann bzw. muss der Treiber erst über den Restricted-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 kann zuerst versucht werden, den Systemtreiber und die Firmware zu aktualisieren. Alternativ gibt es vielleicht einen passenden Treiber vom jeweiligen Hersteller, der manuell nachinstalliert werden kann. Entsprechende Anleitungen sind ebenfalls in WLAN/Karten zu finden und verlinkt.
Treibermodule aktualisieren¶
Da die im Kernel enthaltenen Treibermodule nicht immer aktuell sind, hat man verschiedene Möglichkeiten, diese zu aktualisieren, sollte die Hardware nicht oder nur unzureichend unterstützt werden.
bei den Ubuntu LTS-Versionen gibt es die Möglichkeit, aktuellere Kernelversionen aus den jeweils aktuelleren Nachfolgeversionen einzusetzen, um die Hardwareunterstützung zu verbessern. Siehe dazu LTS Enablement Stacks.
manuell über Linux Wireless
Zusätzlich werden regelmäßig aktuelle Installationspakete über https://www.kernel.org angeboten
Diese enthalten die letzten Fehlerkorrekturen und Aktualisierungen → Anleitung im Forum
Bei aktueller Hardware hilft möglicherweise nur die Installation eines sog. Mainline-Kernel
auch in Kombination mit einem aktuellen Treiberpaket von Linux Wireless
und der neuesten Firmware
Firmware installieren¶
Die Firmware für viele WLAN-Karten gehört bereits zur Grundinstallation von Ubuntu und braucht nicht extra installiert zu 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 auch hier im entsprechenden Forenbereich nachfragen.
Meldungen zur Firmware werden im Syslog protokolliert. Fehlermeldungen abfragen [1]:
egrep -i 'fw|firm' /var/log/syslog
Während das Standard-Firmware-Paket linux-firmware bereits vorinstalliert ist, benötigt bestimmte WLAN-Hardware, wie z.B. der Firma Broadcom oder Intersil/Prism, aus Lizenzgründen die manuelle Installation einer sog. proprietären, also „unfreien“ Firmware [1]:
Diese ist möglicherweise in einem Paket enthalten, möglicherweise muss man diese aber auch von einer Herstellerseite beziehen und manuell installieren.
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 Herunterladen der aktuellen Firmware wird Git benötigt (siehe auch https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git ⮷ 🇬🇧).
Aktuelle Firmware herunterladen [1]:
git clone git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
Die Firmware-Dateien befinden sich anschließend in ~/linux-firmware. Benötigte und zur verwendeten WLAN-Hardware passende Dateien bzw. Verzeichnisse müssen anschließend manuell nach /lib/firmware kopiert werden [3]. Rechner abschließend ausschalten und Stromquellen (Netz/Akku) für ein paar Minuten entfernen, um die alte Firmware sicher zu entladen.
Firmware aus neuerer Ubuntu-Version¶
Alternativ kann das Paket linux-firmware ⮷ einer aktuelleren Ubuntu-Version heruntergeladen und manuell installiert werden.
Konfiguration¶
Konfigurationswerkzeuge¶
iw - funktioniert nur mit Geräten und Treibern, die mit dem nl80211-Subsystem des Kernels arbeiten. Eine entsprechende Liste findet man auf wireless.kernel.org - Drivers 🇬🇧.
iwconfig - aus den wireless-tools. Funktioniert im Gegensatz zu
iw
auch mit Treibern von Realtek, Ralink, Broadcom, älteren Intel-Moduleniwpriv
- nur noch für einige ältere Intel- oder Ralink-Treiber geeignet und veraltet. Deshalb hier nicht näher beschrieben.
verfügbare Funkkanäle¶
Welche Funkkanäle unterstützt die verwendete WLAN-Karte bzw. der verwendete Treiber.
Konfiguration abfragen [1]:
iwlist chan iw list
Werden hier nur die Funkkanäle 1-11 angezeigt, so kann man die Regionseinstellung prüfen und ggf. anpassen. Nicht alle Treibermodule für z.B. Broadcom, ältere Intel-Karten oder Realtek ermöglichen dies allerdings.
Der eigene WLAN-Router sollte fest auf einen freien Funkkanal eingestellt sein. Oft ist werksseitig die Auswahl auf Automatik gesetzt („Auto“), was dazu führen kann, dass ein Funkkanal gewählt wird, der durch die WLAN-Karte des PC nicht unterstützt wird. Eine Verbindung wird dadurch unmöglich. Zudem kann es bei einem automatischen Wechsel des Kanals zu Verbindungsabbrüchen kommen.
WLAN-Umgebung¶
Ein manueller Scan 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. LinSSID verwenden. Ebenso lassen sich so natürlich die Einstellungen des eigenen WLAN und die Empfangsqualität ermitteln.
manuellen Scan der WLAN-Umgebung auslösen [1]:
# Kurzübersicht über den Network-Manager (nmcli) mit den wesentlichen Informationen nmcli dev wifi list # detailreich sudo iw dev <Interface> scan sudo iwlist <Interface> scan # gefiltert und übersichtlicher mit den wesentlichen Informationen sudo iwlist <Interface> scan | egrep -i 'cell|chan|essid|wpa|cipher|qual'
Die Schnittstellenbezeichnung, bzw. das Interface, ist natürlich durch die tatsächlich verwendete Bezeichnung, wie z.B. wlan0 oder wlo1, zu ersetzen!
Regionseinstellungen¶
Über die Regionseinstellungen des Systems werden die zulässigen Funkkanäle, die zugehörige Bandbreite (20 MHz oder 40 MHz) 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.
Im Normalfall sind die Einstellungen des Systems und des eigenen WLAN-Routers zur Kanalnutzung und Sendeleistung durch Voreinstellung automatisch richtig konfiguriert.
Bedingt durch die Bandbreite von 20 MHz, sind im 2,4-GHz-Band nur drei Kanäle völlig störungsfrei nebeneinander verwendbar, bei 40-MHz Bandbreite (N-Modus) 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 und fest einstellen. Dabei hilft es, wie zuvor bereits beschrieben, die WLAN-Umgebung zu scannen. Manche Router zeigen auch in einer grafischen Übersicht die Kanalbelegung durch Netze in der Nachbarschaft an.
Die WLAN-Karte des Clients, unabhängig vom verwendeten Betriebssystem, stellt sich bei der Verbindungsaufnahme automatisch auf den Funkkanal des WLAN-Routers ein.
Durch die inzwischen starke Verbreitung von Internetzugängen und WLAN-Routern ist das 2,4-GHz-Band meist vollständig belegt oder auch überlastet. Ein störungsfreier Betrieb ist manchmal kaum noch möglich. Sofern die eigenen Geräte dies unterstützen, sollte man also auf das 5-GHz-Band ausweichen.
Kanalnutzung / Bandbreite | |||
Frequenzband | Bandbreite | störungsfrei parallel verwendbare Kanäle | |
2,4 GHz-Band | 20 MHz | 1 + 6 + 11 oder entsprechend / Abstand 5 Kanäle | |
2,4 GHz-Band | 40 MHz im n-Modus | 3 + 11 | |
5 GHz-Band | 20/40/80/160 MHz Bandbreite | nur im a-Modus bei 20/40-MHz-Bandbreite überlappungsfrei, 80/160-Mhz-Bandbreite im ac-Modus | |
5 GHz-Band | 20MHz Bandbreite | 19 Kanäle überlappungsfrei | |
5 GHz-Band | 40MHz Bandbreite | 19 Kanäle überlappungsfrei | |
5 GHz-Band | 80MHz Bandbreite ac-Modus | 9 mögliche überlappungsfreie Frequenzbereiche | |
5 GHz-Band | 160MHz Bandbreite ac-Modus | 4 mögliche überlappungsfreie Frequenzbereiche |
Detaillierte Erläuterungen und anschauliche Grafiken zu dem Thema findet man unter WLAN - Überlappungsfreie Kanäle und Spektralmasken
Regionseinstellungen ändern¶
Die Standardeinstellung beim Systemstart wird in der Datei /etc/default/crda festgelegt. Siehe auch iw.
Einstellung abfragen und vorübergehend ändern [1]:
sudo iw reg get sudo iw reg set DE
Verwendet werden hierbei Ländercodes gemäß der ISO-Norm 3166. Standard ist normalerweise Einstellung 00 (World), also eine globale Einstellung, was allerdings nicht immer korrekt funktioniert und die benötigten Einstellungen liefert.
Bestimmte Gerätetreiber unterstützen nur die Funkkanäle 1-11 und arbeiten auch nicht mit iw bzw. dem nl80211-Subsystem zusammen. Die Einstellungen können unter Linux dann also nicht geändert werden. Die Kanaleinstellung des eigenen WLAN-Routers muss dann ggf. angepasst werden, um eine Verbindung zu ermöglichen.
Sendeleistung¶
Je nach Land und Frequenzbereich ist eine entsprechende Sendeleistung zulässig. Da bei höheren Frequenzen, also im 5-GHz-Band, die Dämpfung der Funkwellen in der Luft erheblich stärker ist als bei niedrigen Frequenzen, also im 2,4,GHz-Band, darf die Sendeleistung höher sein, um Verluste bei der Reichweite auszugleichen. Jedes EU-Land hat da ggf. seine eigenen Ausnahmen und Sonderregelungen.
Publikationen der Bundesnetzagentur 🇩🇪 zu den freigegebenen Frequenzen und der in der BRD zulässigen Strahlungsleistung (PDF-Dokumente):
Es gibt im Privatbereich (engl. "consumer") momentan allerdings keine WLAN-Router, welche im 5-GHz-Band eine entsprechend höhere Sendeleistung erbringen können (soweit bekannt). In der Regel beträgt auch hier die maximale Strahlungsleistung 20 dBm (100 mW), was bedeutet, dass die Reichweite im 5-GHz-Band u.U. stark eingeschränkt ist, insbesondere bei den höheren Kanälen 100-140.
zulässige Sendeleistung in Deutschland | ||||
Kanalbereich | Frequenzband MHz | Kanäle | max. Strahlungsleistung in mW | max. Strahlungsleistung in dBm |
1 - 13 (2,4GHz-Band) | 2412 - 2472 | 1-13 | 100 | 20 |
36 - 64 (5GHz-Band) | 5180 - 5320 | 36,40,44,48,52,56,60,64 | 200 | 23 |
100 - 140 (5GHz-Band) | 5500 - 5700 | 100,104,108,112,116,120,124,128,132,136,140 | 1000 | 30 |
Einstellungen abfragen [1]:
iwconfig | egrep -i 'ieee|power'
Einstellungen ändern¶
Sendeleistung des WLAN-Adapters ändern [1]:
Einstellung mittels
iwconfig
ändern:sudo iwconfig <Interface> txpower 15
Einstellung mittels
iw
ändern:iw list | grep phy # ermittelt zunächst das physikalische Interface phy* iw phy phy0 set txpower fixed 15 iw dev <Interface> set txpower fixed 15
Die Bezeichnung der WLAN-Schnittstelle oder der physischen Schnittstelle sind natürlich durch die tatsächlich verwendete Bezeichnung, wie z.B. wlan1 bzw phy1, zu ersetzen! Weitere Möglichkeiten zur Konfiguration sind in iw beschrieben.
Einige WLAN-Karten und diverse WLAN-USB-Adapter bieten auch eine höhere Sendeleistung an, was aber nur in bestimmten Ländern zulässig ist. Die gesetzlichen Vorgaben des Landes, in dem man sich befindet, müssen beachtet werden!
Power Management¶
Ist das "Power Management" der WLAN-Karte aktiv, werden die Leistung, Reichweite und die Empfangseigenschaften verändert und reduziert. Möglicherweise gibt es Verbindungsprobleme mit aktivierten "Power Management", was vor allem bei mobilen Systemen im Batteriebetrieb auftritt.
Weitere Informationen und Lösungsmöglichkeiten dazu im Forum (z.T. inzwischen veraltet). Erweiterte Einstellmöglichkeiten bietet TLP 🇩🇪 von linrunner, welches die systeminterne Energieverwaltung ergänzt.
Einstellungen abfragen [1]:
iwconfig | egrep -i 'ieee|power'
Beispielausgabe:
<Interface> IEEE 802.11bgn ESSID:off/any Mode:Managed Access Point: Not-Associated Tx-Power=20 dBm Power Management:on
Einstellungen über iw ändern [1]:
sudo iw dev <Interface> set power_save off sudo iw dev <Interface> set power_save on
Einstellungen über iwconfig ändern [1]:
sudo iwconfig <Interface> power off sudo iwconfig <Interface> power on
Die Schnittstellenbezeichnung, bzw. das Interface, ist natürlich durch die tatsächlich verwendete Bezeichnung, wie z.B. wlan0 oder wlo1, zu ersetzen!
Das PWM kann über die Konfiguration des Network-Manager in der /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf abgeschaltet werden.
[connection] # Values are 0 (use default), 1 (ignore/don't touch), 2 (disable) or 3 (enable). wifi.powersave = 3
Ändern und Konfiguration übernehmen:
sudo sed -i "s/wifi.powersave = 3/wifi.powersave = 2/g" /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf systemctl restart NetworkManager.service
Schnittstellenzuordnung¶
Jeder WLAN- und auch Ethernet-Anschluß erhält vom System eine bestimmte Schnittstellenbezeichnung zugewiesen. Über diese Bezeichnung erfolgt anschließend die Konfiguration.
Abfrage vorhandener Schnittstellen und deren momentaner Konfiguration [1]:
ip link # zeigt alle verfügbaren Schnittstellen ip addr # zeigt Adressen aller Schnittstellen iwconfig # zeigt nur WLAN-Schnittstellen iw dev # zeigt nur WLAN-Schnittstellen
Die Bezeichnung der Schnittstellen wurde ab Ubuntu 15.10 auf sog. „Consistent Network Device Naming“ umgestellt. Die Bezeichnung orientiert sich nun an dem verwendeten Datenbus (USB/PCI) an welchem der WLAN-Adapter angeschlossen ist. Die Bezeichnungen können aber manuell auf die bisher bekannte Syntax umgestellt werden.
Wird die Netzwerkhardware korrekt erkannt, das betrifft sowohl WLAN- als auch Ethernet-Schnittstellen, und ist ein Treibermodul dafür im Kernel enthalten, dann wird bis einschließlich Ubuntu 15.04 automatisch über das udev-System eine Konfiguration dafür angelegt und eine freie Schnittstelle zugewiesen.
Abfrage der Konfiguration [1] (nur bis einschließlich Ubuntu 15.04):
cat /etc/udev/rules.d/70-persistent-net.rules | egrep -i 'device|sub' -A3
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"
Netzwerkverwaltung¶
Unter Ubuntu ist der Network-Manager Standard.
Alles zum Thema WLAN-Sicherheit ist in einer eigenen Unterseite zu finden.
Alternative grafische Werkzeuge¶
SSID¶
Die SSID - Service Set Identifier - ist der öffentlich gezeigte Name des Netzwerks.
Die Werkseinstellung des WLAN-Routers sollte man immer ändern, da
der Name bei Geräten in der Nachbarschaft sonst mehrfach vorkommen kann (z.B. „FRITZ!Box Fon WLAN 7170“), was unter Umständen zu Verbindungsproblemen führt
Außenstehende so Informationen zur verwendeten Hardware bekommen
manchmal Leerzeichen in der SSID enthalten sind, was zwar zulässig ist, aber ebenfalls schon zu Verbindungsschwierigkeiten geführt hat
Leerzeichen in der SSID sollte man deshalb nicht verwenden und bei Bedarf durch Unterstriche ersetzen. Beispiel: "Meine_WLAN_SSID"
Nur bestimmte Sonderzeichen sind im Namen (SSID) des Netzwerks zulässig. Weitere Informationen dazu in WLAN/Sonderzeichen.
Unsichtbare SSID¶
Eine unsichtbare SSID ist kein wirksames Mittel zum Schutz des eigenen WLAN und kann durch entsprechende Programme (WLAN-Sniffer) einfach ermittelt werden. Dies verursacht höchstens Probleme beim Verbindungsaufbau. Eine automatische Verbindung bei Systemstart funktioniert dann ebenfalls in den meisten Fällen nicht.
ESSID¶
Werden mehrere Zugriffspunkte, wie bei WDS-Systemen, zu einem Verbund verknüpft, und erhalten alle eine identische SSID, so nennt man diese nun ESSID - Extended Service Set Identifier.
BSSID¶
Als BSSID - Basic Service Set Identifier - wird bei WLAN-Geräten und Zugriffspunkten (Access-Points) die MAC-Adresse bezeichnet, um das Gerät eindeutig zu identifizieren.
Die BSSID des Access-Points kann bei Bedarf im Verbindungsprofil des Network-Managers eingetragen werden. Die Auswahl des Zugriffspunktes erfolgt so durch die SSID/ESSID und die BSSID. So wird z.B. ein ungewollter Wechsel zwischen verschiedenen Zugriffspunkten, sog. Roaming, verhindert. Dies ist vor allem bei WDS-Systemen hilfreich, wenn sich mehrere Zugriffspunkte mit identischer ESSID in Reichweite befinden. Verbindungsabbrüche können so vermieden werden.
Gastnetzwerk¶
Moderne WLAN-Router bieten die Möglichkeit, ein sog. Gastnetzwerk (oder Gastzugang) einzurichten. Das ist dann nichts anderes als ein weiteres WLAN-Netzwerk, ebenfalls mit eigener SSID und sicherer WPA2-Verschlüsselung, über das auch Internetzugang möglich ist.
Dieses Netzwerk ist aber vom Hauptnetzwerk, also allen anderen Rechnern, bestehenden Datei- oder Druckerfreigaben und sonstigen Geräten im Netzwerkverbund, abgeschottet. Das ist praktisch, wenn man jemandem vorübergehend über den eigenen Anschluss Zugang zum Internet gewähren möchte. Wird der Zugriff nicht mehr benötigt, so deaktiviert man das Gastnetzwerk wieder.
WLAN-Sondertasten¶
Drahtlosgeräte bei mobilen Geräten wie Note- und Netbooks werden meist über einen Schalter, Taster oder eine Tastenkombination wie Fn + F2 ein- oder ausgeschaltet. Läßt sich WLAN nicht einschalten, so helfen folgende Wiki-Artikel weiter.
Probleme und Fehlersuche¶
Scheitert die Verbindungsaufnahme, treten Unterbrechungen oder sonstige Störungen auf, so kann man natürlich entsprechende Meldungen des System auswerten.
Zustand und Konfiguration der Schnittstelle [1]:
ip link show <Interface> ip addr show <Interface> iwconfig <Interface>
Die Schnittstellenbezeichnung, bzw. das Interface, ist natürlich durch die tatsächlich verwendete Bezeichnung, wie z.B. wlan0 oder wlo1, zu ersetzen!
Echtzeitüberwachung im Sekundentakt zur Beurteilung der Qualität des WLAN-Empfangs und der Übertragunsrate bei Unterbrechungen oder Störungen:
Dieser Befehl funktioniert nur bei Geräten, welche Wireless Extensions benutzen:
watch -n 1 cat /proc/net/wireless
Dieser Befehl zeigt den Vekehr aller Schnittstellen:
watch -n 1 cat /proc/net/dev
Logbucheinträge auswerten¶
Ereignisse im Syslog zu Netzwerk und WLAN auslesen und filtern [1]:
egrep -i 'net|eth|wlan|firm|reason' /var/log/syslog
Im Logauszug stehen diverse Informationen zum Verbindungaufbau und Ablauf und auch zu Firmware-Fehlern.
Die häufigsten Fehlermeldungen auswerten (für erfahrene Anwender) 🇬🇧:
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. |
Echtzeit-Diagnose¶
Mittels iw - Ereignisse und Diagnose ist eine laufende Auswertung während der Verbindung möglich.
Diagnoseskript¶
Für einen manuellen Verbindungsversuch und erweiterte Fehlerdiagnose kann alternativ auch folgendes Skript verwendet werden.
Stromaufnahme¶
USB-WLAN-Adapter benötigen meistens die zur Verfügung stehenden 500 mA 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 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 koppeln (Notlösung, nicht gerätekonform)
Allgemeine Tipps¶
Die Firmware, also das Betriebssystem des eigenen WLAN-Routers, ist nicht immer fehlerfrei und sollte deshalb aktuell sein bzw. aktualisiert werden.
Der Standort des WLAN-Routers sollte sich nicht zu nah neben Wänden, Decken oder metallischen Gegenständen wie Heizkörpern befinden. Je nach Material wird das Funksignal ansonsten gedämpft oder auch reflektiert, was zu sog. Interferenzen führt. Das gilt auch für die WLAN-Adapter der angeschlossenen Clients.
USB-WLAN-Adapter können über eine USB-Verlängerung angeschlossen werden, um diese besser positionieren zu können. Je nach Qualität des Kabels kann dieses bis zu zwei Meter lang sein. Im Rechner verbaute Karten können oft mit einer besseren Antenne über eine Kabelverlängerung mit Standfuß angeschlossen werden.
Schnurlostelefone (DECT) oder auch ein Babyphone sollten nach Möglichkeit nicht direkt neben dem WLAN-Router platziert werden, da diese Geräte ebenfalls im selben Frequenzband arbeiten.
Viele Router bieten Stromsparmechanismen (Nachtschaltung). Das WLAN kann so über einstellbare Zeitfenster abgeschaltet werden, wenn man es sowieso nicht benötigt.
Die meisten Router bieten auch die Möglichkeit, USB-Geräte anzuschließen und im Netzwerk zur Verfügung zu stellen. Moderne Baureihen stellen dafür inzwischen einen USB-3.0-Anschluss bereit. Durch schlechte Abschirmung der Bauteile kann es allerdings vorkommen, dass USB-3.0-Geräte an diesem Anschluss das WLAN auf dem 2,4-Ghz-Band stark stören können.
Links¶
Intern¶
WLAN/Karten - Übersicht bekannter WLAN-Hardware mit Informationen zum Treiber und zur Inbetriebnahme
WLAN/Chipsätze - Informationen zu den div. Chipsätzen
WLAN/Sicherheit - Unterseite zum Thema WLAN-Sicherheit
Router - Ubuntu als Router konfigurieren
WLAN Router - Ubuntu als WLAN-Router konfigurieren
PC-Direktverbindung per WLAN - Ad-hoc-Vernetzung ohne Router
WLAN-Sniffer:
LinSSID - grafisches Analysewerkzeug
WiFi Radar - grafisches Analysewerkzeug und Verbindungsmanager
Kismet - Analysewerkzeug für die Kommandozeile
FreeRADIUS - WLAN-Authentifizierungsserver
Extern¶
WLAN - eine umfassende Beschreibung zu WLAN
WEP-/WPA-Key-Generator 🇩🇪 - WLAN-Schlüssel erzeugen
Funknetze von Grund auf – Wichtige Schlagworte rund um WLAN im Überblick 🇩🇪 - Grundlagenartikel, LinuxUser 07/2008
WLAN 🇩🇪 - Informationsblatt der Bundesnetzagentur (PDF)
IEEE 802.11n / WLAN mit 150 MBit/s 🇩🇪 - www.elektronik-kompendium.de