Dell E6400: wireless only works with AC adapter plugged-in

Hi,

I have a strange behavior with the wireless connection on a Dell E6400: it works fine, if the AC adapter is plugged in, but the connection becomes immediately much much slower or stops working as soon as I unplug the AC - which is not a particularly useful behavior … I think this behavior started after the 3.2-pae update 1-2 weeks ago.
Changing the power management scheme (to performance) has no effect. Any ideas for a solution or a workaround?

I have OpenSUSE 11.1 installed with the latests updates:

Kernel 2.6.27.19-3.2-pae

lscpi -v returns:

0c:00.0 Network controller: Intel Corporation Wireless WiFi Link 5100
Subsystem: Intel Corporation Device 1321
Flags: bus master, fast devsel, latency 0, IRQ 217
Memory at f1ffe000 (64-bit, non-prefetchable) [size=8]
Capabilities: [c8] Power Management version 3
Capabilities: [d0] Message Signalled Interrupts: Mask- 64bit+ Count=1/1 Enable+
Capabilities: [e0] Express Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSVoil-
UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSVoil-
UESvrt: DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSVoil-
CESta: RxErr- BadTLP+ BadDLLP- Rollover- Timeout+ NonFatalErr+
CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
AERCap: First Error Pointer: 00, GenCap- CGenEn- ChkCap- ChkEn-
Capabilities: [140] Device Serial Number [deleted info]
Kernel driver in use: iwlagn
Kernel modules: iwlagn


lsmod | grep iwl returns:

iwlagn 86832 0
iwlcore 83228 1 iwlagn
rfkill 8576 2 iwlcore
led_class 3896 1 iwlcore
mac80211 199380 2 iwlagn,iwlcore
cfg80211 23356 3 iwlagn,iwlcore,mac80211[/size]

achso wrote:
> Hi,
>
> I have a strange behavior with the wireless connection on a Dell E6400:
> it works fine, if the AC adapter is plugged in, but the connection
> becomes immediately much much slower or stops working as soon as I
> unplug the AC - which is not a particularly useful behavior … I think
> this behavior started after the 3.2-pae update 1-2 weeks ago.
> Changing the power management scheme (to performance) has no effect.
> Any ideas for a solution or a workaround?
>
>
> I have OpenSUSE 11.1 installed with the latests updates:
>
> Kernel 2.6.27.19-3.2-pae
>
> lscpi -v returns:
>
> 0c:00.0 Network controller: Intel Corporation Wireless WiFi Link 5100
> Subsystem: Intel Corporation Device 1321
> Flags: bus master, fast devsel, latency 0, IRQ 217
> Memory at f1ffe000 (64-bit, non-prefetchable) [size=8]
> Capabilities: [c8] Power Management version 3
> Capabilities: [d0] Message Signalled Interrupts: Mask- 64bit+
> Count=1/1 Enable+
> Capabilities: [e0] Express Endpoint, MSI 00
> Capabilities: [100] Advanced Error Reporting
> UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt-
> UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSVoil-
> UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt-
> UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSVoil-
> UESvrt: DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt-
> UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSVoil-
> CESta: RxErr- BadTLP+ BadDLLP- Rollover- Timeout+
> NonFatalErr+
> CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout-
> NonFatalErr+
> AERCap: First Error Pointer: 00, GenCap- CGenEn-
> ChkCap- ChkEn-
> Capabilities: [140] Device Serial Number [deleted info]
> Kernel driver in use: iwlagn
> Kernel modules: iwlagn
>
> —
>
> lsmod | grep iwl returns:
>
> iwlagn 86832 0
> iwlcore 83228 1 iwlagn
> rfkill 8576 2 iwlcore
> led_class 3896 1 iwlcore
> mac80211 199380 2 iwlagn,iwlcore
> cfg80211 23356 3 iwlagn,iwlcore,mac80211

One thing you might do is post these details to linux-wireless@vger.kernel.org.
That is where the Intel people will read it.

The other thing would be to try the latest drivers by downoading and building
the compat-wireless drivers from http://linuxwireless.org/en/users/Download.

Larry

[/size]

Thanks for the tip: I installed the compat-wireless-2009-03-08 and everything works fine.