2. 2.6 series kernels

2.1. acpi_power_off hangs in 2.6

There are a couple of solutions to this problem, depending on your laptop.

The easiest option to try is to remove the APIC options at boot time. This has been reported to work on a Sony TR2. In the /etc/lilo.conf file look for a line that has append="". Inside the quotes add the words nolapic and noapic.

Example C.1. Updating the append directive in LILO

Open and edit the /etc/lilo.conf configuration file as root. Add the appropriate instructions to the existing append statement. If there is not an append statement you can add one right before the list of boot disk images. In my /etc/lilo.conf it would look like this:


append="nolapic noapic"

default="<a_unique_and_clever_name>"
image=/vmlinuz
label=<a_unique_and_clever_name>
read-only

After editing the configuration file, load the new information by running the command lilo as root.

# lilo

You can also remove these two modules from the kernel completely by removing the following kernel options: CONFIG_X86_UP_APIC, CONFIG_X86_UP_IOAPIC. This is what I have done with my Acer TravelMate.

Acer TravelMates should also disable the RTC-related modules. They are not needed for normal operation.

The following kernel modules should be unselected to allow the notebook to power off correctly:

  • CONFIG_HPET_EMULATE_RTC

  • CONFIG_RTC

  • CONFIG_SND_RTCTIMER

Thank you to mizu for discovering this solution!

2.2. Touchpad/Mouse or Keyboard Freezes

Karl Hegbloom emailed me to say that keyboard keys sticking, touch pad pointer jumping suddenly across the screen, lockups under heavy network I/O [was] caused by polling the battery state via ACPI and the proc file system. This problem is caused by a delay between the initial request for information about the battery's status and the response. In that delay communication with the keyboard or touch pad may be temporarily interrupted causing the device to become out of sync (jumpy) or the communication lost (freeze). The overnight solution is to either turn off the battery applet, or reduce its polling frequency. Karl also notes that a BIOS update was also able to solve the problem. Thanks Karl!

I did not find this to be a problem for me in the 2.4.x kernels, however, it was a problem when I upgraded to 2.6.5. I use wmacpi to monitor my battery status. By setting the polling frequency to 1 (the lowest possible number), I seem to have eliminated the touch pad lockups. In my .xinitrc file I use:

/usr/bin/wmacpi -s 1

The -s 1 represents the polling frequency (sample rate) of once per minute. The default is 20.

Caution

If you recently upgraded to the 2.6 series kernel, make sure your touch pad drivers are correctly installed as well. You may find the following KernelTrap article useful if you are not sure where to start: http://kerneltrap.org/node/view/2199.