[SOLVED[ rtl8192 wifi performance problem after last stable update


#1

After the last stable update I got a serious performance problem with the USB WiFI dongle that I normally use with my notebook: a D-Link DWA 131 based on RTL8192EU chip.

IMO the problem is generated from the power management (powerdevil or something else, I didn’t investigte till now) and the final result is that the performance make the WiFI connection unusable.

The solution I found googling around is to generate the file

/etc/modprobe.d/8192eu.conf

and to add this command line:

options 8192eu rtw_power_mgnt=0 rtw_enusbss=0

After the reboot all work correctly. I tested it also with the rtl8192cu and work.

rtwp_power_mgnt=0 disable the power management
rtw_enusbss=0 disables USB autosuspend

I found the solution here: https://github.com/xbianonpi/xbian/issues/217

EDIT 0: I continue to investigate cause I’m having an annoying message in dmesg, continuously replicated with the shortGIrate value jumping between 0 and 1. The message is:

RTL871X: rtl8192e_set_raid_cmd, bitmap=0xf8ff000, mac_id=0x0, raid=0x0, shortGIrate=1

Looking around I discover that:

  1. is possible to see the parameters implemented in the driver; the command is modinfo . For me:

modinfo 8192eu

But is also possible to see the VALUE of the parameters with the command systool -v -m . For me:

systool -v -m 8192eu

I wasn’t able, till now, to avoid the message (I think its trying to jump between different WiFI frequency, 2GHz/5GHz, or to jump between different WiFI Access Point; we have 2 in office), but the performance are definitely better. I added also another parameter to the /etc/modprobe.d/8192eu.conf to definitely disable the power management. Not the 8192eu.conf is:

# Disable power management
options 8192eu rtw_power_mgnt=0 

# Disable USB autosuspend
options 8192eu rtw_enusbss=0

# Disable power management (Gentoo forum for 8192ce)
options 8192eu rtw_ips_mode=0

I’ll continue to investigate the parameters cause I’ve the “sensation” that setting correctly some parameters I can solve the problem definitely and to have better performance. If somebody know where to find a place explaining what do these parameters, should be a great help. :slight_smile:

EDIT 1: in the meantime I discovered the C function that define and manage the shortGIrate variable and yes, I’m almost sure that its part of the code that control the connection rate (2GHz or 5GHz). Now, after the configuration file, I’ve less messages in the log and (almost) all always with the “1” value, while before the value jumped between “1” and “0”. Now I must discover HOW to avoid that the driver, after some minutes, try to modify the connection frequency when its connected to the same AP/Router.

EDIT 2: now the performance are like before the upgrade and better. I modified the configuration file using ONLY the first 2 parameters. Now the 8192eu.conf file is:

# Disable power management
options 8192eu rtw_power_mgnt=0 

# Disable USB autosuspend
options 8192eu rtw_enusbss=0

# Disable power management (Gentoo forum for 8192ce)
# options 8192eu rtw_ips_mode=0

In the meantime I upgraded also the router firmware and modify also the DHCP lease time of the router; just to avoid unusable negotiation to confirm an internal IP address.


#2

I’m not sure RTL871X driver was supposed to run RTL8192EU


#3

@mirh: the drive I’m using is not the the RTL871X but the rtl8192eu. You can find it in AUR and here:

I installed it using dkms. the RTL871X used for the message in the log, is a misprint of the programmers; surely the source, originally, covered more/different device :slight_smile:


#4

[quote]One other option is to use a v4.9 kernel which has driver rtl8xxxu. It supports 8192eu, but does not (yet) have the 2357:0108 ID. Apparently, 2357:0109 does work with the driver.
[/quote]Which, if I check torvalds history, got a lot of rtl8192eu (including D-Link DWA-131 rev E) usb IDs added in 4.11


#5

@mirh: what I know is that if I remove the rtl8192eu driver that I reported in the previous post, the D-Link DWA-131 rev E, that is exactly the USB dongle that I use, don’t work (kernel 4.11.4-1, 4.9.31-1).

Now, despite the lot of different 8192 dongle present on the market, I’m focused to get back the same performance that I got before the last stable update with my 8192eu USB dongle. Applying the steps that I described in the first post, I’ve almost achieved the goals. Sorry me, but to understand what Torvald do with other 8192 USB dongle, is not of interest for me; at least now. :slight_smile:


#6

Torvalds was just meant to refer to mainline kernel.
Anyway, what’s your device id?


#7

ID 2001:3319 D-Link Corp.


#8

Uh, I think I may have got the problem: CONFIG_RTL8XXXU is not set by default possibly.
Which means the driver is never compiled in the first place.


#9

@mirh: I haven’t understodd which kind of problem you have, but maybe a good idea if you open a thread. I did also a fast look to the kernel compilation parameters and the rtl8192EU is not compiled in the kernel.


#10

Yes, and I’d be telling you that you might want to try the mainlined one too.

If atm the more recommended solution is the DKMS separate module, I guess that may still have some issue…
But if you have time to report these to maintainer, they could be fixed eventually.


#11

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.