[[Vorlage(Getestet, general)]] {{{#!vorlage Wissen [:Terminal: Ein Terminal öffnen] [:sudo: Root-Rechte] [:Editor: Einen Editor verwenden] }}} [[Inhaltsverzeichnis(3)]] [[Bild(Wiki/Icons/Oxygen/network-wireless.png, 48, align=left)]] '''iw''' ist ein Kommandozeilenwerkzeug zur Konfiguration von WLAN-Geräten. Es unterstützt bis auf wenige Ausnahmen alle standardmäßig im Kernel enthaltenen Gerätetreiber, die mit dem nl80211-Subsystem arbeiten. Manuell installierte Gerätetreiber von Ralink, Realtek oder Broadcom sowie einige im sog. Staging-Zweig des Kernels enthaltene Realtek-Treiber werden hingegen nicht oder nur eingeschränkt unterstützt. Dann kann man [:iwconfig:] nutzen. Praktische Anwendungsbeispiele sind beispielsweise die Konfiguration der Ländereinstellung, die Begrenzung der Sendeleistung oder die Suche nach verfügbaren WLAN-Netzwerken. Zur allgemeinen Netzwerkkonfiguration ist der Befehl [:ip:] besser geeignet, der nicht auf WLAN beschränkt ist. = Installation = Das Programm ist bei Ubuntu und den offiziellen Ubuntu-Varianten bereits vorinstalliert. Der Paketname lautet: * '''iw''' = Bedienung = Das Programm kennt mehrere Parameter und Optionen, die der nachfolgenden Tabelle zu entnehmen sind. {{{#!vorlage Tabelle Generelle Syntax und Optionen +++ Befehl Zweck +++ `iw list` Geräteeigenschaften abfragen +++ `iw dev` Eigenschaften und Name der Schnittstelle, z.B. `wlan0` +++ `iw phy` Eigenschaften und Name der physikalische Schnittstelle, z.B. `phy0` +++ `iw reg` Aufruf des sog. „Regulatory Agents“ zur Konfiguration der Regions- und Ländereinstellungen +++ `iw --version` zeigt nur Versionsinformationen zum Programm +++ `iw --debug` aktiviert Debugging zur Fehleranalyse (Funktion anscheinend fehlerhaft :!:) +++ `iw help` gibt eine Hilfe zum Programm und zur Syntax aus }}} == Anwendungsbeispiele == Alle Befehle werden in einem Terminal [1] ausgeführt. Manche benötigen Root-Rechte [2]. === Hilfe zum Programm === Programmsyntax und mögliche Optionen abfragen: {{{#!vorlage Befehl iw help }}} === Hardwareeigenschaften === Geräteeigenschaften auslesen: {{{#!vorlage Befehl iw list iw phy }}} Da die Ausgabe sehr lang sein kann, kann man diese mit [:grep:] filtern bzw. verkürzen: {{{#!vorlage Befehl iw list | grep phy }}} Die nachfolgend verwendeten Bezeichnungen für die WLAN-Schnittstelle und dessen physikalische Bezeichnung sind durch die tatsächliche verwendete Bezeichnung, wie z.B. `wlan0` bzw. `phy0`, zu ersetzen. === Verbindungsstatus === Informationen zur Verbindung, Übertragungsrate und Signalstärke abrufen: {{{#!vorlage Befehl iw dev wlan0 link }}} Mehr Details liefert folgender Befehl: {{{#!vorlage Befehl iw dev wlan0 station dump }}} === Scan der WLAN-Umgebung === Ein manueller Scan zeigt alle WLAN-Netze im Empfangsbereich und deren Eigenschaften wie den verwendeten Funkkanal, die Verschlüsselungsmethode und die Empfangsqualität, und hilft so bei der Wahl der passenden Einstellungen für das eigene WLAN. Eine grafische Alternative dazu ist z.B. [:LinSSID:]. {{{#!vorlage Befehl sudo iw dev wlan0 scan }}} === Sendeleistung des WLAN-Adapters === Die Sendeleistung in dBm kann auf zwei Arten konfiguriert werden. Die gesetzlichen Vorgaben des jeweiligen Landes zur maximal erlaubten Strahlungsleistung sind dabei zu beachten. Siehe dazu auch im Hauptartikel [:WLAN:]. * Unter Verwendung der Schnittstellenbezeichnung: {{{#!vorlage Befehl sudo iw dev wlan0 set txpower fixed 20 }}} * Unter Verwendung der physikalischen Schnittstellenbezeichnung: {{{#!vorlage Befehl sudo iw phy phy0 set txpower fixed 20 }}} {{{#!vorlage Tabelle Optionen bei der Sendeleistung +++ Option Auswirkung +++ `auto` automatische Auswahl bis zum möglichen Maximalwert (ohne Angabe deines Wertes) +++ `fixed` fest eingestellter Wert +++ `limit` Begrenzung auf einen Maximalwert, tatsächliche Leistung darf aber niedriger sein }}} === Power Management === Einstellungen auslesen: {{{#!vorlage Befehl iw dev wlan0 get power_save }}} Einstellungen des Power Management ändern: {{{#!vorlage Befehl sudo iw dev wlan0 set power_save on sudo iw dev wlan0 set power_save off }}} Ist das Power Management aktiviert, führt dies zu einer reduzierten Sende- und Empfangsleistung der WLAN-Karte. === Regionseinstellung === Über die Regionseinstellung werden die zulässige Sendeleistung und die in der Region erlaubten Frequenzen bzw. Funkkanäle der WLAN-Karte vorgegeben. * Ländereinstellung abfragen: {{{#!vorlage Befehl iw reg get }}} * Ländereinstellung manuell ändern: {{{#!vorlage Befehl sudo iw reg set DE }}} Verwendet werden hierbei Ländercodes gemäß der [wikipedia:ISO-3166-1-Kodierliste:Kodierliste ISO-Norm 3166]. Standard ist in der Regel die Einstellung '''00''' (World), also eine globale Einstellung. Nicht bei allen WLAN-Adaptern lässt sich die Voreinstellung ändern, da die Ländereinstellung fest im Speicher des Gerätes voreingestellt sein kann. Die Grundeinstellung befindet sich in der Datei '''/etc/default/crda'''. Allerdings muss der Wert erst noch festgelegt werden. Dazu bearbeitet man die Textdatei mit einem Editor [3] oder verwendet direkt [:sed:] und trägt den gewünschten Ländercode ein. {{{ REGDOMAIN=DE }}} Eintrag mittels `sed` ergänzen [2]: {{{#!vorlage Befehl sudo sed -i "s/REGDOMAIN=/REGDOMAIN=DE/g" /etc/default/crda }}} Um die Einstellung automatisch anzupassen oder die in der '''/etc/default/crda''' festgelegte Grundeinstellung zu überschreiben wenn ein WLAN-Adapter erkannt und initialisiert wird, kann alternativ eine [:udev:]-Regel ''/etc/udev/rules.d/regulatory.rules'' angelegt werden [3]. Folgender Inhalt ist einzufügen. {{{ # WLAN-Regionseinstellungen festlegen KERNEL=="regulatory*", ACTION=="change", SUBSYSTEM=="platform", RUN+="/sbin/iw reg set DE" }}} Erweiterte Einstellungen können durch Erstellung einer eigenen Datenbank erreicht werden. Eine Anleitung dazu findet sich im Artikel [:iw/Reg-Database:]. === Ereignisse und Diagnose === Laufende Ereignisse abfragen (debugging): {{{#!vorlage Befehl iwevent iw event iw event -f # erweiterte Ausgabe mit Fehlermeldungen zum Verbindungsstatus iw event -t # erweiterte Ausgabe mit Fehlermeldungen und Zeitangaben (timing) iw event -r # erweiterte Ausgabe mit Fehlermeldungen und relativen Zeitangaben }}} Der laufende Vorgang kann mit [[Vorlage(Tasten, strg+c)]] abgebrochen werden. = Problembehebung = Arbeitet der verwendete Treiber nicht mit dem nl80211-Subsystem, so erscheint bei einem Kommando mit iw folgende Fehlermeldung: {{{ nl80211 not found. }}} In diesem Fall kann nur [:iwconfig:] verwendet werden. = Links = * [https://wireless.wiki.kernel.org/en/users/Documentation/iw Dokumentation auf wireless.kernel.org] {en} * [man:iw:iw Manpage] {en} * [:iw/Reg-Database:] * [:WLAN:] {Übersicht} Übersichtsartikel #tag: Netzwerk, WLAN, Internet