USB-WLAN-Adapter am RasPi nutzen

RasPi mit Edimax-WLAN-AdapterDie 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

Ein Gedanke zu „USB-WLAN-Adapter am RasPi nutzen“

  1. Jonas Wolfhammer

    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

Öffentlichen Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Wenn Du mich persönlich erreichen möchtest, siehe Impressum.