Monday, March 31, 2008

Linux on IBM Thinkpad R32 Shutdown / Poweroff Problem with PCMCIA Wifi

Having trouble with your Linux distro not powering down on your laptop? On my old Thinkpad R32, several distributions including Kubuntu 7.10 and OpenSUSE 10.3 were not able to power off the system via software. I'm not exactly sure what was going on, but right when the system should have powered off, the CDROM drive would spin and the CPU fan would come on full blast. Nearly the exact opposite of shutting down, really.

I traced this problem to my D-Link DWL-G50 PCMCIA wifi card -- a nice Atheros based AG card on the cheap. Well, I shouldn't imply that the problem is with the card itself, but something to do with PCMCIA at least.

One solution I've found for this problem is to tell the system to eject the PCMCIA card before or during shutdown with the following command:

pccardctl eject

(Note: if your distro is slightly old, the command might be `cardctl eject`).

Which script you put this command into will depend on your distribution and preference. In OpenSUSE 10.3, open the file /etc/sysconfig/shutdown (as root) and change the line:

HALT_POWERDOWN_INSERT=""

to...

HALT_POWERDOWN_INSERT="pccardctl eject"

I've noticed a few complaints elsewhere about systems not being able to suspend due to wifi card issues. I haven't had a problem with OpenSUSE 10.3 suspending or hibernating on my system, but it seems like a pccardctl eject and a pccardctl insert in the appropriate suspend scripts could solve the issue.

There might be a more appropriate fix for this problem, but I don't care. I'm sick of configuring Linux. I know that Ubuntu 7.10 was able to power my system off correctly, and I think that PCLinuxOS 2007 was able to as well.

No comments: