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 Notebook: Lenovo thinkpad edge e330 Machine Type Model 33542E8 Wifi card: Intel Centrino N2230 ilw@linux.intel.com iwl@linux.intel.com
After some experiments: If I start Linux with acpi=off option, then wifi speed is constantly high, independent of plugging power cable.
As it should be expected pci=noacpi work too, bat battery lifetime decreased by half
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
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.
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.
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.