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="
default="nolapic
noapic
"<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!
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.
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.