<?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=Jenda</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=Jenda"/>
	<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/wiki/Special:Contributions/Jenda"/>
	<updated>2026-04-11T12:25:02Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.12</generator>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=TCPA/TCG_-_Trusted_or_Treacherous&amp;diff=30201</id>
		<title>TCPA/TCG - Trusted or Treacherous</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=TCPA/TCG_-_Trusted_or_Treacherous&amp;diff=30201"/>
		<updated>2007-06-01T08:55:51Z</updated>

		<summary type="html">&lt;p&gt;Jenda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;The Members of the Trusted Computing Group (TCG), formerly the Trusted Computing Platform Allience (TCPA), are working on a paradigm shift in information technology, which could become the biggest change of the information landscape since decades.&lt;br /&gt;
&lt;br /&gt;
This article tries to gather information about the implications of the TCPA and TCG effords. To many users these implications seem rather treacherous than trustworthy. This article tries to give a short summarized overview over the facts from a rather neutral point of view.&lt;br /&gt;
&lt;br /&gt;
We will start with a quote:&lt;br /&gt;
&lt;br /&gt;
''&amp;quot;It is clear that trusted computing hardware provides security benefits, if software is prepared to take advantage of it. But trusted computing has been received skeptically and remains controversial. Some of the controversy is based on misconceptions, but much of it is appropriate, since trusted computing systems fundamentally alter trust relationships. Legitimate concerns about trusted computing are not limited to one area, such as consumer privacy or copyright issues.'' &amp;lt;br /&amp;gt;&lt;br /&gt;
''We have at least two serious concerns about trusted computing. First, existing designs are fundamentally flawed because they expose the public to new risks of anti-competitive and anti-consumer behavior. Second, manufacturers of particular &amp;quot;trusted&amp;quot; computers and components may secretly implement them incorrectly.&amp;quot;'' &amp;lt;br /&amp;gt;&lt;br /&gt;
''Source: [http://www.eff.org/Infrastructure/trusted_computing/20031001_tc.php Electronic Frontier Foundation]''&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==TC &amp;amp;ndash; Trusted Computing==&lt;br /&gt;
Recently, the number of known security incidents has been dramatically increasing. Thus, security issues in computer industry have been pushed forward. So far, digital content on computers couldn't be efficiently protected since every security mechanism accessible by software could always be circumvented by software.&lt;br /&gt;
&lt;br /&gt;
The idea of Trusted Computing is to provide a hardware chip (TPM) that assists software in:&lt;br /&gt;
* secure storage of security related data like keys, certificates, data and checksums&lt;br /&gt;
* encryption and decryption&lt;br /&gt;
* validation of certificates&lt;br /&gt;
* (Remote) Platform Attestation (''meaning that somebody can check the state of your personal computer over the internet'')&lt;br /&gt;
* Sealing (''meaning encrypting data in a state where a specific platform or application may be required to decrypt it'')&lt;br /&gt;
&lt;br /&gt;
Although a TPM will assist in the above operations, software support is required to enable any enforcement of a security policy on a platform with a TPM. A TPM in and of itself cannot disable any part of your computer.&lt;br /&gt;
&lt;br /&gt;
==A short history of TCPA, TCG, Palladium and NSCB:==&lt;br /&gt;
* 1999: The Trusted Computing Platform Alliance (TCPA) is founded by Intel, Microsoft, HP, Compaq and IBM. &lt;br /&gt;
* February 2002: The TCPA Main Specification Version 1.1b is being published. &lt;br /&gt;
* Early 2003: The name of Microsofts own TC-Projekt &amp;quot;Palladium&amp;quot; is changed to &amp;quot;next-generation secure computing base&amp;quot; (NGSCB).&lt;br /&gt;
* April 2003: The Trusted Computing Group (TCG) is founded by AMD, HP, IBM, Intel and Microsoft.&lt;br /&gt;
* Summer 2004: Microsoft seems to have stopped their &amp;quot;NGSCB&amp;quot;-effort.&lt;br /&gt;
&lt;br /&gt;
==The TCPA==&lt;br /&gt;
Founded 1999 by Compaq, HP, IBM, Intel and Microsoft, the TCPA counts around 200 members by now, among them Adobe, AMD, Fujitsu-Siemens, Gateway, Motorola, Samsung, Toshiba and many others.&lt;br /&gt;
&lt;br /&gt;
==The TCG==&lt;br /&gt;
As successor of the TCPA, the TCG was founded by AMD, HP, IBM, Intel and Microsoft in April 2003.&lt;br /&gt;
&lt;br /&gt;
==TCG Hardware Architecture==&lt;br /&gt;
The Trusted Platform Module (TPM) (a.k.a. &amp;quot;Fritz&amp;quot;-Chip) is the central element of the TCG architecture. Imagine a hardwired smart card for a abstract picture of this architecture.&lt;br /&gt;
&lt;br /&gt;
The integration of the whole functionality into the CPU is also discussed, which would increase resistance against tampering attacks (see also Intel &amp;quot;LaGrande&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Regarding the hardware security of the &amp;quot;Trusted Platform Modules (TPM)&amp;quot;, there were two important critiques:&lt;br /&gt;
*The first one has been the insuficient security certification against hardware attacks. In TCG 1.2 this critique has been addressed by an improvement of the hardware requirements. It has to be seen how strong the resistance against sophisticated attacks at intensively daily usage will be.&lt;br /&gt;
*The second one addreses the 'black box'-characterisitcs and risk 'hidden channels' in the TCG-Hardware, which can be easily implemented and used to send secret information to third parties.&lt;br /&gt;
&lt;br /&gt;
==TC &amp;amp;ndash; Treacherous Computing?==&lt;br /&gt;
Generally, there are good arguments that these features can be used to improve the security of computer systems. Trusted Computing offers a lot of features which can be used to protect the personal computer against malicious software and users.  &lt;br /&gt;
&lt;br /&gt;
But according to a lot of technical analysis, most researchers have fundamental critics on the main design considerations. The new infrastructure will offer '''only minor protection against worms and viruses''', although TCG is telling something completely different. Furthermore, some of these features can already be established by todays smart card supported systems, so where is the need for TCG 1.1?&lt;br /&gt;
&lt;br /&gt;
''We recognize that hardware enhancements might be one way to improve computer security. But treating computer owners as adversaries is not progress in computer security. '''The interoperability, competition, owner control, and similar problems inherent in the TCG and NCSCB approach are serious enough that we recommend against adoption of these trusted computing technologies until these problems have been addressed. Fortunately, we believe these problems are not insurmountable''', and we look forward to working with the industry to resolve them.&amp;quot;'' &amp;lt;br /&amp;gt;&lt;br /&gt;
Source: [http://www.eff.org/Infrastructure/trusted_computing/20031001_tc.php Electronic Frontier Foundation], bold emphasis by [[User:Pitsche|Pitsche]]&lt;br /&gt;
&lt;br /&gt;
There are a lot of drawbacks to this kind of security implementation: &lt;br /&gt;
*The concept prevents even the device owner from certain operations. &lt;br /&gt;
*Remote Attestation is a good feature to remotely detect tampering of the computer, as long as this 'somebody' is the owner of the platform. But if this Remote Attestation is used by third parties, serious privacy and market domination issues arise.&lt;br /&gt;
*There are certainly legitimate reasons for Sealing. But the main use case seems to be consumer-unfriendly new 'business cases' for content dealers which involve locking down content to a single platform, based on connecting content to a specific device without any migration options. &lt;br /&gt;
&lt;br /&gt;
Additionally, the market domination of Microsoft, obscurities regarding the needed trust infrastructure and a heap of patents have lead to critical evaluations from cryptographers, privacy organizations and European institutions. &amp;lt;br /&amp;gt;&lt;br /&gt;
Because of this pressure the Trusted Computing Group has modifed its proposal. The recent specification is &amp;quot;TCG 1.2&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== DRM &amp;amp;ndash; Digital Rights Management ===&lt;br /&gt;
The philosophy behind Remote Platform Attestation and Sealing seems to be a protection of the computer system like a ThinkPad or electronic device like a MP3-Player ''against'' its user and owner.&lt;br /&gt;
&lt;br /&gt;
What will do this to the use of digital media content on computers or other electronic devices? The answer of the IT- and the Entertainment-Industry is &amp;quot;Digital Rights Management&amp;quot; or just shortly &amp;quot;DRM&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
''The DRM component takes control over the rest of the user's device which they rightfully own (e.g. MP3-Player'' '''or a ThinkPad)''' ''and restricts how it may act, regardless of the user's wishes (e.g. preventing the user from copying a song). All forms of DRM depend on the device imposing restrictions that cannot be legally disabled or modified by the user. In other words, the user has no choice.'' Bold emphasised by [[User:Pitsche]].&lt;br /&gt;
&lt;br /&gt;
So a new 'name' for DRM came up: '''Digital Restrictions Management''' instead of Digital Rights Management.&lt;br /&gt;
&lt;br /&gt;
Read more at [[Wikipedia:Digital rights management]].&lt;br /&gt;
&lt;br /&gt;
Keep in mind that neither enabling your TPM or installing [http://trousers.sourceforge.net TrouSerS] will implement any DRM features on your ThinkPad. Other software packages that implement DRM on Linux should be posted here.&lt;br /&gt;
&lt;br /&gt;
=== Censorship and Avoiding Whistle Blowers ===&lt;br /&gt;
The Siamese twin of Digital Restriction Management is censorship. '''The same techniques which avoid copying music songs can be used to limit the access to all kinds of documents'''. The combination of DRM and observation hardware like TCG leads to very dangerous implications.&lt;br /&gt;
&lt;br /&gt;
Giving a real world example, the Chinese government could easily block the use of all documents containing the words &amp;quot;Dalai Lama&amp;quot; on 'trusted' computer systems.&lt;br /&gt;
&lt;br /&gt;
Another application is the fight against whistle blowers. E.g. government documents about the deportation of own citizens to countries with a doubtful law system or about supporting illegal wars could be made readable for government computers only and combined with a expiration date. This might make it very dificult for the society or following generations to disclose these breaches of humanity.&lt;br /&gt;
&lt;br /&gt;
=== Summary === &lt;br /&gt;
There are still a lot of critical questions, even though TCG 1.2 contains many steps into the right direction.&lt;br /&gt;
&lt;br /&gt;
== Thinkpads with and without TCPA/TCG ==&lt;br /&gt;
&lt;br /&gt;
If you want to know, which ThinkPads are equipped with TCPA Technology like IBM Embedded Security Subsystem or IBM Embedded Security Subsystem 2.0 and which of them are TCPA/TCG clean models, please [[Embedded Security Subsystem#Models featuring this Technology|see the complete list of models]] at the article about [[Embedded Security Subsystem]].&lt;br /&gt;
&lt;br /&gt;
== OpenSource Software and TCG == &lt;br /&gt;
The TrouSerS project aims at implementing each TSS (Trusted computing Software Stack) specification as it is released.  TrouSerS is now part of the [http://packages.gentoo.org/packages/?category=app-crypt;name=trousers Gentoo] distribution.&lt;br /&gt;
&lt;br /&gt;
There are many misconceptions surrounding open-source software and trusted computing.  Please see the [http://trousers.sf.net/faq.html TrouSerS FAQ] for answers to some common questions.&lt;br /&gt;
&lt;br /&gt;
== Related Links ==&lt;br /&gt;
*[http://www.cl.cam.ac.uk/~rja14/tcpa-faq.html 'Trusted Computing' Frequently Asked Questions] - Anti-TC FAQ by Cambridge University security director and professor [[Ross Anderson]].&lt;br /&gt;
*[http://www.againsttcpa.com/ Against-TCPA]&lt;br /&gt;
*[http://invisiblog.com/1c801df4aee49232/article/0df117d5d9b32aea8bc23194ecc270ec Interesting Uses of Trusted Computing]&lt;br /&gt;
*[http://www.gnu.org/philosophy/can-you-trust.html Can you trust your computer?] essay by the FSF&lt;br /&gt;
*[http://www.protectprivacy.org/topic--lang-en.html The civil rights organisation Protect Privacy]&lt;br /&gt;
*[http://trousers.sourceforge.net/faq.html The TrouSerS FAQ.]&lt;br /&gt;
&lt;br /&gt;
*[http://www.lafkon.net/tc/ Animation in three different qualities about Trusted Computing]&lt;br /&gt;
&lt;br /&gt;
== Read more at Wikipedia, the free encyclopedia: ==&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Trusted_computing Trusted Computing]&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Trusted_Computing_Platform_Alliance Trusted Computing Group (formerly known as TCPA)]&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Fritz-chip Fritz-Chip]&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Palladium_operating_system Palladium]&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Category:Cryptography Wikipedia-Category: Cryptography]&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Category:Copyright_law Wikipedia-Category: Copyright Law]&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Category:Digital_rights_management Wikipedia-Category: Digital Rights Management]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Notes from the original artical that didn't fit so far&lt;br /&gt;
&lt;br /&gt;
Compared to this, positive features like a more secure hardware storage for cryptographic keys seem to be a very small benefit.&lt;br /&gt;
&lt;br /&gt;
:Compared with the TCPA the TCG is less democratic organized and the high membership fees obstruct the possibilities for small companies and non profit organizations to participate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Microsofts own concept for 'Trustworthy Computing', &amp;quot;Palladium&amp;quot;, is expected to cost some hundreds of million cash.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
What is all the name changing about? &amp;lt;br /&amp;gt;&lt;br /&gt;
Some say, that the change was a reaction to the negative publicity, because Palladium and TCPA was soon equated with a 'Nineteen Eighty-Four'-Scenario of an 'Orwellian society', the ever-present, all-seeing 'Big Brother' and other privacy issues.&lt;br /&gt;
&lt;br /&gt;
'''This means e.g. if the user wants to use his music to a portable player he should be forced to buy another license. It seems to be doubtful, if customers will enjoy this limitations.'''&lt;br /&gt;
&lt;br /&gt;
In any case the possible problems of giving away control of the personal hardware should be evaluated carefully.&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
[[Category:Glossary]]&lt;br /&gt;
[[Category:Trusted Computing]]&lt;/div&gt;</summary>
		<author><name>Jenda</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_make_ACPI_work&amp;diff=30053</id>
		<title>How to make ACPI work</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_make_ACPI_work&amp;diff=30053"/>
		<updated>2007-05-24T19:13:36Z</updated>

		<summary type="html">&lt;p&gt;Jenda: /* ThinkPads on which it is recommended to use ACPI */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==General==&lt;br /&gt;
===Kernel configuration===&lt;br /&gt;
First of all you'll have to enable ACPI support in your kernel (if your distro doesn't already have an ACPI enabled kernel).&lt;br /&gt;
To do this open your kernel config and enable ACPI Power Management:&lt;br /&gt;
:{{kernelconf|CONFIG_PM|&amp;lt;*&amp;gt;|Power Management support|Power management options|||}}&lt;br /&gt;
:{{kernelconf|CONFIG_ACPI_SLEEP|&amp;lt;*&amp;gt;|ACPI|Power management options|||}}&lt;br /&gt;
&lt;br /&gt;
You'd most likely want to enable the following ACPI options:&lt;br /&gt;
:{{kernelconf|CONFIG_ACPI_SLEEP|&amp;lt;*&amp;gt;|Sleep States|ACPI|Power management options||}}&lt;br /&gt;
:{{kernelconf|CONFIG_ACPI_AC|&amp;lt;*&amp;gt;|AC Adapter|ACPI|Power management options||}}&lt;br /&gt;
:{{kernelconf|CONFIG_ACPI_BATTERY|&amp;lt;*&amp;gt;|Battery|ACPI|Power management options||}}&lt;br /&gt;
:{{kernelconf|CONFIG_ACPI_FAN|&amp;lt;*&amp;gt;|Fan|ACPI|Power management options||}}&lt;br /&gt;
:{{kernelconf|CONFIG_ACPI_PROCESSOR|&amp;lt;*&amp;gt;|Processor|ACPI|Power management options||}}&lt;br /&gt;
:{{kernelconf|CONFIG_ACPI_THERMAL|&amp;lt;*&amp;gt;|Thermal Zone|ACPI|Power management options||}}&lt;br /&gt;
&lt;br /&gt;
If you prefer editing your {{path|.config}} file directly, you should set at least the following variables:&lt;br /&gt;
 CONFIG_PM=y&lt;br /&gt;
 CONFIG_ACPI_BOOT=y&lt;br /&gt;
 CONFIG_ACPI_INTERPRETER=y&lt;br /&gt;
 CONFIG_ACPI_SLEEP=y&lt;br /&gt;
 CONFIG_ACPI_SLEEP_PROC_FS=y&lt;br /&gt;
 CONFIG_ACPI_AC=y&lt;br /&gt;
 CONFIG_ACPI_BATTERY=y&lt;br /&gt;
 CONFIG_ACPI_BUTTON=y&lt;br /&gt;
 CONFIG_ACPI_FAN=y&lt;br /&gt;
 CONFIG_ACPI_PROCESSOR=y&lt;br /&gt;
 CONFIG_ACPI_THERMAL=y&lt;br /&gt;
 CONFIG_ACPI_BUS=y&lt;br /&gt;
 CONFIG_ACPI_EC=y&lt;br /&gt;
 CONFIG_ACPI_POWER=y&lt;br /&gt;
 CONFIG_ACPI_PCI=y&lt;br /&gt;
 CONFIG_ACPI_SYSTEM=y&lt;br /&gt;
&lt;br /&gt;
Then recompile your kernel. &lt;br /&gt;
&lt;br /&gt;
{{HINT| 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. [http://bugs.debian.org/383059 Debian bug #383059] .}}&lt;br /&gt;
&lt;br /&gt;
===Kernel boot parameters===&lt;br /&gt;
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 {{bootparm|ec_intr|0}} to your kernel command line may help.&lt;br /&gt;
&lt;br /&gt;
===IBM specific ACPI driver===&lt;br /&gt;
Unfortunately, special drivers for ACPI on ThinkPads were not included with kernels prior 2.6.10. So you'll have to compile one yourself or get it as precompiled module for your kernel.&lt;br /&gt;
&lt;br /&gt;
You have the choice between [[thinkpad-acpi]] and [[ibm-acpi]], with the latter being the recommended one.&lt;br /&gt;
&lt;br /&gt;
If you use a post-2.6.10 kernel and you want to use [[ibm-acpi]], it is recommended to look on its projects page for a possibly newer version.&lt;br /&gt;
&lt;br /&gt;
{{HINT|Generally it is a good idea to read the README included with the driver.}}&lt;br /&gt;
&lt;br /&gt;
===ACPI daemon===&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
==Screen blanking (Standby)==&lt;br /&gt;
Make sure you have &lt;br /&gt;
 Option &amp;quot;DPMS&amp;quot;&lt;br /&gt;
in the Monitor section of your {{path|/etc/X11/XF86Config}} or {{path|/etc/X11/xorg.conf}}.&lt;br /&gt;
&lt;br /&gt;
Running {{cmduser|xset +dpms}} and then {{cmduser|xset dpms force off}} will turn off the backlight on a laptop screen.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that this may not work in combination with {{cmduser|echo -n &amp;quot;mem&amp;quot; &amp;gt; /sys/power/state}} because switching to console causes the backlight to come back on before sleeping.&lt;br /&gt;
&lt;br /&gt;
==Suspend to RAM (Sleep)==&lt;br /&gt;
ACPI Sleep/suspend-to-ram with recent 2.6.x kernels usually works fine. Have a look at the [[How to configure acpid|acpid configuration HOWTO]]. It includes a specific example for going to sleep on lid close.&lt;br /&gt;
&lt;br /&gt;
For Troubleshooting, look at the [[Problems with ACPI suspend-to-ram|Problems with ACPI suspend-to-ram page]].&lt;br /&gt;
&lt;br /&gt;
==Suspend to disk (Hibernate)==&lt;br /&gt;
There are two drivers for this available:&lt;br /&gt;
* [[swsusp]], which is in the kernel and&lt;br /&gt;
* [[Software Suspend 2]] which is more feature rich, but not yet in the kernel, so you have to patch it in yourself.&lt;br /&gt;
&lt;br /&gt;
Both are reported to work fine as long as you use open-source graphic drivers. A comparison of the features can be found on [http://softwaresuspend.berlios.de/features.html this page].&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
See the according drivers page for instructions.&lt;br /&gt;
&lt;br /&gt;
==ThinkPads on which it is recommended to use ACPI==&lt;br /&gt;
*ThinkPad {{770X}}, {{770Z}}&lt;br /&gt;
*ThinkPad {{A20m}}, {{A20p}}, {{A20m}}, {{A20p}}, {{A21e}}, {{A21m}}, {{A21p}}, {{A22e}}, {{A22m}}, {{A22p}}, {{A30}}, {{A30p}}, {{A31}}, {{A31p}}&lt;br /&gt;
*ThinkPad {{G40}}, {{G41}}&lt;br /&gt;
*ThinkPad {{R30}}, {{R31}}, {{R32}}, {{R40}}, {{R40e}}, {{R50}}, {{R50e}}, {{R50p}}, {{R51}}, {{R52}}, {{R60}}&lt;br /&gt;
*ThinkPad {{T22}}, {{T23}}, {{T30}}, {{T40}}, {{T40p}}, {{T41}}, {{T41p}}, {{T42}}, {{T42p}}, {{T43}}, {{T43p}}&lt;br /&gt;
*ThinkPad {{X20}}, {{X21}}, {{X22}}, {{X23}}, {{X24}}, {{X30}}, {{X31}}, {{X32}}, {{X40}}, {{X41}}, {{X41T}}&lt;br /&gt;
*ThinkPad {{Z60t}}, {{Z60m}}, {{Z61m}}&lt;br /&gt;
*ThinkPad {{X60s}}&lt;br /&gt;
*ThinkPad {{TransNote}}&lt;br /&gt;
*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.&lt;/div&gt;</summary>
		<author><name>Jenda</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_control_fan_speed&amp;diff=30039</id>
		<title>How to control fan speed</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_control_fan_speed&amp;diff=30039"/>
		<updated>2007-05-24T05:45:56Z</updated>

		<summary type="html">&lt;p&gt;Jenda: /* Supported models */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page discusses methods for controlling the system fan.&lt;br /&gt;
&lt;br /&gt;
==For Linux==&lt;br /&gt;
===Using a patched kernel===&lt;br /&gt;
{{WARN|This patch is superceded by the patches in [[ibm-acpi]] [[Git]] repository or [http://ibm-acpi.sourceforge.net ibm-acpi.sf.net] releases}}&lt;br /&gt;
{{NOTE|Advanced fan control through ibm-acpi has been merged in Linux 2.6.20-rc2 mainline, so users of 2.6.20 won't need to patch their kernels to get the '''fan level''' functionality anymore}}&lt;br /&gt;
&lt;br /&gt;
The [[Patch for controlling fan speed]] provides a convenient interface via {{path|/proc/acpi/ibm/fan}}.&lt;br /&gt;
&lt;br /&gt;
Manual speed control can be done through the [[patch for controlling fan speed]]:&lt;br /&gt;
&lt;br /&gt;
 '''#cat /proc/acpi/ibm/fan'''&lt;br /&gt;
 status:         enabled&lt;br /&gt;
 level:          auto&lt;br /&gt;
 speed:          4219&lt;br /&gt;
 commands:       enable, disable, level &amp;lt;level&amp;gt;&lt;br /&gt;
                 (&amp;lt;level&amp;gt; is 0-7, auto or disengaged)&lt;br /&gt;
 &lt;br /&gt;
 '''#echo level 2 &amp;gt; /proc/acpi/ibm/fan'''&lt;br /&gt;
 &lt;br /&gt;
 '''#cat /proc/acpi/ibm/fan'''&lt;br /&gt;
 status:         enabled&lt;br /&gt;
 level:          2&lt;br /&gt;
 speed:          3142&lt;br /&gt;
 commands:       enable, disable, level &amp;lt;level&amp;gt;&lt;br /&gt;
                 (&amp;lt;level&amp;gt; is 0-7, auto or disengaged)&lt;br /&gt;
&lt;br /&gt;
===Using a stock kernel===&lt;br /&gt;
&lt;br /&gt;
If you have the [[ibm-acpi]] module loaded with &amp;lt;tt&amp;gt;experimental=1&amp;lt;/tt&amp;gt;, you can control the fan without patching the kernel by directly writing to the relevant embedded controller register using {{path|/proc/acpi/ibm/ecdump}}. &lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo 0x2F 0x00 &amp;gt; /proc/acpi/ibm/ecdump}} (fan off)&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo 0x2F 0x02 &amp;gt; /proc/acpi/ibm/ecdump}} (low speed)&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo 0x2F 0x04 &amp;gt; /proc/acpi/ibm/ecdump}} (medium speed)&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo 0x2F 0x07 &amp;gt; /proc/acpi/ibm/ecdump}} (maximum speed)&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo 0x2F 0x80 &amp;gt; /proc/acpi/ibm/ecdump}} (automatic - default)&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo 0x2F 0x40 &amp;gt; /proc/acpi/ibm/ecdump}} (disengaged)&lt;br /&gt;
&lt;br /&gt;
See the specifications below for the meaning of these modes.&lt;br /&gt;
&lt;br /&gt;
===On/off control using stock kernel===&lt;br /&gt;
&lt;br /&gt;
If you only wish to turn the fan on and off (with automatic control when it's on), you can use the following.&lt;br /&gt;
&lt;br /&gt;
When loading [[ibm-acpi]] v0.11 with experimental switch ({{cmdroot|1=modprobe ibm_acpi experimental=1}}), it is possible to read and write the status of fan:&lt;br /&gt;
&lt;br /&gt;
 '''#cat /proc/acpi/ibm/fan'''&lt;br /&gt;
 status:         enabled&lt;br /&gt;
 speed:          3580&lt;br /&gt;
 commands:       enable, disable&lt;br /&gt;
 &lt;br /&gt;
 '''#echo disable &amp;gt; /proc/acpi/ibm/fan'''&lt;br /&gt;
 &lt;br /&gt;
 '''cat /proc/acpi/ibm/fan'''&lt;br /&gt;
 status:         disabled&lt;br /&gt;
 speed:          0&lt;br /&gt;
 commands:       enable, disable&lt;br /&gt;
&lt;br /&gt;
When off, the fan will then '''never''' wake up. It is advised to use an automated control script to reduce the chance of hardware damage.&lt;br /&gt;
&lt;br /&gt;
===Automated control scripts===&lt;br /&gt;
&lt;br /&gt;
An [[ACPI fan control script#Variable speed control scripts|ACPI fan control script]] can be used to override the firmware's fan algorithm with gentler, quieter version. It monitors the laptop's [[thermal sensors]] and sets the fan speed accordingly, according to customizable thresholds. For the default behavior, simply save the [[ACPI fan control script#Variable speed control scripts|script]] as {{path|tp-fancontrol}} and run; note that this script requires you to modprobe the ibm_acpi module as &amp;quot;modprobe ibm_acpi experimental=1&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
{{cmdroot|./tp-fancontrol}}&lt;br /&gt;
&lt;br /&gt;
==For Windows==&lt;br /&gt;
&lt;br /&gt;
Shimodax's ThinkPad fan control tool offers similar functionality (see [http://forum.thinkpads.com/viewtopic.php?t=17715 forum discussion] at thinkpads.com).  Source and binaries are available through the [http://sourceforge.net/projects/tp4xfancontrol &amp;quot;Tp4xFanControl&amp;quot;] project on SourceForge.&lt;br /&gt;
&lt;br /&gt;
==Hardware specs==&lt;br /&gt;
&lt;br /&gt;
The following hardware behavior was discovered experimentally by [[User:Thinker|Thinker]] and neither provided by nor confirmed by IBM/Lenovo. The following description may be inaccurate and may vary by model (see list of models above). The terminology probably does not match the one used by IBM/Lenovo engineers.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|Information on other models is included in the [[ibm-acpi]] [[Git]] version.}}&lt;br /&gt;
&lt;br /&gt;
ACPI DSDT register HFSP (8 bits, offset 0x2F in the &amp;lt;tt&amp;gt;EmbeddedController&amp;lt;/tt&amp;gt; address space, accessed through the standard EC interface at IO ports 0x62 and 0x66) is read/writable and has the following meaning:&lt;br /&gt;
 &lt;br /&gt;
 Bits   7 6 5 4 3 2 1 0&lt;br /&gt;
        ---------------&lt;br /&gt;
 Value  1 0 * * * * * *  - automatic&lt;br /&gt;
        * 1 * * * * * *  - disengaged&lt;br /&gt;
        0 0 N N N N N N  - manual (0..63; 0=disable fan, 1=min, ..., 7=max)&lt;br /&gt;
&lt;br /&gt;
Changing modes may not be immediate on all ThinkPads.  Later ThinkPad models seem to take at least 5s to start responding to a fan mode change, for example.&lt;br /&gt;
&lt;br /&gt;
After boot, the HFSP register may not reflect the true state of the EC (on some models it reads 0x07 even though the EC is actually in automatic mode).&lt;br /&gt;
&lt;br /&gt;
=== Fan Tachometer ===&lt;br /&gt;
&lt;br /&gt;
The embedded controller registers 0x84 (LSB), 0x85 (MSB) are the main fan tachometer, and report fan speed in RPM in everything since the {{A31}} and maybe a little earlier.  Not much is know about the tachometer in earlier models, or even whether they had one or not.&lt;br /&gt;
&lt;br /&gt;
=== Automatic mode ===&lt;br /&gt;
In ''automatic'' mode, the embedded controller sets the fan speed automatically according to system temperatures and some unknown algorithm.&lt;br /&gt;
&lt;br /&gt;
Note that the ACPI DSDT may supplement this in some models.  The {{X40}}, for example, changes the profile of speeds the automatic mode should use depending on battery status.&lt;br /&gt;
&lt;br /&gt;
=== Manual mode ===&lt;br /&gt;
&lt;br /&gt;
In ''manual'' mode, the fan level is forced to the given value and the EC will auto-regulate the fan to maintain at a (roughly) constant RPM, which is model-dependent. Manual speed levels 8-63 yield the same behavior as level 7, and the the ACPI DSDT uses level 7 for the emergency mode it enters upon critical CPU/GPU temperature, so apparently 7 is the real maximum level.&lt;br /&gt;
&lt;br /&gt;
=== Disengaged (full-speed) mode ===&lt;br /&gt;
&lt;br /&gt;
In ''disengaged'' mode, the embedded controller does not monitor the fan speed.  It &amp;quot;disengages&amp;quot; the closed-loop control function that keeps track of fan speed, and uses an open-loop control function that ramps up the fan to its maximum speed (100% duty-cycle).  The end speed is not stable, but it is often much faster than the maximum speed manual and automatic modes would set the fan to.&lt;br /&gt;
&lt;br /&gt;
Most newer ThinkPads take quite a while (in excess of one minute) to fully enter disengaged mode.  Exiting it is much faster.  The {{A31}} acts differently, and switches to disengaged mode as fast as it switches to other modes.&lt;br /&gt;
&lt;br /&gt;
For some reason, the embedded controller may stop updating the tachometer registers while entering or exiting disengaged mode in some ThinkPad firmware versions (hence the EC tachometer registers will not be updated on these models while entering/exiting disengaged mode).  Once it arrives at maximum speed, or once it gets back at closed-loop cruise speed, the embedded controller starts updating the tachometer registers again.   Later T models such as the {{T43}} have this problem, while the {{A31}} does not.&lt;br /&gt;
&lt;br /&gt;
{{HINT|Apparently the [[Problem with fan noise|pulsing fan noise]] experienced by some users can be cured by repeatedly running 2-4 seconds of manual control followed by 0.5-1 seconds of disengaged mode. The pulse occurs when the the embedded controller computes the fan speed and adjusts the fan voltage adaptively every few seconds (~4.8sec for the ThinkPad T43); the aforementioned mode switching doesn't give it a chance to do so. One of the [[ACPI fan control script#Variable speed control scripts|ACPI fan control scripts]] implements this solution.}}&lt;br /&gt;
&lt;br /&gt;
==Supported models==&lt;br /&gt;
&lt;br /&gt;
The above was successfully tested on the following models:&lt;br /&gt;
&lt;br /&gt;
* ThinkPad {{T60}} (fan levels RPM: 1-2 = 3000-3100, 3-5 = ~3600, 6-7 = ~4500; disengaged mode works at ~5500)&lt;br /&gt;
* ThinkPad {{T43}}, {{T43p}} (fan levels RPM: 1-2 = ~3300, 3-5 = ~4100, 6-7 = ~4700; disengaged mode works at ~6450)&lt;br /&gt;
* ThinkPad {{T42}}, {{T42p}} (fan levels RPM: 1-2 = ~2900, 3-5 = ~3700, 6-7 = ~4700; disengaged mode works at ~5200)&lt;br /&gt;
* ThinkPad {{T41}}, {{T41p}} (fan levels RPM: 1-2 = ~2980, 3-5 = ~3500, 6-7 = ~4050; disengaged mode works at ~5100)&lt;br /&gt;
* ThinkPad {{T40}} (fan levels RPM: 1-2 = ~2950, 3-5 = ~3600, 6-7 = ~4050)&lt;br /&gt;
* ThinkPad {{T30}}&lt;br /&gt;
* ThinkPad {{T22}}&lt;br /&gt;
* ThinkPad {{T23}} (low speed = ~2200, medium and maximum speed = ~4800; disengaged mode works at ~5800)&lt;br /&gt;
* ThinkPad {{R52}}&lt;br /&gt;
* ThinkPad {{R50}} (highest manual level is 3; disengage mode works and reaches much higher RPM)&lt;br /&gt;
* ThinkPad {{R50p}} (disengaged mode works at ~5100)&lt;br /&gt;
* ThinkPad {{R51}} (level 0 = off, level 1-2 = ~3150, level 3-5 = ~3350, level 6 = ~3750, disengaged = ~5100)&lt;br /&gt;
* ThinkPad {{R51e}} (level 0 = off, level 1-2 = ~3300, level 3-5 = ~3800, level 6 = ~4150, disengaged = ~5100)&lt;br /&gt;
* ThinkPad {{R60}}&lt;br /&gt;
* ThinkPad {{X30}} (level 0 = off, low = ~3900, medium = ~4200, maximum = ~4650, disengaged = ~5900)&lt;br /&gt;
* ThinkPad {{X31}}&lt;br /&gt;
* ThinkPad {{X40}}&lt;br /&gt;
* ThinkPad {{X41T}}&lt;br /&gt;
* ThinkPad {{Z60t}} (fan levels RPM: 1-2 = ~1700, 3-5 = ~2800, 6-7 = ~3500)&lt;br /&gt;
* ThinkPad {{Z60m}} (fan levels like Z60t)&lt;br /&gt;
* ThinkPad {{Z61m}}&lt;br /&gt;
* Thinkpad {{Z61p}} (fan levels 0-7, auto, disengaged; enable, disable; watchdog (untested))&lt;br /&gt;
* ThinkPad {{X60}}&lt;br /&gt;
* ThinkPad {{A31}} (fan levels RPM: 0 = off, 1-2 = ~3280-3380 (!), 3-5 = ~3200, 6-7 = ~3380, &amp;quot;disengaged&amp;quot; = ~4000 (see NOTE above))&lt;br /&gt;
Probably other models are supported too (please update this page if you confirm this).&lt;br /&gt;
&lt;br /&gt;
==Models using a different interface==&lt;br /&gt;
&lt;br /&gt;
The following models also work, use a different access method which supported (only) via the {{path|/proc/acpi/ibm/fan}} of [[ibm-acpi]]. No need for patching.&lt;br /&gt;
&lt;br /&gt;
* ThinkPad {{600E}}, {{600X}}, {{770E}}, {{770X}} (these use a different fan control interface)&lt;br /&gt;
&lt;br /&gt;
==Unsupported models==&lt;br /&gt;
&lt;br /&gt;
* ThinkPad {{560}} (these models don't have a fan)&lt;/div&gt;</summary>
		<author><name>Jenda</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problem_with_display_remaining_black_after_resume&amp;diff=29648</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=29648"/>
		<updated>2007-05-09T13:30:41Z</updated>

		<summary type="html">&lt;p&gt;Jenda: /* Solution for ThinkPads with ATI graphic chips and Intel 915/945GM */&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}}, {{T43}}, {{T43p}}, {{T60}}&lt;br /&gt;
*Thinkpad {{T23}}&lt;br /&gt;
*ThinkPad {{X21}}, {{X30}}, {{X31}}, {{X40}}, {{X41}}&lt;br /&gt;
*ThinkPad {{R31}}, {{R50e}}{{footnote|1}}, {{R50p}}, {{R51}} (with BIOS 1.11), {{R52}}, {{R60}}&lt;br /&gt;
*ThinkPad {{A30p}}&lt;br /&gt;
*ThinkPad {{390X}} (doesn't wake up; LCD backlight on, harddrive light remains on)&lt;br /&gt;
*ThinkPad {{Z60t}}, {{Z60m}}, {{Z61m}}&lt;br /&gt;
*ThinkPad {{X60s}}, {{X60}}&lt;br /&gt;
&lt;br /&gt;
==Affected Operating Systems==&lt;br /&gt;
*Linux (it's a kernel issue)&lt;br /&gt;
*FreeBSD (6.x at least)&lt;br /&gt;
&lt;br /&gt;
==Solutions==&lt;br /&gt;
===Semi-Solution for ThinkPad X60 with damaged system after s2ram usage===&lt;br /&gt;
It happend when restarting a s2ram-session.&lt;br /&gt;
&lt;br /&gt;
'''Symptom:''' Black screen with blinking &amp;quot;_&amp;quot; sign remaind. (without the &amp;quot;)&lt;br /&gt;
&lt;br /&gt;
'''System status:''' HDD idle, fan running, everything else looks to wait for something to happen.&lt;br /&gt;
&lt;br /&gt;
'''Semi-Solution:''' Booting with DVD-ROM and going through the installations menu,&lt;br /&gt;
where you choose &amp;quot;other&amp;quot; and &amp;quot;boot a installed system&amp;quot; (something like that). Gladly it works,&lt;br /&gt;
and OpenSuSE 10.1 comes up with 50% &amp;quot;failed&amp;quot; messages! I than shutdown properly, rebooted again&lt;br /&gt;
and had 100% &amp;quot;done&amp;quot; again, with no other things affected.&lt;br /&gt;
&lt;br /&gt;
'''Further:''' Repairing with the DVD-ROM crashed massivly(!), so I selected &amp;quot;boot a installed system&amp;quot; as final&lt;br /&gt;
solution and it worked!&lt;br /&gt;
&lt;br /&gt;
'''Unknown:''' Maybe the Solution for ThinkPads with 1400x1050 internal LCD and Intel 915GM will help,&lt;br /&gt;
because X60s and X60 are very familiar. (Not tested so far.)&lt;br /&gt;
&lt;br /&gt;
(If this Problem is not right here, please edit and move.)&lt;br /&gt;
&lt;br /&gt;
===Solution for ThinkPads with 1400x1050 internal LCD and Intel 915GM ===&lt;br /&gt;
see [[1400x1050 on Intel 915GM]].&lt;br /&gt;
===Solution for ThinkPads with ATI graphic chips and Intel 915/945GM ===&lt;br /&gt;
&lt;br /&gt;
Affected models include {{X60s}} and {{R60}}.&lt;br /&gt;
&lt;br /&gt;
This soluton also applies to T42 with Intel 855 and ATI 9600 M10.&lt;br /&gt;
&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 would look like this:&lt;br /&gt;
&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 would 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;
The actual process of going to sleep is then managed through a sleep script; as a start, see the {{path|sleep.sh}} script in the Extreme Graphics 2 section below, but note the following comments:&lt;br /&gt;
&lt;br /&gt;
In [[:Category:OpenSUSE|OpenSUSE]] 10.1 (at least on a T43p), it's necessary to override the default options for s2ram if you're using the newer ATI driver.  This can be done putting {{bootparm|SUSPEND2RAM_FORCE|&amp;quot;yes&amp;quot;}} and {{bootparm|SUSPEND2RAM_ACPI_SLEEP|&amp;quot;3&amp;quot;}} in {{path|/etc/powersave/sleep}}.&lt;br /&gt;
&lt;br /&gt;
In {{Ubuntu}} or {{Kubuntu}}, it may be necessary to modify {{path|/etc/default/acpi-support}}.  In that file, make sure that {{path|ACPI_SLEEP}} is uncommented and set to true.  With ATI chips, also make sure that {{path|SAVE_VBE_STATE}} is uncommented and set to true; with Intel chips, on the other hand, ensure that nothing is done with respect to VBE--no reposts, no state saves.&lt;br /&gt;
&lt;br /&gt;
In {{Fedora}}, it may be necessary with the Intel chips to edit the {{path|resume_video()}} function in {{path|/etc/pm/functions-intel}} to comment out the VBE post and restore.  (As of FC6 these seem to be pre-commented out.)  Also, the laptop, after waking up, may go back to sleep immediately or whenever the AC adapter is disconnected.  When this happens, it's caused by a bug in the HAL daemon that incorrectly reports certain ACPI events.  This is a known problem and a simple workaround is described [http://live.gnome.org/GnomePowerManager/Faq#head-b8b1280115b0a51c2cc27b13a57121130ebf36cb here].&lt;br /&gt;
&lt;br /&gt;
{{NOTE|It is possible this method will not work if the laptop is docked.  It is also possible that the cited workaround for the HAL daemon bug will not work on some machines.  A kludgier workaround in this event is to kill the HAL daemon on suspend.  This necessitates the resuscitation of GPM upon resume.}}&lt;br /&gt;
&lt;br /&gt;
Another solution is to use vbetool. If you are using {{Debian}} with the hibernate package, uncomment &amp;quot;EnableVbetool yes&amp;quot; in {{path|/etc/hibernate/hibernate.conf}} (or {{path|/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;
*For Debian Etch 4.0 on R50e just make following changes to /etc/default/acpi-support:&lt;br /&gt;
 #SAVE_VBE_STATE=true&lt;br /&gt;
 #VBESTATE=/var/lib/acpi-support/vbestate&lt;br /&gt;
 #POST_VIDEO=true&lt;br /&gt;
 SAVE_VIDEO_PCI_STATE=true&lt;br /&gt;
&lt;br /&gt;
*For a R50e the only thing needed to make suspend to ram work in Ubuntu 6.06 is adding&lt;br /&gt;
 Option  &amp;quot;VBERestore&amp;quot; &amp;quot;yes&amp;quot;&lt;br /&gt;
to the &amp;lt;tt&amp;gt;Device&amp;lt;/tt&amp;gt; section in your {{path|/etc/X11/xorg.conf}}, and the example script below.&lt;br /&gt;
&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;
With Ubuntu 6.10 on a [[:Category:R51|R51 (2887-32G)]] I ''just'' (as none of the other tricks above) had to add {{bootparm|fb|false}} to the kernel line in {{path|/etc/grub/menu.lst}} and edit {{path|/etc/defaults/acpi-support}} this way:&lt;br /&gt;
&lt;br /&gt;
 SAVE_VBE_STATE=false&lt;br /&gt;
 POST_VIDEO=false&lt;br /&gt;
 SAVE_VIDEO_PCI_STATE=true&lt;br /&gt;
 USE_DPMS=false&lt;br /&gt;
 DOUBLE_CONSOLE_SWITCH=false&lt;br /&gt;
&lt;br /&gt;
===Solution for ThinkPads with Intel I830 Chipset===&lt;br /&gt;
The following solution worked for me on an X30 with I830M chipset with kernel &amp;gt;= 2.6.16.&lt;br /&gt;
*this works with vesafb and also with intelfb frambuffer support.&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;
 FGCONSOLE=`fgconsole`&lt;br /&gt;
 chvt 8&lt;br /&gt;
 sync&lt;br /&gt;
 hwclock --systohc&lt;br /&gt;
 &lt;br /&gt;
 echo -n &amp;quot;mem&amp;quot; &amp;gt; /sys/power/state&lt;br /&gt;
 &lt;br /&gt;
 hwclock --hctosys&lt;br /&gt;
 vbetool post&lt;br /&gt;
 &lt;br /&gt;
 if [ &amp;quot;$FGCONSOLE&amp;quot; -ge &amp;quot;7&amp;quot; ] ; then&lt;br /&gt;
   chvt $FGCONSOLE&lt;br /&gt;
 else&lt;br /&gt;
   chvt 7&lt;br /&gt;
   chvt $FGCONSOLE&lt;br /&gt;
 fi&lt;br /&gt;
===Solution for ThinkPads with ATI graphic (and possibly other) chips and FreeBSD===&lt;br /&gt;
&lt;br /&gt;
The FreeBSD acpi(4) manpage mentions a tunable parameter, &amp;quot;hw.acpi.reset_video&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
    hw.acpi.reset_video&lt;br /&gt;
             Reset the video adapter from real mode during the resume path.&lt;br /&gt;
             Some systems need this help, others have display problems if it&lt;br /&gt;
             is enabled.  Default is 0 (disabled).&lt;br /&gt;
&lt;br /&gt;
This tunable can be set by adding the following line to your FreeBSD machine's /boot/loader.conf file:&lt;br /&gt;
&lt;br /&gt;
    hw.acpi.reset_video=&amp;quot;1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
And rebooting your machine.  Hopefully, the next time you resume from a suspend, you'll see your video again.  This solution doesn't appear to be specific to ATI hardware in any way, so I presume it would be helpful for video chipsets other than ATI, as well.&lt;br /&gt;
&lt;br /&gt;
If this entry doesn't help you, you might consider searching in the [http://lists.freebsd.org/pipermail/freebsd-mobile/ FreeBSD-Mobile email-list archive] for more insight.&lt;br /&gt;
&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>Jenda</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problem_with_display_remaining_black_after_resume&amp;diff=29647</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=29647"/>
		<updated>2007-05-09T13:29:10Z</updated>

		<summary type="html">&lt;p&gt;Jenda: /* Affected 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}}, {{T43}}, {{T43p}}, {{T60}}&lt;br /&gt;
*Thinkpad {{T23}}&lt;br /&gt;
*ThinkPad {{X21}}, {{X30}}, {{X31}}, {{X40}}, {{X41}}&lt;br /&gt;
*ThinkPad {{R31}}, {{R50e}}{{footnote|1}}, {{R50p}}, {{R51}} (with BIOS 1.11), {{R52}}, {{R60}}&lt;br /&gt;
*ThinkPad {{A30p}}&lt;br /&gt;
*ThinkPad {{390X}} (doesn't wake up; LCD backlight on, harddrive light remains on)&lt;br /&gt;
*ThinkPad {{Z60t}}, {{Z60m}}, {{Z61m}}&lt;br /&gt;
*ThinkPad {{X60s}}, {{X60}}&lt;br /&gt;
&lt;br /&gt;
==Affected Operating Systems==&lt;br /&gt;
*Linux (it's a kernel issue)&lt;br /&gt;
*FreeBSD (6.x at least)&lt;br /&gt;
&lt;br /&gt;
==Solutions==&lt;br /&gt;
===Semi-Solution for ThinkPad X60 with damaged system after s2ram usage===&lt;br /&gt;
It happend when restarting a s2ram-session.&lt;br /&gt;
&lt;br /&gt;
'''Symptom:''' Black screen with blinking &amp;quot;_&amp;quot; sign remaind. (without the &amp;quot;)&lt;br /&gt;
&lt;br /&gt;
'''System status:''' HDD idle, fan running, everything else looks to wait for something to happen.&lt;br /&gt;
&lt;br /&gt;
'''Semi-Solution:''' Booting with DVD-ROM and going through the installations menu,&lt;br /&gt;
where you choose &amp;quot;other&amp;quot; and &amp;quot;boot a installed system&amp;quot; (something like that). Gladly it works,&lt;br /&gt;
and OpenSuSE 10.1 comes up with 50% &amp;quot;failed&amp;quot; messages! I than shutdown properly, rebooted again&lt;br /&gt;
and had 100% &amp;quot;done&amp;quot; again, with no other things affected.&lt;br /&gt;
&lt;br /&gt;
'''Further:''' Repairing with the DVD-ROM crashed massivly(!), so I selected &amp;quot;boot a installed system&amp;quot; as final&lt;br /&gt;
solution and it worked!&lt;br /&gt;
&lt;br /&gt;
'''Unknown:''' Maybe the Solution for ThinkPads with 1400x1050 internal LCD and Intel 915GM will help,&lt;br /&gt;
because X60s and X60 are very familiar. (Not tested so far.)&lt;br /&gt;
&lt;br /&gt;
(If this Problem is not right here, please edit and move.)&lt;br /&gt;
&lt;br /&gt;
===Solution for ThinkPads with 1400x1050 internal LCD and Intel 915GM ===&lt;br /&gt;
see [[1400x1050 on Intel 915GM]].&lt;br /&gt;
===Solution for ThinkPads with ATI graphic chips and Intel 915/945GM ===&lt;br /&gt;
&lt;br /&gt;
Affected models include {{X60s}}.&lt;br /&gt;
&lt;br /&gt;
This soluton also applies to T42 with Intel 855 and ATI 9600 M10.&lt;br /&gt;
&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 would look like this:&lt;br /&gt;
&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 would 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;
The actual process of going to sleep is then managed through a sleep script; as a start, see the {{path|sleep.sh}} script in the Extreme Graphics 2 section below, but note the following comments:&lt;br /&gt;
&lt;br /&gt;
In [[:Category:OpenSUSE|OpenSUSE]] 10.1 (at least on a T43p), it's necessary to override the default options for s2ram if you're using the newer ATI driver.  This can be done putting {{bootparm|SUSPEND2RAM_FORCE|&amp;quot;yes&amp;quot;}} and {{bootparm|SUSPEND2RAM_ACPI_SLEEP|&amp;quot;3&amp;quot;}} in {{path|/etc/powersave/sleep}}.&lt;br /&gt;
&lt;br /&gt;
In {{Ubuntu}} or {{Kubuntu}}, it may be necessary to modify {{path|/etc/default/acpi-support}}.  In that file, make sure that {{path|ACPI_SLEEP}} is uncommented and set to true.  With ATI chips, also make sure that {{path|SAVE_VBE_STATE}} is uncommented and set to true; with Intel chips, on the other hand, ensure that nothing is done with respect to VBE--no reposts, no state saves.&lt;br /&gt;
&lt;br /&gt;
In {{Fedora}}, it may be necessary with the Intel chips to edit the {{path|resume_video()}} function in {{path|/etc/pm/functions-intel}} to comment out the VBE post and restore.  (As of FC6 these seem to be pre-commented out.)  Also, the laptop, after waking up, may go back to sleep immediately or whenever the AC adapter is disconnected.  When this happens, it's caused by a bug in the HAL daemon that incorrectly reports certain ACPI events.  This is a known problem and a simple workaround is described [http://live.gnome.org/GnomePowerManager/Faq#head-b8b1280115b0a51c2cc27b13a57121130ebf36cb here].&lt;br /&gt;
&lt;br /&gt;
{{NOTE|It is possible this method will not work if the laptop is docked.  It is also possible that the cited workaround for the HAL daemon bug will not work on some machines.  A kludgier workaround in this event is to kill the HAL daemon on suspend.  This necessitates the resuscitation of GPM upon resume.}}&lt;br /&gt;
&lt;br /&gt;
Another solution is to use vbetool. If you are using {{Debian}} with the hibernate package, uncomment &amp;quot;EnableVbetool yes&amp;quot; in {{path|/etc/hibernate/hibernate.conf}} (or {{path|/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;
*For Debian Etch 4.0 on R50e just make following changes to /etc/default/acpi-support:&lt;br /&gt;
 #SAVE_VBE_STATE=true&lt;br /&gt;
 #VBESTATE=/var/lib/acpi-support/vbestate&lt;br /&gt;
 #POST_VIDEO=true&lt;br /&gt;
 SAVE_VIDEO_PCI_STATE=true&lt;br /&gt;
&lt;br /&gt;
*For a R50e the only thing needed to make suspend to ram work in Ubuntu 6.06 is adding&lt;br /&gt;
 Option  &amp;quot;VBERestore&amp;quot; &amp;quot;yes&amp;quot;&lt;br /&gt;
to the &amp;lt;tt&amp;gt;Device&amp;lt;/tt&amp;gt; section in your {{path|/etc/X11/xorg.conf}}, and the example script below.&lt;br /&gt;
&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;
With Ubuntu 6.10 on a [[:Category:R51|R51 (2887-32G)]] I ''just'' (as none of the other tricks above) had to add {{bootparm|fb|false}} to the kernel line in {{path|/etc/grub/menu.lst}} and edit {{path|/etc/defaults/acpi-support}} this way:&lt;br /&gt;
&lt;br /&gt;
 SAVE_VBE_STATE=false&lt;br /&gt;
 POST_VIDEO=false&lt;br /&gt;
 SAVE_VIDEO_PCI_STATE=true&lt;br /&gt;
 USE_DPMS=false&lt;br /&gt;
 DOUBLE_CONSOLE_SWITCH=false&lt;br /&gt;
&lt;br /&gt;
===Solution for ThinkPads with Intel I830 Chipset===&lt;br /&gt;
The following solution worked for me on an X30 with I830M chipset with kernel &amp;gt;= 2.6.16.&lt;br /&gt;
*this works with vesafb and also with intelfb frambuffer support.&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;
 FGCONSOLE=`fgconsole`&lt;br /&gt;
 chvt 8&lt;br /&gt;
 sync&lt;br /&gt;
 hwclock --systohc&lt;br /&gt;
 &lt;br /&gt;
 echo -n &amp;quot;mem&amp;quot; &amp;gt; /sys/power/state&lt;br /&gt;
 &lt;br /&gt;
 hwclock --hctosys&lt;br /&gt;
 vbetool post&lt;br /&gt;
 &lt;br /&gt;
 if [ &amp;quot;$FGCONSOLE&amp;quot; -ge &amp;quot;7&amp;quot; ] ; then&lt;br /&gt;
   chvt $FGCONSOLE&lt;br /&gt;
 else&lt;br /&gt;
   chvt 7&lt;br /&gt;
   chvt $FGCONSOLE&lt;br /&gt;
 fi&lt;br /&gt;
===Solution for ThinkPads with ATI graphic (and possibly other) chips and FreeBSD===&lt;br /&gt;
&lt;br /&gt;
The FreeBSD acpi(4) manpage mentions a tunable parameter, &amp;quot;hw.acpi.reset_video&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
    hw.acpi.reset_video&lt;br /&gt;
             Reset the video adapter from real mode during the resume path.&lt;br /&gt;
             Some systems need this help, others have display problems if it&lt;br /&gt;
             is enabled.  Default is 0 (disabled).&lt;br /&gt;
&lt;br /&gt;
This tunable can be set by adding the following line to your FreeBSD machine's /boot/loader.conf file:&lt;br /&gt;
&lt;br /&gt;
    hw.acpi.reset_video=&amp;quot;1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
And rebooting your machine.  Hopefully, the next time you resume from a suspend, you'll see your video again.  This solution doesn't appear to be specific to ATI hardware in any way, so I presume it would be helpful for video chipsets other than ATI, as well.&lt;br /&gt;
&lt;br /&gt;
If this entry doesn't help you, you might consider searching in the [http://lists.freebsd.org/pipermail/freebsd-mobile/ FreeBSD-Mobile email-list archive] for more insight.&lt;br /&gt;
&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>Jenda</name></author>
		
	</entry>
</feed>