Die folgende Beschreibung für die Einrichtung eines USB-WLAN-Adapters in Raspbian ist eine Zusammenfassung verschiedener Anleitungen dazu (siehe dazu am Ende auch die Quellen). Ergänzungen bzgl. der Besonderheiten bestimmter Hardware und Korrekturhinweise sind jederzeit willkommen.
Voraussetzungen
Damit WLAN-Adapter grundsätzlich beim Start des RasPi genutzt werden, sollte die Netzwerkkonfiguration in der Datei /etc/network/interfaces
wie folgt aussehen:
auto lo iface lo inet loopback iface eth0 inet dhcp allow-hotplug wlan0 iface wlan0 inet manual wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf iface default inet dhcp
Hardware
Edimax EW-7811Un
Für die Nutzung mit dem RasPi wird meist der „Nano“-WLAN-Adapter Edimax EW-7811Un empfohlen, da er direkt von Raspbian unterstützt wird. Wenn der Adapter angeschlossen wurde, kann man mit dem Kommando
lsusb
prüfen, ob der Adapter grundsätzlich erkannt wurde. Im Fall des Edimax-Modells sollte das dann etwa so aussehen:
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. Bus 001 Device 004: ID 7392:7811 Edimax Technology Co., Ltd EW-7811Un 802.11n Wireless Adapter [Realtek RTL8188CUS]
Eine weitere Prüfung ist, ob auch eine Netzwerkschnittstelle angelegt wurde. Dies geschieht mit
ifconfig
In der Ausgabe sollte dann auch eine Schnittstelle wlan0
angezeigt werden:
wlan0 Link encap:Ethernet HWaddr 80:1f:02:f6:fe:4a UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:1 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
ISY IWL 2000
Im ISY IWL 2000 steckt ein Adapter von Belkin, der wie der Edimax-Adapter mit dem Kernel-Modul 8192cu
genutzt werden kann. Allerdings hat er eine abweichende Device-ID, weshalb das Modul nicht automatisch geladen wird:
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. Bus 001 Device 004: ID 050d:11f2 Belkin Components
Das Problem kann aber einfach gelöst werden, ohne ein Laden des Moduls zu erwingen, wie es in manchen Anleitungen beschrieben wird.
Zunächst erstellt man eine angepasste Konfiguration für modprobe in der Datei /etc/modprobe.d/rtl8192cu.conf
mit folgendem Befehl:
echo 'install 8192cu /sbin/modprobe --ignore-install 8192cu; /bin/echo "050d 11f2" > /sys/bus/usb/drivers/rtl8192cu/new_id' | sudo tee /etc/modprobe.d/rtl8192cu.conf
Danach eine zusätzliche udev-Regel in der Datei /etc/udev/rules.d/10-wlan-stick.rules
, die dafür sorgt, dass das Modul nur geladen wird, wenn der Adapter auch angeschlossen ist. Dazu kann folgender Befehl verwendet werden:
echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="050d", ATTR{idProduct}=="11f2", RUN+="/sbin/modprobe 8192cu"' | sudo tee /etc/udev/rules.d/10-wlan-stick.rules
Nach einem Neustart des RasPi sollte ifconfig
auch die Schnittstelle wlan0
anzeigen.
Stromsparfunktion des Kernel-Moduls 8192cu abschalten
Das Kernel-Modul 8192cu hat ein ziemlich störendes Verhalten: Werden einige Zeit lang keine Daten übertragen, wird der WLAN-Adapter abgeschaltet, um den Energieverbrauch zu verringern. Das führt dazu, dass der RasPi nicht mehr von aussen ansprechbar ist.
Auch dieses Problem kann gelöst werden. Dazu erstellt man mit folgendem Befehl die Datei /etc/modprobe.d/8192cu.conf
mit einer zusätzliche Option, um die Stromsparfunktion abzuschalten:
echo 'options 8192cu rtw_power_mgnt=0 rtw_enusbss=0' | sudo tee /etc/modprobe.d/8192cu.conf
Nach einem Neustart des RasPi kann man mit dem Befehl
cat /sys/module/8192cu/parameters/rtw_power_mgnt
prüfen, ob die Aktion erfolgreich war. Hier sollte folgendes Ergebnis ausgegeben werden:
0
Konfiguration der WLAN-Netzwerks
Die Zugangsdaten für das WLAN-Netzwerk werden in der Datei /etc/wpa_supplicant/wpa_supplicant.conf
eingetragen. Hier wird in zusätzlicher Block eingefügt, der wie folgt aussieht (ohne Leerzeichen in network={
):
network={ ssid="WLAN-SSID" psk="WLAN-PASSWORT" scan_ssid=1 proto=RSN key_mgmt=WPA-PSK pairwise=CCMP auth_alg=OPEN }
Weitere Informationen dazu findet man auch in der Man-Page, die man mit
man wpa_supplicant.conf
abrufen kann.
Durch die Verwendung des WPA-Supplicant statt einer statischen Konfiguration in /etc/network/interfaces
wird das WLAN automatisch benutzt, wenn es in Reichweite ist. Man kann in der selben Weise auch mehrere Netzwerke eintragen, etwa wenn der RasPi wechselweise an verschiedenen Standorten verwendet wird oder man zeitweise einen mobilen WLAN-Hotspot verwendet. Für jedes Netzwerk wird ein zusätzlicher network
-Block mit den entsprechenden Angaben eingefügt.
Quellen
Die Informationen in diesem Beitrag wurden mit Informationen aus folgenden Quellen zusammengestellt:
Daniël’s Linux Blog – Raspberry Pi and the ISY USB Wireless Micro Adapter
Blog de Maurice Svay – Setting up a WiFi connection on the RaspberryPi
Hallo Arno,
vielen Dank für diese Seite. Ich bin schon am verzweifeln gewesen. Doch nun konnte auch ich diesen widerspenstigen W-LAN-Stick in Betrieb nehmen.
Nochmals Danke.
Freundliche Grüße
Jonas