Raspberry Pi mit Edimax Wifi verliert Verbindung

Für meine Raspberries benutzte ich meistens die günstigen Edimax EW-7811UN Wifi adapter.
Sie sind klein, unterstützen 802.11n mit 150 MBit/s und funktionieren zuverlässig ohne große Treiberinstallation.

Nur ein Problem kann es, je nach installiertem Image, geben: Nach einigen Minuten ist der Raspberry nicht mehr über das Netzwerk erreichbar.
Man kann ihn nicht mehr anpingen, Versuche eine SSH-Verbindung aufzumachen scheitern mit einem Timeout.
Trotzdem kann man Raspberry immer noch Webseiten aufmachen. Und in dem Moment in dem man das macht, lässt sich der RPi auch wieder anpingen.

Ursache für dieses Verhalten ist das Power-Management des Wifi Adapters. Standardmäßig legt sich der Adapter schlafen, wenn ein paar Minuten keine Netzwerkaktivität vorhanden ist.

Die Lösung dazu findet sich zum Beispiel bei raspberry-spy.co.uk

Dieser Adapter verwendet laut lsusb einen Realtek RTL8188C Chipsatz.
Das Folgende gilt auch für den ebenfalls häufig verwendeten RTL8192C Chipsatz.

Man kann das Power-Managment bei diesen Chipsätzen nicht, wie in manchen Anleitungen beschrieben, mit dem Eintrag „wireless-power off“ in /etc/network/interfaces abschalten.

Statt dessen muss man dem Treiber-Modul beim starten einen Parameter mitgeben.

Erst mal mittel lsmod verifizieren, dass das Modul 8192cu überhaupt geladen ist.
pi@pi1 ~ $ lsmod
Module Size Used by
snd_bcm2835 22317 3
snd_pcm 92581 1 snd_bcm2835
snd_seq 61957 0
snd_seq_device 5130 1 snd_seq
snd_timer 23454 2 snd_pcm,snd_seq
snd 68161 11 snd_bcm2835,snd_timer,snd_pcm,snd_seq,snd_seq_device
evdev 11364 8
joydev 9913 0
8192cu 569532 0
bcm2835_gpiomem 3703 0
rpi_backlight 2395 0
uio_pdrv_genirq 3690 0
uio 10002 1 uio_pdrv_genirq
rpi_ft5406 3184 0

Ob das Power-Management eingeschaltet ist oder nicht, lässt sich im sys Verzeichnis auslesen:
pi@pi1 ~ $ sudo cat /sys/module/8192cu/parameters/rtw_power_mgnt
1
pi@pi1 ~ $ sudo cat /sys/module/8192cu/parameters/rtw_enusbss
0

Das waren meine Standard-Einstellungen, die besagen, dass der Power-Saving-Mode eingeschaltet (rtw_power_mgnt = 1) und der Auto-Suspend-Mode ausgeschaltet ist (rtw_enusbss = 0).

Für eine ununterbrochene Netzwerkverbindung sollten beide ausgeschaltet sein, und das erreichen wir durch entsprechende Einträge im File /etc/modprobe.d/8192cu.conf:
pi@pi1 ~ $ sudo nano /etc/modprobe.d/8192cu.conf

Folgende Zeile einfügen:
options 8192cu rtw_power_mgnt=0 rtw_enusbss=0
Dann CTRL-O zum Speichern und CTRL-X zum verlassen.

Danach rebooten und noch mal wie oben beschrieben überprüfen, ob das Power-Management noch aktiv ist.

Bei mir waren danach alle Verbindungsverluste verschwunden.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.