<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.thinkwiki.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Fooka</id>
	<title>ThinkWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.thinkwiki.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Fooka"/>
	<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/wiki/Special:Contributions/Fooka"/>
	<updated>2026-04-17T13:24:16Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.12</generator>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_make_ACPI_work_on_a_ThinkPad_T23&amp;diff=21001</id>
		<title>How to make ACPI work on a ThinkPad T23</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_make_ACPI_work_on_a_ThinkPad_T23&amp;diff=21001"/>
		<updated>2006-03-21T06:39:55Z</updated>

		<summary type="html">&lt;p&gt;Fooka: /* Frequency Scaling */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page deals with installing and running {{Gentoo}} Linux (2005.1) on a ThinkPad {{T23}}, Model 2647-4MG.&lt;br /&gt;
&lt;br /&gt;
==Basic installation==&lt;br /&gt;
The default kernel (2.6.12-r6) boots OK, and recognises all the devices (modem not tested).&lt;br /&gt;
&lt;br /&gt;
==ACPI==&lt;br /&gt;
Getting software suspend working requires some tweaking.&lt;br /&gt;
&lt;br /&gt;
First of all, [[BIOS Upgrade|update to the latest BIOS and Embedded Controller Program]].&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|dmesg}} will probably tell you that ACPI isn't enabled in the BIOS, because the T23 BIOS has no mention of ACPI. Just add {{bootparm|lapic|}} to the kernel&lt;br /&gt;
arguments in {{path|/etc/lilo.conf}} or {{path|/boot/grub/menu.lst}}.&lt;br /&gt;
&lt;br /&gt;
After that, you will probably get a lot of ACPI error messages, generally of the form &amp;lt;tt&amp;gt;AE_NOT_EXIST&amp;lt;/tt&amp;gt;. Those can be fixed by recompiling your DSTD. To do just that, get the Intel iasl compiler source from [http://developer.intel.com/technology/iapc/acpi/downloads.htm their site] and compile it.  It should build without troubles. De- and re-compile the DSDT. If it gives errors or remarks, try fixing them as best as you can. Then load the new DSDT on boot with the kernel's &amp;quot;Custom DSDT&amp;quot; option.&lt;br /&gt;
&lt;br /&gt;
Now {{cmdroot|dmesg}} should show that the ACPI had found the ECDT and enabled the interpreter and you should find a full set of ACPI entries under {{path|/proc}}.&lt;br /&gt;
&lt;br /&gt;
Done that, verify that the [[ibm-acpi]] driver is enabled by issuing {{cmdroot|ls /proc/acpi/ibm/*}}. If you see files in this directory, everything is alright. If the directory couldn't be found, you will have to enable [[ibm-acpi]] in your kernel config (as builtin or module) and recompile your kernel.&lt;br /&gt;
&lt;br /&gt;
The next step is [[How to configure acpid|configuring acpid]], which handles the ACPI buttons through scripts in {{path|/etc/acpi}}.&lt;br /&gt;
&lt;br /&gt;
To try if suspend to ram workd, press {{key|Fn}}{{key|F4}} or issue a {{cmdroot|echo -n mem &amp;gt;/sys/power/state}}.&lt;br /&gt;
&lt;br /&gt;
===Resume problem===&lt;br /&gt;
If your system doesn't resume from sleep after that, use the power button to switch it off and restart. To solve the issue, try disabling S3 framebuffer support in your kernel config and recompile your kernel. Should that not be enough, try unloading suspicious drivers such as USB in your suspend script and reloading them on resume.&lt;br /&gt;
&lt;br /&gt;
If all that doesn't help, build a monolithic kernel having everything you need builtin and only minimal options enabled. If it works with that kernel, start reenabling other options step by step.&lt;br /&gt;
&lt;br /&gt;
===Button events===&lt;br /&gt;
By default, ACPI seems to handle three button events only - the Power button, the Suspend key ({{key|Fn}}{{key|F4}}) and the lid event. {{key|Fn}}{{key|F3}} (Screen blank) will need [[How to make ACPI work#Screen blanking (Standby)|extra configuration]], as well as {{key|Fn}}{{key|F12}} (Suspend to disk) (look [[How to make ACPI work#Suspend to disk (Hibernate)|here}}). {{key|Fn}}{{key|F7}}, (Switch to&lt;br /&gt;
video) at least blanks the LCD.&lt;br /&gt;
&lt;br /&gt;
{{key|Fn}}{{key|Home}} (LED brighter), {{key|Fn}}{{key|End}} (LED dimmer), {{key|Fn}}{{key|PgUp}}&lt;br /&gt;
(Screen light) will work without any further effords, since they are not handled by the ACPI subsystem.&lt;br /&gt;
&lt;br /&gt;
When the machine is running, the lid switch blanks the screen when&lt;br /&gt;
pressed and restores on release, but if the machine is suspended&lt;br /&gt;
pressing the switch does nothing and releasing it brings the machine out&lt;br /&gt;
of suspend mode.&lt;br /&gt;
&lt;br /&gt;
Commands echoed to eg: {{path|/proc/acpi/ibm/light}} can be mixed with the appropriate keypresses (here,&lt;br /&gt;
{{key|Fn}}{{key|PgUp}}) without problems.&lt;br /&gt;
&lt;br /&gt;
===Frequency Scaling===&lt;br /&gt;
The CPU (Pentium III-M) has power management and&lt;br /&gt;
throttling; use the '''acpi-cpufreq''' module instead of the '''speedstep-ich''' module to change speed automatically. The CPU has &lt;br /&gt;
only two speeds, and with the '''cpufreq_ondemand''' &amp;amp; '''cpufreq_conservative''' modules, dynamic scaling will be achieved. Alternatively, with the '''speedstep-ich''' module, you can use a shell script to flip between the performance and powersave kernel governors; everything needed can be found in the {{path|/sys/devices/system/cpu/cpu0/cpufreq}} directory.&lt;br /&gt;
&lt;br /&gt;
===UltraBay LED stays lid===&lt;br /&gt;
The Bay LED wrongly stays lit even when in suspend to ram mode, but the most recent (1.1) [[ibm-acpi]] module provides an ACPI LED device which controls most of the LEDs (the Bay LED&lt;br /&gt;
is 4), so you can switch it off in your suspend script.&lt;br /&gt;
&lt;br /&gt;
===Resume===&lt;br /&gt;
With the CPU on low speed (if it matters) and the LED off the power consumption in Suspend mode is around 580mW.&lt;br /&gt;
&lt;br /&gt;
It looks as if the software to control full ACPI functionality has&lt;br /&gt;
only stabilised within the middle of 2005, so if you&lt;br /&gt;
have problems, try upgrading to IBM's latest BIOS and EBIOS, and a&lt;br /&gt;
kernel &amp;gt;=2.12.  With luck, the next version or so of the S3 driver will&lt;br /&gt;
be free of its hang problem.&lt;/div&gt;</summary>
		<author><name>Fooka</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Savage&amp;diff=20867</id>
		<title>Talk:Savage</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Savage&amp;diff=20867"/>
		<updated>2006-03-13T06:32:59Z</updated>

		<summary type="html">&lt;p&gt;Fooka: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== DRM working flawless in stock debian Sid package ==&lt;br /&gt;
Hey, this ought to be posted. I've installed it works.. &lt;br /&gt;
glxgears went from FPS in the high 100s to FPS in the high 400s!&lt;br /&gt;
&lt;br /&gt;
the package in question is &amp;quot;libgl1-mesa-dri&amp;quot; -- install that from sid, and bam! DRM in Xorg 6.9.0.. um. probably want to add Load &amp;quot;drm&amp;quot; among the modules loading in your xorg.conf.&lt;br /&gt;
&lt;br /&gt;
[http://hardware.mcse.ms/message269644.html this is the page] I found with the info.&lt;/div&gt;</summary>
		<author><name>Fooka</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_configure_acpid&amp;diff=20733</id>
		<title>How to configure acpid</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_configure_acpid&amp;diff=20733"/>
		<updated>2006-03-09T01:49:52Z</updated>

		<summary type="html">&lt;p&gt;Fooka: CAN use! CAN use!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
==Introduction==&lt;br /&gt;
Basically, [[acpid]] just executes scripts residing in {{path|/etc/acpi/actions}}. Which script to launch at which event is configured in several files in {{path|/etc/acpi/events}}. All actions are documented in {{path|/var/log/acpid}}.&lt;br /&gt;
&lt;br /&gt;
==Sources of Information==&lt;br /&gt;
*{{cmduser|man acpid}} holds detailed information on how to configure acpid.&lt;br /&gt;
*The [[ibm-acpi]] package includes example scripts in the {{path|config}} folder inside the tarball. They are a good starting point to adjust them to your needs.&lt;br /&gt;
*You also might want to have a look at the [[Configs#ACPI | ACPI section of the Configs page]] or the [[:Category:Scripts|Scripts]] repository.&lt;br /&gt;
*And you can find information about the event strings [[ibm-acpi]] generates for certain keys at the [[How to get special keys to work#ibm-acpi_events | Special Keys HOWTO]].&lt;br /&gt;
&lt;br /&gt;
==Example: go to sleep on lid close==&lt;br /&gt;
To make the ThinkPad go to sleep when you close the lid, you need to add&lt;br /&gt;
an event handler for the lid event and an action script that takes care&lt;br /&gt;
of going to sleep and resuming.&lt;br /&gt;
&lt;br /&gt;
===Event Script===&lt;br /&gt;
The event script needs to be created within {{path|/etc/acpi/events}} and can have any name you like.&lt;br /&gt;
In this case we call it lid because it will trigger the lid event. Do {{cmdroot|vi /etc/acpi/events/lid}} and make it look like this:&lt;br /&gt;
 event=button/lid&lt;br /&gt;
 action=/etc/acpi/actions/sleep.sh %e&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;event&amp;quot; line is a regular expression specifying the events we're&lt;br /&gt;
interested in. You can determine what the event strings are from looking at&lt;br /&gt;
{{path|/var/log/acpid}} after trying to suspend, close the lid, etc. .&lt;br /&gt;
You can find information about the event strings [[ibm-acpi]] generates for certain keys at the [[How to get special keys to work#ibm-acpi_events | Special Keys HOWTO]].&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;action&amp;quot; line is the command to be executed when these events are&lt;br /&gt;
dispatched. In this example we call the {{path|sleep.sh}} script residing in {{path|/etc/acpi/actions}} and pass the event description text using the %e placeholder.&lt;br /&gt;
&lt;br /&gt;
For the script you can use the &amp;lt;tt&amp;gt;hibernate&amp;lt;/tt&amp;gt; script of [http://www.suspend2.net/ Software Suspend 2] (it is independent of the [[Software Suspend 2|suspend-to-disk]] functionality), or any of many examples available on the web, such as the one below.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|To make your changes take effect after adding or modifying the events files you must do a &amp;lt;tt&amp;gt;kill -SIGHUP `pidof acpid`&amp;lt;/tt&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
===Action Script===&lt;br /&gt;
Our example {{path|/etc/acpi/actions/sleep.sh}} script looks as follows:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 # if launched through a lid event and lid is open, do nothing&lt;br /&gt;
 echo &amp;quot;$1&amp;quot; | grep &amp;quot;button/lid&amp;quot; &amp;amp;&amp;amp; grep -q open /proc/acpi/button/lid/LID/state &amp;amp;&amp;amp; exit 0&lt;br /&gt;
 &lt;br /&gt;
 # remove USB 1.1 driver&lt;br /&gt;
 rmmod uhci_hcd&lt;br /&gt;
  &lt;br /&gt;
 # sync filesystem and clock&lt;br /&gt;
 sync&lt;br /&gt;
 /sbin/hwclock --systohc&lt;br /&gt;
 &lt;br /&gt;
 # switch to console&lt;br /&gt;
 FGCONSOLE=`fgconsole`&lt;br /&gt;
 chvt 6&lt;br /&gt;
 /usr/sbin/radeontool light off&lt;br /&gt;
 &lt;br /&gt;
 # go to sleep&lt;br /&gt;
 sleep 5 &amp;amp;&amp;amp; echo -n &amp;quot;mem&amp;quot; &amp;gt; /sys/power/state&lt;br /&gt;
 &lt;br /&gt;
 # readjust the clock (it might be off a bit after suspend)&lt;br /&gt;
 /sbin/hwclock --adjust&lt;br /&gt;
 /sbin/hwclock --hctosys&lt;br /&gt;
 &lt;br /&gt;
 # reload USB 1.1 driver&lt;br /&gt;
 modprobe uhci_hcd&lt;br /&gt;
 &lt;br /&gt;
 # turn on the backlight and switch back to X&lt;br /&gt;
 radeontool light on&lt;br /&gt;
 chvt $FGCONSOLE&lt;br /&gt;
&lt;br /&gt;
====Explanations====&lt;br /&gt;
*The lid generates an event for both opening and closing thus requiring that we check its state and only act if it's closed.&lt;br /&gt;
*There have been problems encountered with the USB devices not working properly after a resume from suspend. To circumvent those we remove the USB driver prior to suspend and reload it afterwards.&lt;br /&gt;
*Note that the {{cmdroot|echo -n &amp;quot;mem&amp;quot; &amp;gt; /sys/power/state}} line does not return until we are revived. So there is only one event generated and there is no need to check the state of anything.&lt;br /&gt;
*The console switching code in this script is a special solution for [[Problem with LCD backlight remaining on during ACPI sleep|a problem where the backlight doesn't switch off]] on the {{T30}} and some other models. Before going to sleep, these models switch to console mode which causes the backlight to come back on. So we preemptively switch to console mode and turn off the backlight using [[radeontool]] before going to sleep.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
*If something doesn't work, your first action should be a {{cmdroot|tail /var/log/acpid}}. It will tell you a lot about what is going on. If it has &amp;quot;Permission denied&amp;quot; errors, check the permissions of your {{path|/etc/acpi/actions}} scripts (especially make sure that the executable bit is set). Also check the permissions for other involved files like i.e. device nodes.&lt;br /&gt;
*If your display doesn't come back on resume, look [[Problem with display remaining black after resume|here]].&lt;br /&gt;
*My X21 didn't reset the sleep LED (the small moon), it was blinking after the sleep, if you have the ibm-acpi kernel module loaded, you can switch it of after the sleep by appending this line to the script:&lt;br /&gt;
 echo 7 off &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
{{NOTE|&lt;br /&gt;
The ibm-acpi module must have the experimental&amp;lt;math&amp;gt;=&amp;lt;/math&amp;gt;1 parameter passed to if for /proc/acpi/ibm/led to work.  You can either do this through a /etc/modprobe.d entry or manually.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:770X]] [[Category:770Z]] [[Category:A20m]] [[Category:A20p]] [[Category:A20m]] [[Category:A20p]] [[Category:A21e]] [[Category:A21m]] [[Category:A21p]] [[Category:A22e]] [[Category:A22m]] [[Category:A22p]] [[Category:G40]] [[Category:G41]] [[Category:R30]] [[Category:R31]] [[Category:R32]] [[Category:R40]] [[Category:R40e]] [[Category:R50]] [[Category:R50p]] [[Category:R51]] [[Category:R52]] [[Category:T20]] [[Category:T21]] [[Category:T22]] [[Category:T23]] [[Category:T30]] [[Category:T40]] [[Category:T40p]] [[Category:T41]] [[Category:T41p]] [[Category:T42]] [[Category:T42p]] [[Category:T43]] [[Category:T43p]] [[Category:X20]] [[Category:X21]] [[Category:X22]] [[Category:X23]] [[Category:X24]] [[Category:X30]] [[Category:X31]] [[Category:X32]] [[Category:X40]] [[Category:X41]] [[Category:X41 Tablet]] [[Category:TransNote]]&lt;/div&gt;</summary>
		<author><name>Fooka</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Problem_with_checking_battery_status&amp;diff=20688</id>
		<title>Talk:Problem with checking battery status</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Problem_with_checking_battery_status&amp;diff=20688"/>
		<updated>2006-03-08T06:38:19Z</updated>

		<summary type="html">&lt;p&gt;Fooka: dude,&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== tp_smapi ==&lt;br /&gt;
&lt;br /&gt;
How about using [[tp_smapi]] to get the battery status? Does it work on the R31?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 09:21, 7 March 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
wouldn't that require a SMAPI bios? the R31 is an Acer i830 special. so no SMAPI bios. perhaps I am not well enough informed?&lt;br /&gt;
&lt;br /&gt;
--Fooka&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Why not just give it a try? What's the dmesg output when you run tp_smapi's &amp;quot;make load&amp;quot;?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 04:58, 8 March 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== dude, ==&lt;br /&gt;
&lt;br /&gt;
Mar  7 22:16:26 localhost kernel: smapi: No SMAPI BIOS header was found. :-(&lt;br /&gt;
&lt;br /&gt;
yea. um. no SMAPI bios.&lt;br /&gt;
&lt;br /&gt;
-Fooka&lt;/div&gt;</summary>
		<author><name>Fooka</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problem_with_display_remaining_black_after_resume&amp;diff=20682</id>
		<title>Problem with display remaining black after resume</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Problem_with_display_remaining_black_after_resume&amp;diff=20682"/>
		<updated>2006-03-08T01:22:01Z</updated>

		<summary type="html">&lt;p&gt;Fooka: from &amp;quot;The Solution is&amp;quot;, to &amp;quot;One solution may be&amp;quot;, cuz it's not The Solution always.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There has been a problem encountered where the display stays black on resuming from suspend.&lt;br /&gt;
&lt;br /&gt;
The symptom might have you think first that your system hang up, but you will realize that your ThinkPad works and you can even reset it via {{key|Ctrl}}{{key|Alt}}{{key|Del}}.&lt;br /&gt;
&lt;br /&gt;
==Affected Models==&lt;br /&gt;
*ThinkPad {{T41p}}, {{T42}}, {{T42p}}, {{T43p}}&lt;br /&gt;
*ThinkPad {{X21}}, {{X30}}, {{X31}}, {{X40}}, {{X41}}&lt;br /&gt;
*ThinkPad {{R31}}, {{R50e}}{{footnote|1}}, {{R50p}}, {{R51}} (with BIOS 1.11), {{R52}}&lt;br /&gt;
*ThinkPad {{A30p}}&lt;br /&gt;
*ThinkPad {{390X}} (doesn't wake up; LCD backlight on, harddrive light remains on)&lt;br /&gt;
&lt;br /&gt;
==Affected Operating Systems==&lt;br /&gt;
*Linux (it's a kernel issue)&lt;br /&gt;
&lt;br /&gt;
==Solutions==&lt;br /&gt;
===Solution for ThinkPads with ATI graphic chips===&lt;br /&gt;
One solution may be to provide the {{bootparm|acpi_sleep|s3_bios}} kernel parameter in your kernel parameter line.&lt;br /&gt;
&lt;br /&gt;
For grub this can look like this:&lt;br /&gt;
 title           Linux, kernel 2.6.11-1-686&lt;br /&gt;
 root            (hd0,0)&lt;br /&gt;
 kernel          /boot/vmlinuz-2.6.11-1-686 root=/dev/hda1 ro acpi_sleep=s3_bios&lt;br /&gt;
 initrd          /boot/initrd.img-2.6.11-1-686&lt;br /&gt;
 savedefault&lt;br /&gt;
 boot&lt;br /&gt;
&lt;br /&gt;
For lilo it can look like this:&lt;br /&gt;
&lt;br /&gt;
 image=/boot/vmlinuz&lt;br /&gt;
     append=&amp;quot;acpi_sleep=s3_bios&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Additionally, in {{Ubuntu}} or {{Kubuntu}} it might be necessary modify {{path|/etc/default/acpi-support}}. Check to make sure that ACPI_SLEEP and SAVE_VBE_STATE are both uncommented and set to true. (If you are using this trick with Intel graphics chips, as suggested below, make sure that nothing with respect to VBE state is done--don't repost the video, don't save the VBE state.)&lt;br /&gt;
&lt;br /&gt;
Otherwise see the example script below.&lt;br /&gt;
&lt;br /&gt;
Another one solution will be to use vbetool. If you are using Debian with hibernate package just uncomment &amp;quot;EnableVbetool yes&amp;quot; in /etc/hibernate/hibernate.conf (or /etc/hibernate/ram.conf)&lt;br /&gt;
&lt;br /&gt;
===Solution for ThinkPads with Intel Extreme Graphics 2===&lt;br /&gt;
{{NOTE|&lt;br /&gt;
On [[:Category:X40|X40]]s/[[:Category:X41|X41]]s - even with Intel Extreme Graphics - and for [[:Category:R52|R52]]s with Intel Graphics Media Accelerator 900 the [[Problem with display remaining black after resume#Solution for ThinkPads with ATI graphic chips|solution for ATI graphics chips]] above is reported to work. In this case, make sure no changes to VBE are made, especially no state saves and no reposts.}}&lt;br /&gt;
&lt;br /&gt;
The following solution should work on 865G, 865GV, 855GM, 855GME, 852GME chipsets.&lt;br /&gt;
*First of all, '''do not''' use the {{bootparm|acpi_sleep|s3_bios}} kernel parameter.&lt;br /&gt;
*Second, completely remove framebuffer support from your kernel. If it's built as modules, it is important that they do not get loaded at all.&lt;br /&gt;
*Before suspending, change to a console and safe the video state with {{cmdroot|cat /proc/bus/pci/00/02.0 &amp;gt; /tmp/video_state}}.&lt;br /&gt;
*On resume, restore the video state with {{cmdroot|cat /tmp/video_state &amp;gt; /proc/bus/pci/00/02.0}} and change back to X.&lt;br /&gt;
The following example {{path|/etc/acpi/actions/sleep.sh}} script shows how to integrate the according lines.&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 # change to console 1&lt;br /&gt;
 FGCONSOLE=`fgconsole`&lt;br /&gt;
 chvt 6&lt;br /&gt;
 &lt;br /&gt;
 # safe video state&lt;br /&gt;
 cat /proc/bus/pci/00/02.0 &amp;gt; /tmp/video_state&lt;br /&gt;
 &lt;br /&gt;
 # sync filesystem&lt;br /&gt;
 sync&lt;br /&gt;
 &lt;br /&gt;
 # sync hardware clock with system time&lt;br /&gt;
 hwclock --systohc&lt;br /&gt;
 &lt;br /&gt;
 # go to sleep&lt;br /&gt;
 echo -n 3 &amp;gt; /proc/acpi/sleep&lt;br /&gt;
 &lt;br /&gt;
 # waking up&lt;br /&gt;
 # restore system clock&lt;br /&gt;
 hwclock --hctosys&lt;br /&gt;
 &lt;br /&gt;
 # restore video state&lt;br /&gt;
 cat /tmp/video_state &amp;gt; /proc/bus/pci/00/02.0&lt;br /&gt;
 &lt;br /&gt;
 # change back to X&lt;br /&gt;
 chvt $FGCONSOLE&lt;br /&gt;
 &lt;br /&gt;
 # clean up behind us&lt;br /&gt;
 rm /tmp/video_state&lt;br /&gt;
&lt;br /&gt;
{{footnotes|&lt;br /&gt;
#If you have this problem with R50e and the above solution doesn't work, try switching to console first. An example sleep script can be found [[How to configure acpid|here]].&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Fooka</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Problem_with_checking_battery_status&amp;diff=20681</id>
		<title>Talk:Problem with checking battery status</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Problem_with_checking_battery_status&amp;diff=20681"/>
		<updated>2006-03-08T00:55:47Z</updated>

		<summary type="html">&lt;p&gt;Fooka: /* re tp_smapi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== tp_smapi ==&lt;br /&gt;
&lt;br /&gt;
How about using [[tp_smapi]] to get the battery status? Does it work on the R31?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 09:21, 7 March 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== re tp_smapi ==&lt;br /&gt;
&lt;br /&gt;
wouldn't that require a SMAPI bios? the R31 is an Acer i830 special. so no SMAPI bios. perhaps I am not well enough informed?&lt;br /&gt;
&lt;br /&gt;
--Fooka&lt;/div&gt;</summary>
		<author><name>Fooka</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Problem_with_checking_battery_status&amp;diff=20680</id>
		<title>Talk:Problem with checking battery status</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Problem_with_checking_battery_status&amp;diff=20680"/>
		<updated>2006-03-08T00:55:17Z</updated>

		<summary type="html">&lt;p&gt;Fooka: /* re tp_smapi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== tp_smapi ==&lt;br /&gt;
&lt;br /&gt;
How about using [[tp_smapi]] to get the battery status? Does it work on the R31?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 09:21, 7 March 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== re tp_smapi ==&lt;br /&gt;
&lt;br /&gt;
wouldn't that require a SMAPI bios? the R31 is an Acer i830 special. so no SMAPI bios. perhaps I am not well enough informed?&lt;/div&gt;</summary>
		<author><name>Fooka</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problem_with_checking_battery_status&amp;diff=20677</id>
		<title>Problem with checking battery status</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Problem_with_checking_battery_status&amp;diff=20677"/>
		<updated>2006-03-07T18:46:36Z</updated>

		<summary type="html">&lt;p&gt;Fooka: Changed from possible to partial, because of APM findings.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;R31 laptops have a problem where anytime ACPI or APM events are polled (e.g. checking battery status), causes the mouse to jerk around the screen clicking on things.  Also sometimes repeating keypresses are generated.&lt;br /&gt;
&lt;br /&gt;
===Causes===&lt;br /&gt;
Anomaly in the way the kernel driver handles the i8042 keyboard/mouse controller in the R31.&lt;br /&gt;
&lt;br /&gt;
===Related Symptoms===&lt;br /&gt;
These messages in dmesg seem to be related:&lt;br /&gt;
&lt;br /&gt;
 psmouse.c: TrackPoint at isa0060/serio4/input0 lost synchronization, throwing 2 bytes away.&lt;br /&gt;
 psmouse.c: TrackPoint at isa0060/serio4/input0 lost synchronization, throwing 2 bytes away.&lt;br /&gt;
&lt;br /&gt;
===Workarounds===&lt;br /&gt;
Don't query the battery.  Remove any battery applets from your panel.&lt;br /&gt;
&lt;br /&gt;
===Partial Solution===&lt;br /&gt;
Use the following kernel parameter, without quotes, at boot: &amp;quot;i8042.nomux=1&amp;quot;. Add this to your &amp;quot;append=&amp;quot; line in lilo.conf or append it to the kernel line in the menu.lst of your grub configuration. &lt;br /&gt;
&lt;br /&gt;
'''Make sure to use ACPI''', as this does not work if you boot with APM.&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
* http://kruemel.rnbhq.org/r31.html#bug_batteryquery&lt;br /&gt;
* http://webrum.uni-mannheim.de/math/froeser/r31_linux.html&lt;br /&gt;
* http://forum.kanotix.net/PNphpBB2-viewtopic-t-6424.html&lt;br /&gt;
* http://www.linuxquestions.org/questions/archive/25/2005/04/2/308437&lt;br /&gt;
* http://lists.debian.org/debian-user/2003/12/msg03632.html&lt;br /&gt;
* http://www.systura.com/linux/thinkpadr31.php&lt;br /&gt;
&lt;br /&gt;
[[Category:R31]]&lt;/div&gt;</summary>
		<author><name>Fooka</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Problem_with_checking_battery_status&amp;diff=20676</id>
		<title>Talk:Problem with checking battery status</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Problem_with_checking_battery_status&amp;diff=20676"/>
		<updated>2006-03-07T18:44:18Z</updated>

		<summary type="html">&lt;p&gt;Fooka: re tp_smapi&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== tp_smapi ==&lt;br /&gt;
&lt;br /&gt;
How about using [[tp_smapi]] to get the battery status? Does it work on the R31?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 09:21, 7 March 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== re tp_smapi ==&lt;br /&gt;
&lt;br /&gt;
wouldn't that require a SMAPI bios? the R31 is an Acerr i830 special. so no SMAPI bios. perhaps I am not well enough enformed?&lt;/div&gt;</summary>
		<author><name>Fooka</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problem_with_display_remaining_black_after_resume&amp;diff=20666</id>
		<title>Problem with display remaining black after resume</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Problem_with_display_remaining_black_after_resume&amp;diff=20666"/>
		<updated>2006-03-07T08:51:49Z</updated>

		<summary type="html">&lt;p&gt;Fooka: Added R31 to list of non-LCD-waking-up models&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There has been a problem encountered where the display stays black on resuming from suspend.&lt;br /&gt;
&lt;br /&gt;
The symptom might have you think first that your system hang up, but you will realize that your ThinkPad works and you can even reset it via {{key|Ctrl}}{{key|Alt}}{{key|Del}}.&lt;br /&gt;
&lt;br /&gt;
==Affected Models==&lt;br /&gt;
*ThinkPad {{T41p}}, {{T42}}, {{T42p}}, {{T43p}}&lt;br /&gt;
*ThinkPad {{X21}}, {{X30}}, {{X31}}, {{X40}}, {{X41}}&lt;br /&gt;
*ThinkPad {{R31}}, {{R50e}}{{footnote|1}}, {{R50p}}, {{R51}} (with BIOS 1.11), {{R52}}&lt;br /&gt;
*ThinkPad {{A30p}}&lt;br /&gt;
*ThinkPad {{390X}} (doesn't wake up; LCD backlight on, harddrive light remains on)&lt;br /&gt;
&lt;br /&gt;
==Affected Operating Systems==&lt;br /&gt;
*Linux (it's a kernel issue)&lt;br /&gt;
&lt;br /&gt;
==Solutions==&lt;br /&gt;
===Solution for ThinkPads with ATI graphic chips===&lt;br /&gt;
The Solution is to provide the {{bootparm|acpi_sleep|s3_bios}} kernel parameter in your kernel parameter line.&lt;br /&gt;
&lt;br /&gt;
For grub this can look like this:&lt;br /&gt;
 title           Linux, kernel 2.6.11-1-686&lt;br /&gt;
 root            (hd0,0)&lt;br /&gt;
 kernel          /boot/vmlinuz-2.6.11-1-686 root=/dev/hda1 ro acpi_sleep=s3_bios&lt;br /&gt;
 initrd          /boot/initrd.img-2.6.11-1-686&lt;br /&gt;
 savedefault&lt;br /&gt;
 boot&lt;br /&gt;
&lt;br /&gt;
For lilo it can look like this:&lt;br /&gt;
&lt;br /&gt;
 image=/boot/vmlinuz&lt;br /&gt;
     append=&amp;quot;acpi_sleep=s3_bios&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Additionally, in {{Ubuntu}} or {{Kubuntu}} it might be necessary modify {{path|/etc/default/acpi-support}}. Check to make sure that ACPI_SLEEP and SAVE_VBE_STATE are both uncommented and set to true. (If you are using this trick with Intel graphics chips, as suggested below, make sure that nothing with respect to VBE state is done--don't repost the video, don't save the VBE state.)&lt;br /&gt;
&lt;br /&gt;
Otherwise see the example script below.&lt;br /&gt;
&lt;br /&gt;
Another one solution will be to use vbetool. If you are using Debian with hibernate package just uncomment &amp;quot;EnableVbetool yes&amp;quot; in /etc/hibernate/hibernate.conf (or /etc/hibernate/ram.conf)&lt;br /&gt;
&lt;br /&gt;
===Solution for ThinkPads with Intel Extreme Graphics 2===&lt;br /&gt;
{{NOTE|&lt;br /&gt;
On [[:Category:X40|X40]]s/[[:Category:X41|X41]]s - even with Intel Extreme Graphics - and for [[:Category:R52|R52]]s with Intel Graphics Media Accelerator 900 the [[Problem with display remaining black after resume#Solution for ThinkPads with ATI graphic chips|solution for ATI graphics chips]] above is reported to work. In this case, make sure no changes to VBE are made, especially no state saves and no reposts.}}&lt;br /&gt;
&lt;br /&gt;
The following solution should work on 865G, 865GV, 855GM, 855GME, 852GME chipsets.&lt;br /&gt;
*First of all, '''do not''' use the {{bootparm|acpi_sleep|s3_bios}} kernel parameter.&lt;br /&gt;
*Second, completely remove framebuffer support from your kernel. If it's built as modules, it is important that they do not get loaded at all.&lt;br /&gt;
*Before suspending, change to a console and safe the video state with {{cmdroot|cat /proc/bus/pci/00/02.0 &amp;gt; /tmp/video_state}}.&lt;br /&gt;
*On resume, restore the video state with {{cmdroot|cat /tmp/video_state &amp;gt; /proc/bus/pci/00/02.0}} and change back to X.&lt;br /&gt;
The following example {{path|/etc/acpi/actions/sleep.sh}} script shows how to integrate the according lines.&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 # change to console 1&lt;br /&gt;
 FGCONSOLE=`fgconsole`&lt;br /&gt;
 chvt 6&lt;br /&gt;
 &lt;br /&gt;
 # safe video state&lt;br /&gt;
 cat /proc/bus/pci/00/02.0 &amp;gt; /tmp/video_state&lt;br /&gt;
 &lt;br /&gt;
 # sync filesystem&lt;br /&gt;
 sync&lt;br /&gt;
 &lt;br /&gt;
 # sync hardware clock with system time&lt;br /&gt;
 hwclock --systohc&lt;br /&gt;
 &lt;br /&gt;
 # go to sleep&lt;br /&gt;
 echo -n 3 &amp;gt; /proc/acpi/sleep&lt;br /&gt;
 &lt;br /&gt;
 # waking up&lt;br /&gt;
 # restore system clock&lt;br /&gt;
 hwclock --hctosys&lt;br /&gt;
 &lt;br /&gt;
 # restore video state&lt;br /&gt;
 cat /tmp/video_state &amp;gt; /proc/bus/pci/00/02.0&lt;br /&gt;
 &lt;br /&gt;
 # change back to X&lt;br /&gt;
 chvt $FGCONSOLE&lt;br /&gt;
 &lt;br /&gt;
 # clean up behind us&lt;br /&gt;
 rm /tmp/video_state&lt;br /&gt;
&lt;br /&gt;
{{footnotes|&lt;br /&gt;
#If you have this problem with R50e and the above solution doesn't work, try switching to console first. An example sleep script can be found [[How to configure acpid|here]].&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Fooka</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problem_with_checking_battery_status&amp;diff=20664</id>
		<title>Problem with checking battery status</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Problem_with_checking_battery_status&amp;diff=20664"/>
		<updated>2006-03-07T08:18:32Z</updated>

		<summary type="html">&lt;p&gt;Fooka: Jerky mouse on ThinkPad R31&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;R31 laptops have a problem where anytime ACPI or APM events are polled (e.g. checking battery status), causes the mouse to jerk around the screen clicking on things.  Also sometimes repeating keypresses are generated.&lt;br /&gt;
&lt;br /&gt;
===Causes===&lt;br /&gt;
Anomaly in the way the kernel driver handles the i8042 keyboard/mouse controller in the R31.&lt;br /&gt;
&lt;br /&gt;
===Related Symptoms===&lt;br /&gt;
These messages in dmesg seem to be related:&lt;br /&gt;
&lt;br /&gt;
 psmouse.c: TrackPoint at isa0060/serio4/input0 lost synchronization, throwing 2 bytes away.&lt;br /&gt;
 psmouse.c: TrackPoint at isa0060/serio4/input0 lost synchronization, throwing 2 bytes away.&lt;br /&gt;
&lt;br /&gt;
===Workarounds===&lt;br /&gt;
Don't query the battery.  Remove any battery applets from your panel.&lt;br /&gt;
&lt;br /&gt;
===Possible Solution===&lt;br /&gt;
Use the following kernel parameter, without quotes, at boot: &amp;quot;i8042.nomux=1&amp;quot;. Add this to your &amp;quot;append=&amp;quot; line in lilo.conf or append it to the kernel line in the menu.lst of your grub configuration. &lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
* http://kruemel.rnbhq.org/r31.html#bug_batteryquery&lt;br /&gt;
* http://webrum.uni-mannheim.de/math/froeser/r31_linux.html&lt;br /&gt;
* http://forum.kanotix.net/PNphpBB2-viewtopic-t-6424.html&lt;br /&gt;
* http://www.linuxquestions.org/questions/archive/25/2005/04/2/308437&lt;br /&gt;
* http://lists.debian.org/debian-user/2003/12/msg03632.html&lt;br /&gt;
* http://www.systura.com/linux/thinkpadr31.php&lt;br /&gt;
&lt;br /&gt;
[[Category:R31]]&lt;/div&gt;</summary>
		<author><name>Fooka</name></author>
		
	</entry>
</feed>