I've had some trouble getting good wifi performance out of my Pi, but after lots of googling and trying things I get about 2.5Mbit/s and a median ping of about 230ms.

Not great, but tolerable.

Except that the AVERAGE ping is over 1000ms, simply because every few minutes the wifi completely stalls for a few seconds, creating pings with up to 12000ms (but no package loss).

I've already added a seperate power supply to the wifi-dongle (with a USB Y cable) and added options 8192cu rtw_power_mgnt=0 rtw_enusbss=0 to /etc/modprobe.d/8192cu.conf which should disable the powersaving mode, but it seems the Pi still sends the dongle to sleep every so often.

What can I do to fix this?

EDIT: I confused MB and Mbit, oops ^^"

EDIT 2: lsusb output: Bus 001 Device 005: ID 7392:7822 Edimax Technology Co., Ltd

EDIT 3/4: uname -a output: Linux zehnvorne 4.1.7-v7+ #817 SMP PREEMPT Sat Sep 19 15:32:00 BST 2015 armv7l GNU/Linux
Debian version 8.0

  • Wifi issues are VERY often directly related to the specific device, thus you should include the USB ID (xxxx:xxxx) of your device. With lsusb you can request a list of connected USB devices, which also includes the USB ID (but better yet, post the whole line of your device). – Diederik de Haas Dec 11 '15 at 14:43
  • According to linux-hardware-guide.com/… the driver is not included in the kernel. Where did you get your driver from? Also include that info in your question, not in a comment ;-) Other useful info is what distribution and version you're using and the kernel (uname -a) – Diederik de Haas Dec 11 '15 at 14:51
  • That information is very old and - since I didn't install any drivers - apparently outdated. – Kirby Dec 11 '15 at 14:58
  • That's entirely possible :-) Can you include the whole output of uname -a as that gives more info then just 4.1.7? Can you also include the version of raspbian (cat /etc/debian_version) ? – Diederik de Haas Dec 11 '15 at 15:03
  • Does it make a difference if you add rtw_ips_mode=0 to /etc/modprobe.d/8192cu.conf ? – Diederik de Haas Dec 11 '15 at 15:43

For some reason disabling power management at compile time and at runtime, through options 8192cu rtw_power_mgnt=0 rtw_enusbss=0 still does not result in the same behavior. In drivers/net/wireless/rtl8192cu/os_dep/linux/os_intfs.c you can find the following code block:

int rtw_power_mgnt = 1;
int rtw_ips_mode = IPS_LEVEL_2;
int rtw_ips_mode = IPS_NORMAL;
int rtw_power_mgnt = PS_MODE_ACTIVE;
int rtw_ips_mode = IPS_NONE;

Thus setting rtw_ips_mode=0 (0=IPS_NONE) besides rtw_power_mgnt=0 (0=PS_MODE_ACTIVE) should fix that.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.