Ubuntu 10.10/11.04 Freezing on Battery Power - Fix!

2 minute read

* Update 23/08/2011 - in the comments below Carl Parkinson has an interesting fix that doesn't require reverting the pm-utils package. It may be worth trying it first before doing the below.

* Update 15/08/2012 - as people have been suggested other possible fixes, I've added a section at the bottom of the post for these!

I wrote a post several months back regarding a problem with my Dell Studio 15 laptop (with ATI graphics and Broadcom wireless adapter) and Ubuntu 10.10. When running the laptop from the mains all was well. However, if I unplugged the charger, and ran the laptop from the battery (as designed!) it would freeze within a couple of minutes. At the time I reverted back to Ubuntu 9.10. Another release on (11.04) and the problem still exists! Something I find quite shocking as it's a show-stopping bug. Thankfully after googling around I found a simple fix, in that most people suggest downgrading the pm-utils package to the "Lucid" 9.10 version.

  1. Open up Synaptic Package Manager
  2. Settings > Repositories > Other Software, then add the following:
  3. deb http://us.archive.ubuntu.com/ubuntu/ lucid main
  4. "Reload" the package list
  5. Find "pm-utils" then go to Package > Force Version.. and select 1.3.x
  6. Install the downgraded package
  7. Find "pm-utils" again, go to Package > Lock Version

All done, I no longer have any freezes. The issue from reading around is two-pronged. One issue seems to be around the wireless card, and putting it into powersaving mode. The other seems to be something wrong with xserver, or the ATI drivers. I did try turning on power saving on my wireless card by adding "iwconfig eth1 power off" to "/etc/rc.local" (before the exit 0 line), which reduced how quickly freezing occurred, but it still did occur at some point. Since downgrading pm-utils though, my laptop has been running Ubuntu 11.04 happily. The fan was running full blast (and laptop quite hot) at first, but this was fixed by installing the fglrx drivers via the "System > Administration > Additional Drivers" tool.

Other Possible Fixes

In some of the comments a few people have suggested other ways to fix the issue that may be worth trying...

@Carl Parkinson -

sudo touch /etc/pm/power.d/wireless

"The existence of this file (with the execute bit not set) stops any power commands from making any changes to the card's power settings. I believe this will also solve the problem, but I'll need to do a little more testing before I'm 100 certain."

@Nenka - (this solution is possibly unstable) if you (can) boot into Windows, find the driver for your card (most likely under My Computer > (right click) Properties > Device Manager > Network Adapters > Power Management tab). Then disable power management. This changes the power management state of the card to off, and stops it failing (due to buggy power management) in Ubuntu.