<?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=Evan.heidtmann</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=Evan.heidtmann"/>
	<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/wiki/Special:Contributions/Evan.heidtmann"/>
	<updated>2026-04-17T15:51:52Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.12</generator>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problem_with_high_pitch_noises&amp;diff=8037</id>
		<title>Problem with high pitch noises</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Problem_with_high_pitch_noises&amp;diff=8037"/>
		<updated>2005-08-11T20:46:22Z</updated>

		<summary type="html">&lt;p&gt;Evan.heidtmann: Correct typo: save =&amp;gt; safe&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Information on strange high pitch, low volume noises emitted by ThinkPads.&lt;br /&gt;
&lt;br /&gt;
==Problem description==&lt;br /&gt;
Even though ThinkPads are known as very silent notebooks, they tend to emit different, mostly high pitch noises in certain circumstances. The noises are of low volume and hence not realized by everyone or at least tolerated by most people. However, there are those with &amp;quot;bat like ears&amp;quot; that hear them and might be annoyed by that.&lt;br /&gt;
&lt;br /&gt;
==Affected Models==&lt;br /&gt;
Noises have been experienced in the following situations:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#DDDDDD;&amp;quot; | situation&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#DDDDDD;&amp;quot; | noise description&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#DDDDDD;&amp;quot; | affected models&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
ThinkPad suspended to RAM&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
constant high pitch noise&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{T42p}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
ThinkPad connected to power and switched off, with battery fully charged&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
constant high pitch noise&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{T41p}}&lt;br /&gt;
**2373-GHG&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
moving windows or just the mouse in xorg&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
strange noise like a rapid series of very short high pitch noises adding to a constant kind of whistling (only as long as the movement goes)&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{T41p}}&lt;br /&gt;
**2373-GHG&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
Thinkpad connected to power or working on battery, also when suspended to RAM&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
High pitch noise also when HD is powered down.&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{T23}}&lt;br /&gt;
**2647-DG4&lt;br /&gt;
*{{X24}}&lt;br /&gt;
**2662-MWG&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
Thinkpad connected to power battery charged less than 60%&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
High pitch noise till battery is charged more than 60%.&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{T41p}}&lt;br /&gt;
**2373-GEG&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
Constantly, if AC connected&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
High pitched, low volume constant noise.&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{T40}}&lt;br /&gt;
**2373-88U&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
When the CPU freq jumps up to 1Ghz or above, or when the laptop is in suspend mode&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
Constant high pitched&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{R50}}&lt;br /&gt;
**1829-6DM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
(May come from harddisk.)&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
continuous, intermittent, low volume, high pitched&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{600X}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
ACPI puts the processor into the C3 or C4 power saving states (i.e., the system is idle).&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
High-pitched crackling noise.&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{X41}}&lt;br /&gt;
*{{T43}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
Cpufreqd (or powernowd etc.) slows down the processor, for exemple at the end of an heavy task.&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
High-pitched crackling noise.&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{T42}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
When on battery&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
Almost inaudible screeching sound, or sometimes beeping&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{R52}}&lt;br /&gt;
**1858-A11&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Affected Operating Systems==&lt;br /&gt;
*Linux, all flavours&lt;br /&gt;
&lt;br /&gt;
==Status==&lt;br /&gt;
Similar phenomena was experienced with models from the T2x aera, like i.e. on the {{T23}}. On these models the problem was related to the graphics circuitry and occured especially or only while making use of DirectDraw funktions. IBM was able to fix it through a BIOS upgrade.&lt;br /&gt;
&lt;br /&gt;
It is likely that the noises discovered on recent models are related to the graphics chip as well.&lt;br /&gt;
&lt;br /&gt;
==Solutions==&lt;br /&gt;
===Processor idle-states===&lt;br /&gt;
*From Martin Steigerwald: I made the observation that I get at least less high pitch noises on my {{T23}} when I do not use the two ACPI modules &amp;quot;processor&amp;quot; and &amp;quot;thermal&amp;quot; (depends on the first one). I have no clue, why. Anyone with similar experiences?&lt;br /&gt;
&lt;br /&gt;
*Niko Ehrenfeuchter: I'm experiencing the same here on my {{X24}}. Removing the &amp;quot;processor&amp;quot; module also stops the pitch noise, which does ONLY occur when setting the CPU to maximum speed (using cpufreq). On low speed it's completely silent, even having loaded the processor module.&lt;br /&gt;
&lt;br /&gt;
*Rolf Adelsberger: I can confirm this: the high pitch noise is only remarkable (at least with my ears ;-) ) if the processor speed is set to maximum frequency.&lt;br /&gt;
&lt;br /&gt;
*Andreas Karnahl: i've read in several forums it has something to do with the &amp;quot;idle&amp;quot;-state (or &amp;quot;C3&amp;quot;) of the processor. There is a frequency called &amp;quot;timer interrupt&amp;quot; (or something like that). Since kernel 2.6x it is set to 1000 Hz by default (compared to 100 Hz in Kernel 2.4x). The exact reason i don't know, but it is safe to change this frequency to 100 Hz in kernel 2.6x (by the way, windows up to XP uses 100 Hz by default).&amp;lt;br /&amp;gt;Just do the following:&amp;lt;br /&amp;gt;&lt;br /&gt;
:   In {{path|[path to kernel-sources]/include/asm-i386/param.h}} find the line&lt;br /&gt;
::       &amp;lt;code&amp;gt;#define HZ 1000&amp;lt;/code&amp;gt;&lt;br /&gt;
:   and change the value of HZ to 100: &lt;br /&gt;
::       &amp;lt;code&amp;gt;#define HZ 100&amp;lt;/code&amp;gt;&lt;br /&gt;
:Then recompile the kernel.&amp;lt;br /&amp;gt;After i changed it on my ThinkPad {{A30}} (under SuSE 9.2 and 9.3) and recompiling the kernel the high pitch noise is gone away.&lt;br /&gt;
&lt;br /&gt;
*Stefan Baums: My {{X41}} produced a high-pitched crackle from the processor vent on the left.  Changing HZ did nothing, and the 'processor' module could not easily be removed from the system (Ubuntu 5.04).  What solved the problem for me was adding {{bootparm|idle|halt}} to the boot command line. Unfortunately, this solution only lasts until the first hibernation or suspend - when the computer ({{X41}}) resumes, the high-pitched crackle is back.&lt;br /&gt;
&lt;br /&gt;
*Peter DeVries: My {{X41}} produces the same sounds as described above but I believe it is related to the Hard Drive and not to the processor.  The physical location of the two is so close that sounds generated from the HD are very likely to be loudest at the vent.&lt;br /&gt;
&lt;br /&gt;
* The {{bootparm|idle|halt}} solution combined with setting &amp;lt;code&amp;gt;#define HZ 100&amp;lt;/code&amp;gt; in the kernel fixes the problem on a {{T43}}.&lt;br /&gt;
&lt;br /&gt;
*Stefan Baums: I raised this issue on the linux-kernel mailing list, and from there it was forwarded to the acpi-devel mailing list.  See the discussion [http://sourceforge.net/mailarchive/forum.php?thread_id=7593600&amp;amp;forum_id=6102 here] and [http://sourceforge.net/mailarchive/forum.php?thread_id=7599419&amp;amp;forum_id=6102 here]. Results: The &amp;lt;code&amp;gt;idle=halt&amp;lt;/code&amp;gt; kernel parameter disables ACPI C-state switching entirely (i.e., locks the processor in C1). It is preferable to pass to the ACPI processor component the option {{bootparm|max_cstate|2}}, which only disables the problematic states C3 and C4.  The only way to accomplish this that worked for me was to compile the ACPI processor component permanently into the kernel (&amp;lt;tt&amp;gt;CONFIG_ACPI_PROCESSOR=y&amp;lt;/tt&amp;gt;) and then enable it by adding the parameter {{bootparm|processor.max_cstate|2}} to the boot command line (and of course removing {{bootparm|idle|halt}}). Now the computer switches back and forth between C1 and C2, but avoids the noise-inducing C3 and C4, and frequency scaling works regardless. ({{X41}})&lt;br /&gt;
&lt;br /&gt;
* Paul RIVIER: Here is a really simple workaround. C3 / C4 states are mainly called when the cpu freq is higher than required, for example if your cpufreqd is lazy to slow down the frequency but quick to raise it. That is why I use powernowd with the builtin &amp;quot;passive&amp;quot; mode, which is lazy for raising frequency, but quick to go back to the lowest. Now I don't hear them as often as before, as I avoid C3/C4 states at high frequency.&lt;br /&gt;
&lt;br /&gt;
* Adding &amp;lt;code&amp;gt;options processor max_cstate=2&amp;lt;/code&amp;gt; in {{path|/etc/modprobe.conf}} (or {{path|/etc/modprobe.conf.local}} on my SuSE 9.3 installation) prevents the CPU permanently from entering into C3 and higher states. ACPI processor support can then remain a kernel module. Negative impact on battery life is probably minimal. ({{X40}})&lt;br /&gt;
&lt;br /&gt;
===Disabling UltraBay===&lt;br /&gt;
*Naheed Vora: My {{T41}} (2373-268) started to give high pitch noise ocassionally, when I upgraded to 2.6.11 kernel. I tried to unload lot of modules but finally figured out that disabling bay stops the noise. If you have [[ibm-acpi]], do (need a cleaner solution): {{cmd|echo eject &amp;gt;/proc/acpi/ibm/bay}} .&lt;br /&gt;
&lt;br /&gt;
===Disabling IrDA===&lt;br /&gt;
*Mike Perry: I was able to cure an intermittent high-pitched whine on both my {{X24}} and {{X40}} by disabling the Infrared port.&lt;br /&gt;
&lt;br /&gt;
===Disabling Linuxant Modem Driver===&lt;br /&gt;
*Joern Heissler: I made another experience. I played around with linuxant conexant [[Modem Devices|modem]] drivers. After loading them I got some noise on my {{T42p}}.&lt;br /&gt;
&lt;br /&gt;
===Others===&lt;br /&gt;
* On a {{T43}} the noise was gone after dropping cpufreqd and switching to the ondemand governor - maybe because of the high sampling rate? (used the default: 10ms)&lt;/div&gt;</summary>
		<author><name>Evan.heidtmann</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_make_use_of_Dynamic_Frequency_Scaling&amp;diff=8045</id>
		<title>How to make use of Dynamic Frequency Scaling</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_make_use_of_Dynamic_Frequency_Scaling&amp;diff=8045"/>
		<updated>2005-08-01T03:27:24Z</updated>

		<summary type="html">&lt;p&gt;Evan.heidtmann: /* Using the Sys Interface */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==General==&lt;br /&gt;
Linux supports Dynamic Frequency Scaling for ThinkPads with mobile Pentium III, Pentium 4 and Pentium M processors.&lt;br /&gt;
&lt;br /&gt;
==Debian notes==&lt;br /&gt;
&lt;br /&gt;
Instead of compiling your own kernel, you can use the Debian &amp;quot;stock&amp;quot; kernel. In Unstable/SID the 2.6.12 kernel image with an /etc/modules that include:&lt;br /&gt;
&lt;br /&gt;
 battery&lt;br /&gt;
 ac&lt;br /&gt;
 thermal&lt;br /&gt;
 processor&lt;br /&gt;
 acpi-cpufreq&lt;br /&gt;
 cpufreq-userspace&lt;br /&gt;
&lt;br /&gt;
With the powernowd package and you should be setup.&lt;br /&gt;
&lt;br /&gt;
===Configuring the Kernel===&lt;br /&gt;
====2.4 Kernels====&lt;br /&gt;
There were various frequency scaling implementations in the 2.4 series of kernels. They all were preliminary and a standard was rised with the introduction of the sysfs filesystem in 2.6 kernels. It is recommended to use a 2.6 kernel, if possible.&lt;br /&gt;
&lt;br /&gt;
====2.6 Kernels====&lt;br /&gt;
You need to enable the cpu frequency scaling for your kernel (usually your distros kernel will have this enabled):&lt;br /&gt;
 CONFIG_CPU_FREQ=y&lt;br /&gt;
&lt;br /&gt;
You need to enable governors, if not already done in your distros default kernel:&lt;br /&gt;
 CONFIG_CPU_FREQ_GOV_PERFORMANCE=y&lt;br /&gt;
 CONFIG_CPU_FREQ_GOV_POWERSAVE=y&lt;br /&gt;
 CONFIG_CPU_FREQ_GOV_USERSPACE=y&lt;br /&gt;
&lt;br /&gt;
Since 2.6.10 there is the ondemand governor that does cpu frequency scaling in kernel so you dont need userspace programs like powernowd etc.&lt;br /&gt;
It can be enabled with:&lt;br /&gt;
 CONFIG_CPU_FREQ_GOV_ONDEMAND=y&lt;br /&gt;
&lt;br /&gt;
==Using the Sys Interface==&lt;br /&gt;
&lt;br /&gt;
The files in {{path|/sys/devices/system/cpu/cpu0/cpufreq/}} provide information and a means of controlling the frequency scaling subsystem.&lt;br /&gt;
Seed values are given in Khz. You need to be root to access the /sys filesystem.&lt;br /&gt;
&lt;br /&gt;
Your max speed is at {{path|/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq}}.&lt;br /&gt;
:{{cmdroot|cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq}}&lt;br /&gt;
:{{cmdresult|700000}}&lt;br /&gt;
Your min speed is at {{path|/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq}}.&lt;br /&gt;
:{{cmdroot|cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq}}&lt;br /&gt;
:{{cmdresult|500000}}&lt;br /&gt;
If you are using the userspace governor, you can write to {{path|/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed}} to change the current speed.&lt;br /&gt;
:{{cmdroot|echo 700000 &amp;gt; /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed}}&lt;br /&gt;
:{{cmdroot|cat /proc/cpuinfo  | grep &amp;quot;cpu MHz&amp;quot;}}&lt;br /&gt;
:{{cmdresult|cpu MHz         : 697.252}}&lt;br /&gt;
:{{cmdroot|echo 900000 &amp;gt; /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed}}&lt;br /&gt;
:{{cmdroot|cat /proc/cpuinfo  | grep &amp;quot;cpu MHz&amp;quot;}}&lt;br /&gt;
:{{cmdresult|cpu MHz         : 976.152}}&lt;br /&gt;
&lt;br /&gt;
==Using Frequency Scaling Governors==&lt;br /&gt;
You can compile the scaling gouvernours into your kernel or compile it as module. You'll find the gouvernors with 'make menuconfig' here:&lt;br /&gt;
: &amp;lt;code&amp;gt;Power managemant options (ACPI, APM)   ---&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:: &amp;lt;code&amp;gt;CPU Frequency scaling  ---&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After booting the new kernel you can get a list of available governors with (as root):&lt;br /&gt;
:{{cmdroot|cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors}}&lt;br /&gt;
:{{cmdresult|conservative ondemand powersave userspace performance}}&lt;br /&gt;
&lt;br /&gt;
A Short Overview over the available governors:&lt;br /&gt;
:;ondemand&lt;br /&gt;
::This driver is a dynamic cpufreq policy governor. It changes frequency based on the processor load.&lt;br /&gt;
:;conservative&lt;br /&gt;
::New since 2.6.12. Similar to ''ondemand''. Optimized for battery powered environments and AMD64.&lt;br /&gt;
:;powersave&lt;br /&gt;
::Like the name says, your battery would choose this one ;). It sets the Frequency always to the lowest available.&lt;br /&gt;
:;userspace&lt;br /&gt;
::You have to choose this one, if a [[#Using Frequency Scaling Daemons|frequency scaling daemon]] should manage your CPU frequency or you want to do it manually.&lt;br /&gt;
:;performance&lt;br /&gt;
::This governor sets your Frequency always to the highest available.&lt;br /&gt;
&lt;br /&gt;
Now we set our governor:&lt;br /&gt;
What is our current governor?&lt;br /&gt;
:{{cmdroot|cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor}}&lt;br /&gt;
:{{cmdresult|userspace}}&lt;br /&gt;
Set new governor and watch if it has changed&lt;br /&gt;
:{{cmdroot|echo conservative &amp;gt; /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor}}&lt;br /&gt;
:{{cmdroot|cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor}}&lt;br /&gt;
:{{cmdresult|conservative}}&lt;br /&gt;
&lt;br /&gt;
Congrats! Your governor is active.&lt;br /&gt;
&lt;br /&gt;
You may set the governor in your rc.local, to make it used on every boot.&lt;br /&gt;
&lt;br /&gt;
Debian has no rc.local, so read [http://www.debian.org/doc/FAQ/ch-customizing.en.html#s-custombootscripts this] and [http://www.debian.org/doc/FAQ/ch-customizing.en.html#s-booting this]&lt;br /&gt;
&lt;br /&gt;
==Using Frequency Scaling Daemons==&lt;br /&gt;
{{NOTE|It is recommended to use the ondemand frequency scaling governor, available in kernels from 2.6.10. See [[#Using Frequency Scaling Governors|above]].  If you do this you do not need a frequency scaling daemon}}&lt;br /&gt;
&lt;br /&gt;
Don't forget to enable the userspace governor to have a userspace daemon do the frequency scaling. If it is built as module, load it as &amp;lt;tt&amp;gt;cpufreq-userspace&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
There are plenty of userspace frequency scaling daemons available:&lt;br /&gt;
&lt;br /&gt;
*[[How to configure cpufreqd | cpufreqd]]&lt;br /&gt;
*[[How to configure cpudynd | cpudynd]]&lt;br /&gt;
*[[How to configure speedfreqd | speedfreqd]]&lt;br /&gt;
*[[How to configure powersaved | powersaved]]&lt;br /&gt;
*[[How to configure powernowd | powernowd]]&lt;br /&gt;
*[[How to use cpufrequtils | cpufrequtils]]&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
*If you have a Coppermine-piix-smi based Thinkpads like from the A2x, X2x and T2x series you need to enable the &amp;lt;tt&amp;gt;speedstep-ich&amp;lt;/tt&amp;gt; driver in the kernel and load it if it's built as module. You might want to look at [[How to get SpeedStep working on Coppermine-piix4-smi based Thinkpads | this page]].&lt;br /&gt;
&lt;br /&gt;
*If you have a p4-class celeron based Thinkpad like the R40e you might want to look at [[How to get SpeedStep working on P4-class-Celeron based Thinkpads | this page]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:570E]] [[Category:600X]] [[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:R50e]] [[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]]&lt;/div&gt;</summary>
		<author><name>Evan.heidtmann</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Integrated_Fingerprint_Reader&amp;diff=6885</id>
		<title>Integrated Fingerprint Reader</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Integrated_Fingerprint_Reader&amp;diff=6885"/>
		<updated>2005-07-31T20:59:10Z</updated>

		<summary type="html">&lt;p&gt;Evan.heidtmann: /* Linux Support */ Describe UPEK's planned driver&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;width:10px;&amp;quot; | [[Image:fingerprintreader.jpg|IBM Integrated Fingerprint Reader]] __NOTOC__&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;&lt;br /&gt;
===Integrated Fingerprint Reader===&lt;br /&gt;
IBM released a second generation of T42 models in autumn 2004 featuring Intel Pentium M 765 processors and an integrated fingerprint reader.&lt;br /&gt;
&lt;br /&gt;
The fingerprint reader is produced by a company called UPEK, which is specialized to fingerprint readers.&lt;br /&gt;
&lt;br /&gt;
It seems to be integrated as a USB device.&lt;br /&gt;
&lt;br /&gt;
Furthermore, IBM states that there's an interface with the [[Embedded Security Subsystem]].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Linux Support==&lt;br /&gt;
A closed source driver is expected from the vendor in September 2005. Details on the driver are unknown at this time. See links below for more information.&lt;br /&gt;
&lt;br /&gt;
==Related Links==&lt;br /&gt;
* [http://www.upek.com/customers/ct_notebook_ibm.asp UPEK customer report about the deal with IBM]&lt;br /&gt;
* [http://www.trustedreviews.com/article.aspx?page=1643&amp;amp;head=36 Review from TrustedReviews of the fingerprint scanner]&lt;br /&gt;
* [http://biomark.org.ru/en/ A (Russian) project that provides support for a (different model) of fingerprint scanner] (also a USB device, though)&lt;br /&gt;
* [http://linuxbiometrics.com/modules/newbb/viewtopic.php?topic_id=8&amp;amp;forum=1 Discussion of the T42/T24p fingerprint scanner on the Linux Biometrics site]&lt;br /&gt;
* [http://linuxbiometrics.com/modules/news/article.php?storyid=16 UPEK announcement (planned, closed-source) support for BioAPI on Linux] The first release is currently scheduled for September 2005.&lt;br /&gt;
&lt;br /&gt;
==Models featuring this Technology==&lt;br /&gt;
*ThinkPad {{T42}}, {{T42p}}, {{T43}}, {{T43p}}&lt;br /&gt;
*ThinkPad {{X41}}, {{X41T}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Glossary]]&lt;/div&gt;</summary>
		<author><name>Evan.heidtmann</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=ACPI_sleep_power_drain_test_script&amp;diff=6880</id>
		<title>ACPI sleep power drain test script</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=ACPI_sleep_power_drain_test_script&amp;diff=6880"/>
		<updated>2005-07-31T15:39:59Z</updated>

		<summary type="html">&lt;p&gt;Evan.heidtmann: Add note about second battery&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following script will suspend your notebook to ram and output some statistics about the power drain during suspend to &amp;lt;tt&amp;gt;/var/log/battery.log&amp;lt;/tt&amp;gt;. The output will look something like this:&lt;br /&gt;
&lt;br /&gt;
 Di Jan 11 14:01:15 CET 2005&lt;br /&gt;
 before: 41170 mWh&lt;br /&gt;
 after: 41000 mWh&lt;br /&gt;
 diff: -170 mWh&lt;br /&gt;
 seconds: 1671 sec&lt;br /&gt;
 result: -366 mW&lt;br /&gt;
 Congratulations, your model seems NOT to be affected.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|This is not totally reliable, e.g. on some (all?) R32 the values&lt;br /&gt;
reported by ACPI for the battery are wrong by a factor 10, i.e. they are actually&lt;br /&gt;
reported in cWh instead of mWh. Thus the script thinks that the power&lt;br /&gt;
consumption is only a tenth of its actual value.&lt;br /&gt;
}}{{NOTE|This script assumes you have only one battery. If you have a second battery (for example, an UltraBay Slim battery), take it out for this test or change occurrances of &amp;quot;BAT0&amp;quot; in the script to &amp;quot;BAT1&amp;quot;. If you do the latter, you will get bogus results if the second battery is run down while sleeping.}}&lt;br /&gt;
&lt;br /&gt;
Please save this script to a file, i.e. &amp;lt;tt&amp;gt;sleep.sh&amp;lt;/tt&amp;gt;, make it executable (&amp;lt;code&amp;gt;chmod +x sleep.sh&amp;lt;/code&amp;gt;) and execute it as root while your notebook is on battery. To get representative values you should leave the notebook suspended for at least 20 minutes.&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 # sleep.sh test script for measuring power drain during suspend-to-ram with ACPI&lt;br /&gt;
 &lt;br /&gt;
 # remove USB for external mouse before sleeping&lt;br /&gt;
 if lsmod | grep '^usbhid' &amp;gt;/dev/null ; then&lt;br /&gt;
    /sbin/modprobe -r -s usbhid&lt;br /&gt;
 fi&lt;br /&gt;
 if lsmod | grep '^uhci_hcd' &amp;gt;/dev/null ; then&lt;br /&gt;
    /sbin/modprobe -r -s uhci_hcd&lt;br /&gt;
 fi&lt;br /&gt;
 if lsmod | grep '^ehci_hcd' &amp;gt;/dev/null ; then&lt;br /&gt;
    /sbin/modprobe -r -s ehci_hcd&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 hwclock --systohc&lt;br /&gt;
 &lt;br /&gt;
 LOG=/var/log/battery.log&lt;br /&gt;
 date &amp;gt;&amp;gt; $LOG&lt;br /&gt;
 DATE_BEFORE=`date +%s`&lt;br /&gt;
 BAT_BEFORE=`grep 'remaining capacity' /proc/acpi/battery/BAT0/state | awk '{print $3}'`&lt;br /&gt;
 echo &amp;quot;before: $BAT_BEFORE mWh&amp;quot; &amp;gt;&amp;gt; $LOG&lt;br /&gt;
 &lt;br /&gt;
 echo 3 &amp;gt; /proc/acpi/sleep&lt;br /&gt;
 &lt;br /&gt;
 DATE_AFTER=`date +%s`&lt;br /&gt;
 BAT_AFTER=`grep 'remaining capacity' /proc/acpi/battery/BAT0/state | awk '{print $3}'`&lt;br /&gt;
 echo &amp;quot;after: $BAT_AFTER mWh&amp;quot; &amp;gt;&amp;gt; $LOG&lt;br /&gt;
 &lt;br /&gt;
 DIFF=`echo &amp;quot;$BAT_AFTER - $BAT_BEFORE&amp;quot; | bc`&lt;br /&gt;
 SECONDS=`echo &amp;quot;$DATE_AFTER - $DATE_BEFORE&amp;quot; | bc`&lt;br /&gt;
 echo &amp;quot;diff: $DIFF mWh&amp;quot; &amp;gt;&amp;gt; $LOG&lt;br /&gt;
 echo &amp;quot;seconds: $SECONDS sec&amp;quot; &amp;gt;&amp;gt; $LOG&lt;br /&gt;
 USAGE=`echo &amp;quot;($DIFF * 60 * 60) / ($SECONDS)&amp;quot; | bc`&lt;br /&gt;
 echo &amp;quot;result: $USAGE mW&amp;quot; &amp;gt;&amp;gt; $LOG&lt;br /&gt;
 if [ $USAGE -gt -1000 ]&lt;br /&gt;
 then&lt;br /&gt;
     echo &amp;quot;Congratulations, your model seems NOT to be affected.&amp;quot; &amp;gt;&amp;gt; $LOG&lt;br /&gt;
 else&lt;br /&gt;
     echo &amp;quot;Your model seems to be affected.&amp;quot; &amp;gt;&amp;gt; $LOG&lt;br /&gt;
 fi&lt;br /&gt;
 if [ $SECONDS -lt 1200 ]&lt;br /&gt;
 then&lt;br /&gt;
     echo &amp;quot;!!! The notebook was suspended less than 20 minutes.&amp;quot; &amp;gt;&amp;gt; $LOG&lt;br /&gt;
     echo &amp;quot;!!! To get representative values please let the notebook sleep&amp;quot; &amp;gt;&amp;gt; $LOG&lt;br /&gt;
     echo &amp;quot;!!! for at least 20 minutes.&amp;quot; &amp;gt;&amp;gt; $LOG&lt;br /&gt;
 fi&lt;br /&gt;
 echo &amp;quot;&amp;quot; &amp;gt;&amp;gt; $LOG&lt;br /&gt;
 &lt;br /&gt;
 if !(lsmod | grep '^ehci_hcd') &amp;gt;/dev/null ; then&lt;br /&gt;
    /sbin/modprobe -s ehci_hcd&lt;br /&gt;
 fi&lt;br /&gt;
 if !(lsmod | grep '^uhci_hcd') &amp;gt;/dev/null ; then&lt;br /&gt;
    /sbin/modprobe -s uhci_hcd&lt;br /&gt;
 fi&lt;br /&gt;
 if !(lsmod | grep '^usbhid')   &amp;gt;/dev/null ; then&lt;br /&gt;
    /sbin/modprobe -s usbhid&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 hwclock --hctosys&lt;br /&gt;
&lt;br /&gt;
The script was originally written by Jan-Hendrik Benter and was modified a little for this page.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripts]]&lt;/div&gt;</summary>
		<author><name>Evan.heidtmann</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problem_with_display_remaining_black_after_resume&amp;diff=6989</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=6989"/>
		<updated>2005-07-31T06:57:22Z</updated>

		<summary type="html">&lt;p&gt;Evan.heidtmann: Add T42 to 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}}&lt;br /&gt;
*ThinkPad {{X41}}, {{X40}}, {{X30}}, {{X31}}, {{X21}}&lt;br /&gt;
*ThinkPad {{R50e}}{{footnote|1}}&lt;br /&gt;
&lt;br /&gt;
==Affected Operating Systems==&lt;br /&gt;
*Linux (it's a kernel issue)&lt;br /&gt;
&lt;br /&gt;
==Solution==&lt;br /&gt;
The Solution is to provide the &amp;lt;tt&amp;gt;acpi_sleep=s3_bios&amp;lt;/tt&amp;gt; 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;
{{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>Evan.heidtmann</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=User:Evan.heidtmann&amp;diff=16884</id>
		<title>User:Evan.heidtmann</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=User:Evan.heidtmann&amp;diff=16884"/>
		<updated>2005-07-30T23:36:27Z</updated>

		<summary type="html">&lt;p&gt;Evan.heidtmann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Me ==&lt;br /&gt;
&lt;br /&gt;
I am Evan Heidtmann. I own a T42 ([[2378-RTU]]) and have used a 600E in the past. I graduated from high school in June 2005 and am currently attending the [http://www.wooster.edu College of Wooster].&lt;/div&gt;</summary>
		<author><name>Evan.heidtmann</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:PreDesktop_Area&amp;diff=7043</id>
		<title>Talk:PreDesktop Area</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:PreDesktop_Area&amp;diff=7043"/>
		<updated>2005-07-30T00:55:56Z</updated>

		<summary type="html">&lt;p&gt;Evan.heidtmann: /* Newer thinkpads don't use Phoenix Firstware? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Use the HPA for GNU/Linux?==&lt;br /&gt;
More interesting than removing the HPA (which includes a.o. Acces IBM Predesktop Area, some other tools and a backup of the pre-installed OS) would be to use this area for GNU/Linux too. At least, removing the HPA only saves 3,5 GB on my 60 GB hard disk. It would be worth a try to see whether the backup of the pre-installed OS on the largest PSA could be replaced by a backup of your favourite GNU/Linux distribution.&lt;br /&gt;
&lt;br /&gt;
Elaborating on my ideas a few days later, I'd guess the following could be tried:&lt;br /&gt;
* see whether GRUB can be made to boot the Access IBM Predekstop Area (I guess by &amp;quot;chainloading&amp;quot; the bootsector of its PSA). Right now GRUB refuses to load sectors outside the partioned area. I've got absolutely no idea if it's possible to write a hack to overcome that restriction. Need to contact the GRUB people about that ...&lt;br /&gt;
* write a HPA or SPA driver. That driver should provide something like &amp;quot;/dev/hpa&amp;quot;, &amp;quot;/dev/hpa0&amp;quot;, etc or &amp;quot;/dev/spa&amp;quot;, &amp;quot;/dev/spa0&amp;quot;, whatever. The idea here is that it allows you to simply mount (ro!) the Hidden Protected Area (given the correct BIOS settings). Probably just an addaption of the current drivers for (IDE?) harddisks. (This might mean &amp;quot;/dev/hda&amp;quot; and &amp;quot;/dev/hpa&amp;quot; overlap: dangerous?) That would probably need - way - more coding skills than I have ...&lt;br /&gt;
* write some userspace tools for the HPA/the SPAs (things like: dumpbeer, printDoS).&lt;br /&gt;
&lt;br /&gt;
It should be clear these are basically random ideas. Still feedback would be appreciated ...&lt;br /&gt;
----&lt;br /&gt;
Hei,&lt;br /&gt;
&lt;br /&gt;
interesting ideas, but i'd only see a point in it if one could keep Win and Linux rescue stuff in the HPA. That means it would need to be expandable or fit the stuff for both systems.&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 20:03, 15 Mar 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
Thanks.&lt;br /&gt;
&lt;br /&gt;
Short answer: that should be possible.&lt;br /&gt;
&lt;br /&gt;
Long answer: I see little in the specs (as I understand them now) to stop one from adding (say) an extra 3 GB GNU/Linux-rescue PSA or something like that. We might try to do that first by changing the BEER and DoS manually. (Not sure whether Phoenix added some proprietary stuff to keep you from booting it. The PSA should always be accesable with the proper BIOS setting.) It might be mandatory to put it on a FAT filesystem. The hard part probably is to have it show up in the Access IBM Predesktop Area. (My guess is you need to regenerate the FirstSight &amp;quot;graphical shell&amp;quot;. If that's correct we probably only can use the FirstWare tools &amp;quot;hidden&amp;quot; on their little PSA. That's no fun. Well it might a little fun if we try FreeDOS). &lt;br /&gt;
&lt;br /&gt;
[[User:Pebolle|Paul Bolle (not logged in)]]&lt;br /&gt;
----&lt;br /&gt;
Update: a trivial patch to grub allows it to also work outside the partioned area:&lt;br /&gt;
&lt;br /&gt;
 --- /var/tmp/rpm/BUILD/grub-0.95/stage2/disk_io.c.oud   2004-05-23 18:35:24.000000000 +0200&lt;br /&gt;
 +++ /var/tmp/rpm/BUILD/grub-0.95/stage2/disk_io.c       2005-03-18 22:38:30.050907408 +0100&lt;br /&gt;
 @@ -297,8 +297,8 @@&lt;br /&gt;
     *  Check partition boundaries&lt;br /&gt;
     */&lt;br /&gt;
    if (sector &amp;lt; 0&lt;br /&gt;
 -      || ((sector + ((byte_offset + byte_len - 1) &amp;gt;&amp;gt; SECTOR_BITS))&lt;br /&gt;
 -         &amp;gt;= part_length))&lt;br /&gt;
 +      /*|| ((sector + ((byte_offset + byte_len - 1) &amp;gt;&amp;gt; SECTOR_BITS))&lt;br /&gt;
 +         &amp;gt;= part_length)*/)&lt;br /&gt;
      {&lt;br /&gt;
        errnum = ERR_OUTSIDE_PART;&lt;br /&gt;
        return 0;&lt;br /&gt;
&lt;br /&gt;
I made a grub CD with a grub patched with the above. Now I can &amp;quot;cat&amp;quot; the bootsector of the Predesktop Area from the grub shell (when booting of that grub CD). But I haven't yet managed to boot the Predesktop Area (dangerous stuff!) To be continued ...&lt;br /&gt;
&lt;br /&gt;
[[User:Pebolle|Paul Bolle]] Fri Mar 18 22:42:43 CET 2005&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I've been playing around with the predesktop area tonight.  I was simply trying to just leave the diagnostics stuff and remove the windows part.  I wrote some programs to read/write the BEER data and stuff, but I wasn't able to get the system to boot it, it kept erroring &amp;quot;Authentication of System Services failed&amp;quot; (or something along those lines).  I will play around with this some more later&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[User:Invisi|Tim Nordell]]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A quick look with a hexeditor gave me two instances of &amp;quot;Application authentication has failed!&amp;quot; in the FirstSight application. Does that sound familair? &lt;br /&gt;
&lt;br /&gt;
[[User:Pebolle|Paul Bolle]] Fri Apr 1 19:35:30 CEST 2005&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Actually it wasn't that.  I did a search of that too, the message itself was not in the predesktop area at all.  What also is interesting is the fw*.exe utilities for manipulating the predesktop area, contains the string &amp;quot;MD5&amp;quot; which makes me wonder if there is an md5 hash of each &amp;quot;predesktop&amp;quot; partition.  I know on the IBM whitepaper it states there being a signature so that non-signed applications can not be run.  Could a simple &amp;quot;md5&amp;quot; be the signature?&lt;br /&gt;
&lt;br /&gt;
[[User:Invisi|Tim Nordell]] 12:01, 3 Apr 2005 (CEST)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*What is it that you were trying to do (what did trigger the error you saw)?&lt;br /&gt;
&lt;br /&gt;
*About ten of the fw*.exe utilities contain the phrase &amp;quot;MD5 Checksums do not match&amp;quot;. So they could very well be using MD5 sums for some sort of validation. But they could use the MD5 sums in a lot of ways actually, so I won't yet speculate ...&lt;br /&gt;
&lt;br /&gt;
[[User:Pebolle|Paul Bolle]] Sun Apr  3 15:11:10 CEST 2005&lt;br /&gt;
&lt;br /&gt;
== Predesktop Area ==&lt;br /&gt;
&lt;br /&gt;
I made a program that takes the BEER record at the end, parses it out to a &amp;quot;.cfg&amp;quot; file, lets you modify it, recalibrate the start spots for the records, and write it out to disk again.  It doesn't directly access hda, 'cept for reading the original beer record.  It makes a script file to go with the files you have, to read in the HPA data, and to write it out again with the new record.&lt;br /&gt;
&lt;br /&gt;
Anyways, I tried simply removing the last record from the BEER, which is the windows recovery partition.  It didn't like that.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Did you update the two's complement checksum at the end of the BEER?&lt;br /&gt;
&lt;br /&gt;
[[user:Pebolle|Paul Bolle]]&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
&lt;br /&gt;
* Ad a section on dmesg and hdparm -I output:&lt;br /&gt;
 (...)&lt;br /&gt;
 Commands/features:&lt;br /&gt;
        Enabled Supported:&lt;br /&gt;
 (...)&lt;br /&gt;
           *    Host Protected Area feature set&lt;br /&gt;
 (...)&lt;br /&gt;
                SET MAX security extension&lt;br /&gt;
                Address Offset Reserved Area Boot&lt;br /&gt;
 (...)&lt;br /&gt;
&lt;br /&gt;
* Check boot parameters: is hda=stroke still valid?&lt;br /&gt;
 Kernel command line: ro root=LABEL=/ acpi=off hda=stroke&lt;br /&gt;
 ide_setup: hda=stroke -- BAD OPTION&lt;br /&gt;
&lt;br /&gt;
[[User:Pebolle|Paul Bolle]]&lt;br /&gt;
&lt;br /&gt;
== Two's Complement ==&lt;br /&gt;
&lt;br /&gt;
Yep, I updated that.  If I don't update that, it doesn't even say that failed message.  I also made a seperate program to update the checksum so you can also modify the beer record by hand with a hex editor and have valid checksums.&lt;br /&gt;
&lt;br /&gt;
== RE: How to remove it / ATTENTION! ==&lt;br /&gt;
&lt;br /&gt;
Please tell us how you are trying to access the BIOS. Via &amp;quot;Access IBM&amp;quot; or F12 (or something similar)? &amp;quot;Access IBM&amp;quot; at start up shouldn't work when you remove the HPA (that's my guess at least) but F12 at start up should work (I would be very surprised if it didn't ....).&lt;br /&gt;
&lt;br /&gt;
[[user:Pebolle|Paul Bolle]] Fri Jul 15 01:11:33 CEST 2005&lt;br /&gt;
==What about that IBM link???==&lt;br /&gt;
Hei Paul, why did you remove that IBM link? I think it's nice to know what IBM has to say about this, even if it doesn't help much. At least i find it interesting that they have something to say about it.&lt;br /&gt;
&lt;br /&gt;
Wyrfel.&lt;br /&gt;
----&lt;br /&gt;
Ok, I'm getting it, roughly. Now what's the &amp;quot;Recovering Partition&amp;quot; as opposed to the HPA??? Wyrfel.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Wyrfel,&lt;br /&gt;
&lt;br /&gt;
Let met _try_ to explain. (Please google on &amp;quot;Andries Brouwer&amp;quot; and partitions for more correct info on partitions.)&lt;br /&gt;
&lt;br /&gt;
Recovery partitions are ordinary partitions, accessible through the (let say) partition tree (the chain of the MBR [in /dev/hd''x''] and boot records [in /dev/hd''xn'', /dev/hd''xm'', etc]). As they are ordinary partitions they are (easily) accessible by ordinary (partitioning) tools (read: easily messed up). One of the things you can do with ordinary partitions is (sort of) &amp;quot;hide&amp;quot; some types of those. Anyway, this is what the IBM link was about.&lt;br /&gt;
&lt;br /&gt;
Protected Service Areas on the other hand are (lets say) images of partitions written to the end of a harddisk. They are only accessible through their BEER. The general idea here is that with the correct settings in BIOS (and I guess some cooperation of the OS) the PSAs are totally hidden from all (ordinary) tools.  Under certain conditions they still could be accessible through special PSA tools and under GNU/Linux they are only accessible with low level tools like dd (either always or if certain kernel parameters are set?) .&lt;br /&gt;
&lt;br /&gt;
[[user:Pebolle|Paul Bolle]] Fri Jul 15 12:09:34 CEST 2005&lt;br /&gt;
&lt;br /&gt;
== Newer thinkpads don't use Phoenix Firstware? ==&lt;br /&gt;
&lt;br /&gt;
On my T42 that arrived yesterday, the predesktop area looks a lot like MS Windows. The widget set, the fonts, even the boot sequence looks exactly like Windows 2000. Debian-installer indentified it as &amp;quot;Microsoft Windows NT/2000/XP&amp;quot;, while it identified my XP partition as &amp;quot;Microsoft Windows XP Professional&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Has Lenovo/IBM changed their system, or is this Phoenix stuff really just Windows?&lt;br /&gt;
&lt;br /&gt;
-- [[Evan.Heidtmann]]&lt;/div&gt;</summary>
		<author><name>Evan.heidtmann</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:PreDesktop_Area&amp;diff=6860</id>
		<title>Talk:PreDesktop Area</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:PreDesktop_Area&amp;diff=6860"/>
		<updated>2005-07-30T00:54:59Z</updated>

		<summary type="html">&lt;p&gt;Evan.heidtmann: /* Newer thinkpads don't use Phoenix Firstware? */  sign my name&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Use the HPA for GNU/Linux?==&lt;br /&gt;
More interesting than removing the HPA (which includes a.o. Acces IBM Predesktop Area, some other tools and a backup of the pre-installed OS) would be to use this area for GNU/Linux too. At least, removing the HPA only saves 3,5 GB on my 60 GB hard disk. It would be worth a try to see whether the backup of the pre-installed OS on the largest PSA could be replaced by a backup of your favourite GNU/Linux distribution.&lt;br /&gt;
&lt;br /&gt;
Elaborating on my ideas a few days later, I'd guess the following could be tried:&lt;br /&gt;
* see whether GRUB can be made to boot the Access IBM Predekstop Area (I guess by &amp;quot;chainloading&amp;quot; the bootsector of its PSA). Right now GRUB refuses to load sectors outside the partioned area. I've got absolutely no idea if it's possible to write a hack to overcome that restriction. Need to contact the GRUB people about that ...&lt;br /&gt;
* write a HPA or SPA driver. That driver should provide something like &amp;quot;/dev/hpa&amp;quot;, &amp;quot;/dev/hpa0&amp;quot;, etc or &amp;quot;/dev/spa&amp;quot;, &amp;quot;/dev/spa0&amp;quot;, whatever. The idea here is that it allows you to simply mount (ro!) the Hidden Protected Area (given the correct BIOS settings). Probably just an addaption of the current drivers for (IDE?) harddisks. (This might mean &amp;quot;/dev/hda&amp;quot; and &amp;quot;/dev/hpa&amp;quot; overlap: dangerous?) That would probably need - way - more coding skills than I have ...&lt;br /&gt;
* write some userspace tools for the HPA/the SPAs (things like: dumpbeer, printDoS).&lt;br /&gt;
&lt;br /&gt;
It should be clear these are basically random ideas. Still feedback would be appreciated ...&lt;br /&gt;
----&lt;br /&gt;
Hei,&lt;br /&gt;
&lt;br /&gt;
interesting ideas, but i'd only see a point in it if one could keep Win and Linux rescue stuff in the HPA. That means it would need to be expandable or fit the stuff for both systems.&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 20:03, 15 Mar 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
Thanks.&lt;br /&gt;
&lt;br /&gt;
Short answer: that should be possible.&lt;br /&gt;
&lt;br /&gt;
Long answer: I see little in the specs (as I understand them now) to stop one from adding (say) an extra 3 GB GNU/Linux-rescue PSA or something like that. We might try to do that first by changing the BEER and DoS manually. (Not sure whether Phoenix added some proprietary stuff to keep you from booting it. The PSA should always be accesable with the proper BIOS setting.) It might be mandatory to put it on a FAT filesystem. The hard part probably is to have it show up in the Access IBM Predesktop Area. (My guess is you need to regenerate the FirstSight &amp;quot;graphical shell&amp;quot;. If that's correct we probably only can use the FirstWare tools &amp;quot;hidden&amp;quot; on their little PSA. That's no fun. Well it might a little fun if we try FreeDOS). &lt;br /&gt;
&lt;br /&gt;
[[User:Pebolle|Paul Bolle (not logged in)]]&lt;br /&gt;
----&lt;br /&gt;
Update: a trivial patch to grub allows it to also work outside the partioned area:&lt;br /&gt;
&lt;br /&gt;
 --- /var/tmp/rpm/BUILD/grub-0.95/stage2/disk_io.c.oud   2004-05-23 18:35:24.000000000 +0200&lt;br /&gt;
 +++ /var/tmp/rpm/BUILD/grub-0.95/stage2/disk_io.c       2005-03-18 22:38:30.050907408 +0100&lt;br /&gt;
 @@ -297,8 +297,8 @@&lt;br /&gt;
     *  Check partition boundaries&lt;br /&gt;
     */&lt;br /&gt;
    if (sector &amp;lt; 0&lt;br /&gt;
 -      || ((sector + ((byte_offset + byte_len - 1) &amp;gt;&amp;gt; SECTOR_BITS))&lt;br /&gt;
 -         &amp;gt;= part_length))&lt;br /&gt;
 +      /*|| ((sector + ((byte_offset + byte_len - 1) &amp;gt;&amp;gt; SECTOR_BITS))&lt;br /&gt;
 +         &amp;gt;= part_length)*/)&lt;br /&gt;
      {&lt;br /&gt;
        errnum = ERR_OUTSIDE_PART;&lt;br /&gt;
        return 0;&lt;br /&gt;
&lt;br /&gt;
I made a grub CD with a grub patched with the above. Now I can &amp;quot;cat&amp;quot; the bootsector of the Predesktop Area from the grub shell (when booting of that grub CD). But I haven't yet managed to boot the Predesktop Area (dangerous stuff!) To be continued ...&lt;br /&gt;
&lt;br /&gt;
[[User:Pebolle|Paul Bolle]] Fri Mar 18 22:42:43 CET 2005&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I've been playing around with the predesktop area tonight.  I was simply trying to just leave the diagnostics stuff and remove the windows part.  I wrote some programs to read/write the BEER data and stuff, but I wasn't able to get the system to boot it, it kept erroring &amp;quot;Authentication of System Services failed&amp;quot; (or something along those lines).  I will play around with this some more later&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[User:Invisi|Tim Nordell]]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A quick look with a hexeditor gave me two instances of &amp;quot;Application authentication has failed!&amp;quot; in the FirstSight application. Does that sound familair? &lt;br /&gt;
&lt;br /&gt;
[[User:Pebolle|Paul Bolle]] Fri Apr 1 19:35:30 CEST 2005&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Actually it wasn't that.  I did a search of that too, the message itself was not in the predesktop area at all.  What also is interesting is the fw*.exe utilities for manipulating the predesktop area, contains the string &amp;quot;MD5&amp;quot; which makes me wonder if there is an md5 hash of each &amp;quot;predesktop&amp;quot; partition.  I know on the IBM whitepaper it states there being a signature so that non-signed applications can not be run.  Could a simple &amp;quot;md5&amp;quot; be the signature?&lt;br /&gt;
&lt;br /&gt;
[[User:Invisi|Tim Nordell]] 12:01, 3 Apr 2005 (CEST)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*What is it that you were trying to do (what did trigger the error you saw)?&lt;br /&gt;
&lt;br /&gt;
*About ten of the fw*.exe utilities contain the phrase &amp;quot;MD5 Checksums do not match&amp;quot;. So they could very well be using MD5 sums for some sort of validation. But they could use the MD5 sums in a lot of ways actually, so I won't yet speculate ...&lt;br /&gt;
&lt;br /&gt;
[[User:Pebolle|Paul Bolle]] Sun Apr  3 15:11:10 CEST 2005&lt;br /&gt;
&lt;br /&gt;
== Predesktop Area ==&lt;br /&gt;
&lt;br /&gt;
I made a program that takes the BEER record at the end, parses it out to a &amp;quot;.cfg&amp;quot; file, lets you modify it, recalibrate the start spots for the records, and write it out to disk again.  It doesn't directly access hda, 'cept for reading the original beer record.  It makes a script file to go with the files you have, to read in the HPA data, and to write it out again with the new record.&lt;br /&gt;
&lt;br /&gt;
Anyways, I tried simply removing the last record from the BEER, which is the windows recovery partition.  It didn't like that.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Did you update the two's complement checksum at the end of the BEER?&lt;br /&gt;
&lt;br /&gt;
[[user:Pebolle|Paul Bolle]]&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
&lt;br /&gt;
* Ad a section on dmesg and hdparm -I output:&lt;br /&gt;
 (...)&lt;br /&gt;
 Commands/features:&lt;br /&gt;
        Enabled Supported:&lt;br /&gt;
 (...)&lt;br /&gt;
           *    Host Protected Area feature set&lt;br /&gt;
 (...)&lt;br /&gt;
                SET MAX security extension&lt;br /&gt;
                Address Offset Reserved Area Boot&lt;br /&gt;
 (...)&lt;br /&gt;
&lt;br /&gt;
* Check boot parameters: is hda=stroke still valid?&lt;br /&gt;
 Kernel command line: ro root=LABEL=/ acpi=off hda=stroke&lt;br /&gt;
 ide_setup: hda=stroke -- BAD OPTION&lt;br /&gt;
&lt;br /&gt;
[[User:Pebolle|Paul Bolle]]&lt;br /&gt;
&lt;br /&gt;
== Two's Complement ==&lt;br /&gt;
&lt;br /&gt;
Yep, I updated that.  If I don't update that, it doesn't even say that failed message.  I also made a seperate program to update the checksum so you can also modify the beer record by hand with a hex editor and have valid checksums.&lt;br /&gt;
&lt;br /&gt;
== RE: How to remove it / ATTENTION! ==&lt;br /&gt;
&lt;br /&gt;
Please tell us how you are trying to access the BIOS. Via &amp;quot;Access IBM&amp;quot; or F12 (or something similar)? &amp;quot;Access IBM&amp;quot; at start up shouldn't work when you remove the HPA (that's my guess at least) but F12 at start up should work (I would be very surprised if it didn't ....).&lt;br /&gt;
&lt;br /&gt;
[[user:Pebolle|Paul Bolle]] Fri Jul 15 01:11:33 CEST 2005&lt;br /&gt;
==What about that IBM link???==&lt;br /&gt;
Hei Paul, why did you remove that IBM link? I think it's nice to know what IBM has to say about this, even if it doesn't help much. At least i find it interesting that they have something to say about it.&lt;br /&gt;
&lt;br /&gt;
Wyrfel.&lt;br /&gt;
----&lt;br /&gt;
Ok, I'm getting it, roughly. Now what's the &amp;quot;Recovering Partition&amp;quot; as opposed to the HPA??? Wyrfel.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Wyrfel,&lt;br /&gt;
&lt;br /&gt;
Let met _try_ to explain. (Please google on &amp;quot;Andries Brouwer&amp;quot; and partitions for more correct info on partitions.)&lt;br /&gt;
&lt;br /&gt;
Recovery partitions are ordinary partitions, accessible through the (let say) partition tree (the chain of the MBR [in /dev/hd''x''] and boot records [in /dev/hd''xn'', /dev/hd''xm'', etc]). As they are ordinary partitions they are (easily) accessible by ordinary (partitioning) tools (read: easily messed up). One of the things you can do with ordinary partitions is (sort of) &amp;quot;hide&amp;quot; some types of those. Anyway, this is what the IBM link was about.&lt;br /&gt;
&lt;br /&gt;
Protected Service Areas on the other hand are (lets say) images of partitions written to the end of a harddisk. They are only accessible through their BEER. The general idea here is that with the correct settings in BIOS (and I guess some cooperation of the OS) the PSAs are totally hidden from all (ordinary) tools.  Under certain conditions they still could be accessible through special PSA tools and under GNU/Linux they are only accessible with low level tools like dd (either always or if certain kernel parameters are set?) .&lt;br /&gt;
&lt;br /&gt;
[[user:Pebolle|Paul Bolle]] Fri Jul 15 12:09:34 CEST 2005&lt;br /&gt;
&lt;br /&gt;
== Newer thinkpads don't use Phoenix Firstware? ==&lt;br /&gt;
&lt;br /&gt;
On my T42 that arrived yesterday, the predesktop area looks a lot like MS Windows. The widget set, the fonts, even the boot sequence looks exactly like Windows 2000. Debian-installer indentified it as &amp;quot;Microsoft Windows NT/2000/XP&amp;quot;, while it identified my XP partition as &amp;quot;Microsoft Windows XP Professional&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Has Lenovo/IBM changed their system, or is this Phoenix stuff really just Windows?&lt;br /&gt;
&lt;br /&gt;
-- EvanHeidtmann&lt;/div&gt;</summary>
		<author><name>Evan.heidtmann</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:PreDesktop_Area&amp;diff=6859</id>
		<title>Talk:PreDesktop Area</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:PreDesktop_Area&amp;diff=6859"/>
		<updated>2005-07-30T00:47:10Z</updated>

		<summary type="html">&lt;p&gt;Evan.heidtmann: Newer thinkpads don't use Phoenix Firstware?&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Use the HPA for GNU/Linux?==&lt;br /&gt;
More interesting than removing the HPA (which includes a.o. Acces IBM Predesktop Area, some other tools and a backup of the pre-installed OS) would be to use this area for GNU/Linux too. At least, removing the HPA only saves 3,5 GB on my 60 GB hard disk. It would be worth a try to see whether the backup of the pre-installed OS on the largest PSA could be replaced by a backup of your favourite GNU/Linux distribution.&lt;br /&gt;
&lt;br /&gt;
Elaborating on my ideas a few days later, I'd guess the following could be tried:&lt;br /&gt;
* see whether GRUB can be made to boot the Access IBM Predekstop Area (I guess by &amp;quot;chainloading&amp;quot; the bootsector of its PSA). Right now GRUB refuses to load sectors outside the partioned area. I've got absolutely no idea if it's possible to write a hack to overcome that restriction. Need to contact the GRUB people about that ...&lt;br /&gt;
* write a HPA or SPA driver. That driver should provide something like &amp;quot;/dev/hpa&amp;quot;, &amp;quot;/dev/hpa0&amp;quot;, etc or &amp;quot;/dev/spa&amp;quot;, &amp;quot;/dev/spa0&amp;quot;, whatever. The idea here is that it allows you to simply mount (ro!) the Hidden Protected Area (given the correct BIOS settings). Probably just an addaption of the current drivers for (IDE?) harddisks. (This might mean &amp;quot;/dev/hda&amp;quot; and &amp;quot;/dev/hpa&amp;quot; overlap: dangerous?) That would probably need - way - more coding skills than I have ...&lt;br /&gt;
* write some userspace tools for the HPA/the SPAs (things like: dumpbeer, printDoS).&lt;br /&gt;
&lt;br /&gt;
It should be clear these are basically random ideas. Still feedback would be appreciated ...&lt;br /&gt;
----&lt;br /&gt;
Hei,&lt;br /&gt;
&lt;br /&gt;
interesting ideas, but i'd only see a point in it if one could keep Win and Linux rescue stuff in the HPA. That means it would need to be expandable or fit the stuff for both systems.&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 20:03, 15 Mar 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
Thanks.&lt;br /&gt;
&lt;br /&gt;
Short answer: that should be possible.&lt;br /&gt;
&lt;br /&gt;
Long answer: I see little in the specs (as I understand them now) to stop one from adding (say) an extra 3 GB GNU/Linux-rescue PSA or something like that. We might try to do that first by changing the BEER and DoS manually. (Not sure whether Phoenix added some proprietary stuff to keep you from booting it. The PSA should always be accesable with the proper BIOS setting.) It might be mandatory to put it on a FAT filesystem. The hard part probably is to have it show up in the Access IBM Predesktop Area. (My guess is you need to regenerate the FirstSight &amp;quot;graphical shell&amp;quot;. If that's correct we probably only can use the FirstWare tools &amp;quot;hidden&amp;quot; on their little PSA. That's no fun. Well it might a little fun if we try FreeDOS). &lt;br /&gt;
&lt;br /&gt;
[[User:Pebolle|Paul Bolle (not logged in)]]&lt;br /&gt;
----&lt;br /&gt;
Update: a trivial patch to grub allows it to also work outside the partioned area:&lt;br /&gt;
&lt;br /&gt;
 --- /var/tmp/rpm/BUILD/grub-0.95/stage2/disk_io.c.oud   2004-05-23 18:35:24.000000000 +0200&lt;br /&gt;
 +++ /var/tmp/rpm/BUILD/grub-0.95/stage2/disk_io.c       2005-03-18 22:38:30.050907408 +0100&lt;br /&gt;
 @@ -297,8 +297,8 @@&lt;br /&gt;
     *  Check partition boundaries&lt;br /&gt;
     */&lt;br /&gt;
    if (sector &amp;lt; 0&lt;br /&gt;
 -      || ((sector + ((byte_offset + byte_len - 1) &amp;gt;&amp;gt; SECTOR_BITS))&lt;br /&gt;
 -         &amp;gt;= part_length))&lt;br /&gt;
 +      /*|| ((sector + ((byte_offset + byte_len - 1) &amp;gt;&amp;gt; SECTOR_BITS))&lt;br /&gt;
 +         &amp;gt;= part_length)*/)&lt;br /&gt;
      {&lt;br /&gt;
        errnum = ERR_OUTSIDE_PART;&lt;br /&gt;
        return 0;&lt;br /&gt;
&lt;br /&gt;
I made a grub CD with a grub patched with the above. Now I can &amp;quot;cat&amp;quot; the bootsector of the Predesktop Area from the grub shell (when booting of that grub CD). But I haven't yet managed to boot the Predesktop Area (dangerous stuff!) To be continued ...&lt;br /&gt;
&lt;br /&gt;
[[User:Pebolle|Paul Bolle]] Fri Mar 18 22:42:43 CET 2005&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I've been playing around with the predesktop area tonight.  I was simply trying to just leave the diagnostics stuff and remove the windows part.  I wrote some programs to read/write the BEER data and stuff, but I wasn't able to get the system to boot it, it kept erroring &amp;quot;Authentication of System Services failed&amp;quot; (or something along those lines).  I will play around with this some more later&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[User:Invisi|Tim Nordell]]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A quick look with a hexeditor gave me two instances of &amp;quot;Application authentication has failed!&amp;quot; in the FirstSight application. Does that sound familair? &lt;br /&gt;
&lt;br /&gt;
[[User:Pebolle|Paul Bolle]] Fri Apr 1 19:35:30 CEST 2005&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Actually it wasn't that.  I did a search of that too, the message itself was not in the predesktop area at all.  What also is interesting is the fw*.exe utilities for manipulating the predesktop area, contains the string &amp;quot;MD5&amp;quot; which makes me wonder if there is an md5 hash of each &amp;quot;predesktop&amp;quot; partition.  I know on the IBM whitepaper it states there being a signature so that non-signed applications can not be run.  Could a simple &amp;quot;md5&amp;quot; be the signature?&lt;br /&gt;
&lt;br /&gt;
[[User:Invisi|Tim Nordell]] 12:01, 3 Apr 2005 (CEST)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*What is it that you were trying to do (what did trigger the error you saw)?&lt;br /&gt;
&lt;br /&gt;
*About ten of the fw*.exe utilities contain the phrase &amp;quot;MD5 Checksums do not match&amp;quot;. So they could very well be using MD5 sums for some sort of validation. But they could use the MD5 sums in a lot of ways actually, so I won't yet speculate ...&lt;br /&gt;
&lt;br /&gt;
[[User:Pebolle|Paul Bolle]] Sun Apr  3 15:11:10 CEST 2005&lt;br /&gt;
&lt;br /&gt;
== Predesktop Area ==&lt;br /&gt;
&lt;br /&gt;
I made a program that takes the BEER record at the end, parses it out to a &amp;quot;.cfg&amp;quot; file, lets you modify it, recalibrate the start spots for the records, and write it out to disk again.  It doesn't directly access hda, 'cept for reading the original beer record.  It makes a script file to go with the files you have, to read in the HPA data, and to write it out again with the new record.&lt;br /&gt;
&lt;br /&gt;
Anyways, I tried simply removing the last record from the BEER, which is the windows recovery partition.  It didn't like that.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Did you update the two's complement checksum at the end of the BEER?&lt;br /&gt;
&lt;br /&gt;
[[user:Pebolle|Paul Bolle]]&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
&lt;br /&gt;
* Ad a section on dmesg and hdparm -I output:&lt;br /&gt;
 (...)&lt;br /&gt;
 Commands/features:&lt;br /&gt;
        Enabled Supported:&lt;br /&gt;
 (...)&lt;br /&gt;
           *    Host Protected Area feature set&lt;br /&gt;
 (...)&lt;br /&gt;
                SET MAX security extension&lt;br /&gt;
                Address Offset Reserved Area Boot&lt;br /&gt;
 (...)&lt;br /&gt;
&lt;br /&gt;
* Check boot parameters: is hda=stroke still valid?&lt;br /&gt;
 Kernel command line: ro root=LABEL=/ acpi=off hda=stroke&lt;br /&gt;
 ide_setup: hda=stroke -- BAD OPTION&lt;br /&gt;
&lt;br /&gt;
[[User:Pebolle|Paul Bolle]]&lt;br /&gt;
&lt;br /&gt;
== Two's Complement ==&lt;br /&gt;
&lt;br /&gt;
Yep, I updated that.  If I don't update that, it doesn't even say that failed message.  I also made a seperate program to update the checksum so you can also modify the beer record by hand with a hex editor and have valid checksums.&lt;br /&gt;
&lt;br /&gt;
== RE: How to remove it / ATTENTION! ==&lt;br /&gt;
&lt;br /&gt;
Please tell us how you are trying to access the BIOS. Via &amp;quot;Access IBM&amp;quot; or F12 (or something similar)? &amp;quot;Access IBM&amp;quot; at start up shouldn't work when you remove the HPA (that's my guess at least) but F12 at start up should work (I would be very surprised if it didn't ....).&lt;br /&gt;
&lt;br /&gt;
[[user:Pebolle|Paul Bolle]] Fri Jul 15 01:11:33 CEST 2005&lt;br /&gt;
==What about that IBM link???==&lt;br /&gt;
Hei Paul, why did you remove that IBM link? I think it's nice to know what IBM has to say about this, even if it doesn't help much. At least i find it interesting that they have something to say about it.&lt;br /&gt;
&lt;br /&gt;
Wyrfel.&lt;br /&gt;
----&lt;br /&gt;
Ok, I'm getting it, roughly. Now what's the &amp;quot;Recovering Partition&amp;quot; as opposed to the HPA??? Wyrfel.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Wyrfel,&lt;br /&gt;
&lt;br /&gt;
Let met _try_ to explain. (Please google on &amp;quot;Andries Brouwer&amp;quot; and partitions for more correct info on partitions.)&lt;br /&gt;
&lt;br /&gt;
Recovery partitions are ordinary partitions, accessible through the (let say) partition tree (the chain of the MBR [in /dev/hd''x''] and boot records [in /dev/hd''xn'', /dev/hd''xm'', etc]). As they are ordinary partitions they are (easily) accessible by ordinary (partitioning) tools (read: easily messed up). One of the things you can do with ordinary partitions is (sort of) &amp;quot;hide&amp;quot; some types of those. Anyway, this is what the IBM link was about.&lt;br /&gt;
&lt;br /&gt;
Protected Service Areas on the other hand are (lets say) images of partitions written to the end of a harddisk. They are only accessible through their BEER. The general idea here is that with the correct settings in BIOS (and I guess some cooperation of the OS) the PSAs are totally hidden from all (ordinary) tools.  Under certain conditions they still could be accessible through special PSA tools and under GNU/Linux they are only accessible with low level tools like dd (either always or if certain kernel parameters are set?) .&lt;br /&gt;
&lt;br /&gt;
[[user:Pebolle|Paul Bolle]] Fri Jul 15 12:09:34 CEST 2005&lt;br /&gt;
&lt;br /&gt;
== Newer thinkpads don't use Phoenix Firstware? ==&lt;br /&gt;
&lt;br /&gt;
On my T42 that arrived yesterday, the predesktop area looks a lot like MS Windows. The widget set, the fonts, even the boot sequence looks exactly like Windows 2000. Debian-installer indentified it as &amp;quot;Microsoft Windows NT/2000/XP&amp;quot;, while it identified my XP partition as &amp;quot;Microsoft Windows XP Professional&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Has Lenovo/IBM changed their system, or is this Phoenix stuff really just Windows?&lt;/div&gt;</summary>
		<author><name>Evan.heidtmann</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=2378-RTU&amp;diff=6876</id>
		<title>2378-RTU</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=2378-RTU&amp;diff=6876"/>
		<updated>2005-07-15T01:10:25Z</updated>

		<summary type="html">&lt;p&gt;Evan.heidtmann: Original stub&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The 2378-RTU is the model number of the Thinkpad I ordered this morning. See the IBM/Lenovo page:&lt;br /&gt;
&lt;br /&gt;
http://www-307.ibm.com/pc/support/site.wss/quickPath.do?quickPathEntry=2378rtu&amp;amp;sitestyle=lenovo&lt;/div&gt;</summary>
		<author><name>Evan.heidtmann</name></author>
		
	</entry>
</feed>