The people in this thread might very well have different problems, with different solutions, but I found the one to mine.
My laptop rebooted frequently when it tried to use the WLAN when running on battery power. It started to occur after upgrade to 11.04. No important messages were logged, all that happened was that the system froze, became totally unresponsive, and after ~5 seconds rebooted.
I have the following WLAN-card (info from lspci):
Code:
03:00.0 Network controller: Broadcom Corporation BCM43225 802.11b/g/n (rev 01)
I use the "wl" module.
In AC mode, I got the following output:
Code:
$ sudo iwconfig eth1 | grep power
Power Management:off
On battery power:
Code:
$ sudo iwconfig eth1 | grep power
Power Managementmode:All packets received
This means the power saving mode is active (see "man iwconfig").
To turn it off (still on battery power):
Code:
$ sudo iwconfig eth1 power off
$ sudo iwconfig eth1 | grep power
Power Management:off
Now it worked. The problem is the file /usr/lib/pm-utils/power.d/wireless, which sets power saving mode for the card when on battery. It is part of the pm-utils package. Power saving _should_ be a good thing, but apparently it doesn't work very well. My case was extreme, but I've seen many reports of very bad WLAN performance with power saving active (which in turn might be related to the AP not handling the function gracefully, but that's another story).
To fix it permanently: create /etc/pm/power.d/wireless with the content
Code:
#!/bin/sh
/sbin/iwconfig eth1 power off
_and make it executable_ (I missed this point for a while)! Now this file will override /usr/lib/pm-utils/power.d/wireless and disable power saving mode after reboot. It might suffice to just touch /etc/pm/power.d/wireless and leave it blank, depending on your system, but it wasn't enough for me. The power saving mode can apparently be activated through other mechanisms.
For those who want to just copy+paste a command:
Code:
echo "#!/bin/sh
/sbin/iwconfig eth1 power off" | sudo tee /etc/pm/power.d/wireless
sudo chmod +x /etc/pm/power.d/wireless
To be modified if your card is not named "eth1", see output of "iwconfig". Check the power saving status with "sudo iwconfig" after reboot. It should be off.
Bookmarks