Bug 84031

Summary: intel n2230 turns slow without power
Product: Drivers Reporter: GRbit (grbitt)
Component: network-wirelessAssignee: drivers_network-wireless (drivers_network-wireless)
Severity: high CC: ilw, linville
Priority: P1    
Hardware: Intel   
OS: Linux   
Kernel Version: 3.13.0-35 Subsystem:
Regression: No Bisected commit-id:

Description GRbit 2014-09-07 12:22:17 UTC
There re a lot of complains on n2230 in the internet.
All advices are lead to switch of 11n functionality, which sometimes helps, but sometimes doesn't.

So here is my problem with this card:
If I test my wifi speed with power cable plugged in my notebook, the speed is ok. But if I for a second pull out the cable, sped drops instantly after that.

PCI powersafe in BIOS switched off
Trying to switch off iwlwifi module power_save, doesn't help

Lenovo thinkpad edge e330
Machine Type Model 33542E8
Wifi card:
Intel Centrino N2230

Comment 1 GRbit 2014-09-07 13:26:51 UTC
After some experiments:
If I start Linux with acpi=off option, then wifi speed is constantly high, independent of plugging power cable.
Comment 2 GRbit 2014-09-07 14:26:59 UTC
As it should be expected pci=noacpi work too, bat battery lifetime decreased by half
Comment 3 GRbit 2014-09-07 16:18:40 UTC
If I switched off wlan0 power saving, then speed is normall

iw dev wlan0 set power_save off

So there is the bug, if card is in power save mode, than speed drops down dramatically. 
I've tested speed with http://testmy.net/ and it drops from ~24Mbps on full power to ~1.8Mbps on power save mode
Comment 4 Emmanuel Grumbach 2014-09-07 16:30:32 UTC
was this working on an older kernel?
If not, I am afraid that we won't be able to fix it since we don't have the firmware resources to fix this kind of bugs.
What I can do is to disable power save by default.
Comment 5 GRbit 2014-09-07 16:44:05 UTC
Kernel is 3.13.0-35-generic
Sad that you can't fix it(

Disabling power save doesn't seemed to discharge battery very fast, when I've boot with pci=noacpi, then battery consumption was high. If only wifi working on full power, it's not a big deal, battery discharging about 10% faster.

So, I think that disabling power save mode by default would help the majority of users.
Comment 6 Emmanuel Grumbach 2014-09-07 18:30:16 UTC
Ok, 3.17 with:

diff --git a/drivers/net/wireless/iwlwifi/dvm/power.c b/drivers/net/wireless/iwlwifi/dvm/power.c
index 760c45c..1513dbc 100644
--- a/drivers/net/wireless/iwlwifi/dvm/power.c
+++ b/drivers/net/wireless/iwlwifi/dvm/power.c
@@ -40,7 +40,7 @@
 #include "commands.h"
 #include "power.h"

-static bool force_cam;
+static bool force_cam = true;
 module_param(force_cam, bool, 0644);
 MODULE_PARM_DESC(force_cam, "force continuously aware mode (no power saving at all)");

this should do it.