Today I patched the brand new zen-sources-2.6.30-r4 with tuxonice. Need the hack for the ipw3945 driver I published on ipw3945 unter linux-kernel 2.6.27.
- 1General
- 5Troubleshooting
General
First, simply try using the power management features of Linux on your computer. Tell Linux to suspend (System > Preferences > Power Management in Gnome). Try closing the lid. ACPI may already work.
Update BIOS
ACPI requires a relatively new BIOS version. In particular, if you get the message,
during startup, you probably need a BIOS Upgrade. For example, a BIOS upgrade from version 1.02 to 1.10 was all that was needed for ACPI to start working on an A31 2652 running Red Hat Enterprise Linux 5 (CentOS 5).
Kernel configuration
Many Kernel 2.6 distributions like Red Hat Enterprise Linux 5 (Centos 5) have ACPI built in and ready to go. If not, you must enable ACPI support in your kernel.
To do this open your kernel config and enable ACPI Power Management:
- Power management options →<*>Power Management support(CONFIG_PM)
- Power management options →<*>ACPI Support(CONFIG_ACPI)
You'd most likely want to enable the following ACPI options:
- Power management options →<*>Suspend to RAM and standby(CONFIG_SUSPEND)
- Power management options →ACPI →<*>AC Adapter(CONFIG_ACPI_AC)
- Power management options →ACPI →<*>Battery(CONFIG_ACPI_BATTERY)
- Power management options →ACPI →<*>Button(CONFIG_ACPI_BUTTON)
- Power management options →ACPI →<*>Fan(CONFIG_ACPI_FAN)
- Power management options →ACPI →<*>Processor(CONFIG_ACPI_PROCESSOR)
- Power management options →ACPI →<*>Thermal Zone(CONFIG_ACPI_THERMAL)
If you prefer editing your .config file directly, you should set at least the following variables:
Then recompile your kernel.
ACPI SLEEP States option did only show up for me after patching Software Suspend 2 into the kernel. With a vanilla 2.6.17 kernel, one must enable CONFIG_SMP and CONFIG_HOTPLUG_CPU for the option to appear, cf. Debian bug #383059 .(This should be fixed in 2.6.23, there are new CONFIG_SUSPEND and CONFIG_HIBERNATION config options)
Kernel boot parameters
Many ThinkPads have been hit by a recent (kernel 2.6.16) change to ACPI4Linux that changed the default means of accessing the ACPI Embedded Controller as a way to shake out underlying bugs in the EC access code. If your ThinkPad fails to resume properly (a blinking Sleep light on resume that doesn't go away, or a hang when trying to suspend/standby a second time), adding
ec_intr=0
to your kernel command line may help.ThinkPad specific ACPI driver
If you are using kernel version 2.6.22 and later, please use the thinkpad-acpi driver included with the kernel.
Generally it is a good idea to read the README included with the driver.
Backlight problems with post-2.6.26 kernels
According to [this thread], users with 2.6.26 kernel and higher may experience problems with ThinkPad backlight contols (Fn+Home, Fn+End on T61). The symptoms are:
- backlight brightness controls do not work;
- Using acpi_listen command, there is no reaction for brightness down button, but brightenss up gives:
The solution is that one needs to enable `CONFIG_VIDEO_OUTPUT_CONTROL`:
Subsequently one should enable 'CONFIG_ACPI_VIDEO':
Without `CONFIG_VIDEO_OUTPUT_CONTROL` enabled, one will not be able to enable `CONFIG_ACPI_VIDEO` in menuconfig or similar interface as the option will remain hidden
ACPI S4 hardware signature mismatch
Around kernel 2.6.27, a feature was introduced to check the hardware signature on resume from S4 (hibernate). This feature might be broken on some models. Resume will halt and the following error message is shown:
- ACPI: Hardware changed while hibernated, cannot resume!
- Kernel panic - not syncing: ACPI S4 hardware signature mismatch
To fix it, add the following kernel parameter:
- acpi_sleep=s4_nohwsig
This problem appeared here on a T42p, but only if the power is unplugged while hibernated, even if the battery is still plugged. Another sympton is, that resume hangs with a dark screen if the acpi_cpufreq module is loaded, even if the power is not unplugged while hibernated. With the above mentioned kernel parameter, both problems go away.
ACPI daemon
Also you'll need to install acpid, if it isn't present on your system. acpid is a daemon that handles the ACPI events generated by the system. Read How to configure acpid.
For acpid to work, the ACPI event interface /proc/acpi/event must be configured in the kernel (via CONFIG_ACPI_PROC_EVENT). As of kernel 2.6.25, this interface is deprecated. ACPI events are now distributed through the kernel's input event framework, making acpid redundant and, ultimately, obsolete. However, userspace utilities have been slow to migrate toward the new interface, and many Linux distributions continue to enable the old interface. Check your kernel configuration, or check to see if /proc/acpi/event exists.
Screen blanking (Standby)
Make sure you have
in the Monitor section of your /etc/X11/XF86Config or /etc/X11/xorg.conf.
Running
$ xset +dpms
and then $ xset dpms force off
will turn off the backlight on a laptop screen.Note that this may not work in combination with
$ echo -n 'mem' > /sys/power/state
because switching to console causes the backlight to come back on before sleeping.![Tuxonice 2.6.27 Patch Tuxonice 2.6.27 Patch](https://distrowatch.com/images/cgfjoewdlbc/nova.png)
See also How to reduce power consumption#LCD Backlight/Brightness
Suspend to RAM (Sleep)
ACPI Sleep/suspend-to-ram with recent 2.6.x kernels usually works fine. Have a look at the acpid configuration HOWTO. It includes a specific example for going to sleep on lid close.
For Troubleshooting, look at the Problems with ACPI suspend-to-ram page.
Suspend to disk (Hibernate)
There are two drivers for this available:
- swsusp, which is in the kernel and
- TuxOnIce which is more feature rich, but not yet in the kernel, so you have to patch it in yourself.
Both are reported to work fine as long as you use open-source graphic drivers. A comparison of the features can be found on this page.
Just in case you are in doubt...yes, it is safe in both cases to use the same swap partition as active swap and as suspend partition.
See the according drivers page for instructions.
Troubleshooting
Machine reboots after shutting down
Try removing ehci_hcd before shutting down, eg, add the following line to rc.local.shutdown
Needed on X220 and X230.
ThinkPads on which it is recommended to use ACPI
- ThinkPad 770X, 770Z
- ThinkPad A20m, A20p, A20m, A20p, A21e, A21m, A21p, A22e, A22m, A22p, A30, A30p, A31, A31p
- ThinkPad G40, G41
- ThinkPad R30, R31, R32, R40, R40e, R50, R50e, R50p, R51, R52, R60
- ThinkPad T22, T23, T30, T40, T40p, T41, T41p, T42, T42p, T43, T43p, T61
- ThinkPad X20, X21, X22, X23, X24, X30, X31, X32, X40, X41, X41 Tablet
- ThinkPad Z60t, Z60m, Z61m
- ThinkPad X60s
- ThinkPad TransNote
- ThinkPad T20 and T21 have old ACPI implementations, but there have been some reports of using ACPI successfully on these models with Ubuntu and Mandriva in particular. Check the related pages about installing Linux on these models for details.
Retrieved from 'https://www.thinkwiki.org/w/index.php?title=How_to_make_ACPI_work&oldid=56648'
Today I patched the new zen-sources-2.6.31-r1 with tuxonice. This time it was a bit more complicated since the two patches are conflicting. So I modified the tuxonice patch to apply cleanly over the zen-kernel.
Suspend to RAM works at least on my Dell Precison M65 as well as suspend to disk does.
Download the zen-sources 2.6.31-zen1 patch here: zen-sources.org. Then apply the patch to vanilla kernel sources. Afterwards download my modified tuxonice patch from here: [download#29]. Then apply it.
For Gentoo users there is a more easy way: Download my modified overlay (including the patches) from [download#30] and extract it in /usr/local/portage. Be sure to include the following line in your /etc/make.conf:
PORTDIR_OVERLAY=”/usr/local/portage”
Then emerge zen-sources-toi and buld the kernel as you wish.
To work around the black screen problem with some nvidia-drivers versions occuring with 2.6.30 kernels, discussed at gentoo forums, I had to upgrade to nvidia-drivers-190.18. Most probably this problem persists with 2.6.31. Strangely the issue did only occur on my Precision M65 with a Quadro FX350M. It did not occur with the Quadro FX3400 in my Desktop PC, Nvidia-drivers-185.18.31 are running there without any problems.
Tuxonice is not officially supported in zen-sources. So If you’re using the files above, don’t report any bugs to zen-sources.org. You are on your own.
For my Precision M65 I used the following kernel config: [download#31]
If you want to use all channels with the iwl3945 driver change the line static char *ieee80211_regdom = “US”; to static char *ieee80211_regdom = “JP”; in the file net/wireless/reg.c.
If you also own of those old 16 Bit Adaptec pcmcia scsi cards using the aha152x_cs module you might want to enable it also for 64 Bit kernels. It was masked for 64 Bit kernels somewhere before 2.6.13. I was unable to find out the reason for this so I tried to compile the module. When I insert the card, the module loads properly. Since the drive I could test it with, is currently attached to another box and in use, I can´t try it out for the moment. Once I tried I´ll keep you updated.
To enable the driver remove the line
depends on !64BIT
in the config PCMCIA_AHA152X section in /usr/src/linux/drivers/scsi/pcmcia/Kconfig and select the module in menuconfig.
Addon: I tried a SCSI cdrom with this and it works perfectly. I just filed a bug on this on bugzilla.kernel.org and hope for the driver being unmasked for future 64 Bit kernels.
If you are using this kernel on a notebook with i.e. a Core2 CPU you might be interesting to undervolt your CPU to save power and to produce less heat (keeps the fan off longer). This works like a charm on my M65. Information on this topic can be found here: aldeby.org. The linux-pch patch mentioned there is already included in zen-sources, thus you only have to perform the userspace part begnning at (3).
For image compression in tuxonice include Compressor lzo in your suspend2.conf file.
Sadly the iptables mirror target I published here does not work anymore with the 2.6.31 kernel. A newer version will be available soon on mygnu.de.
For more information on the zen-sources patchset see www.zen-sources.org.
best regards
Jürgen
(No Ratings Yet)