<?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=Jidanni</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=Jidanni"/>
	<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/wiki/Special:Contributions/Jidanni"/>
	<updated>2026-05-05T10:40:25Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.12</generator>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Maintenance&amp;diff=54262</id>
		<title>Maintenance</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Maintenance&amp;diff=54262"/>
		<updated>2013-01-08T07:24:57Z</updated>

		<summary type="html">&lt;p&gt;Jidanni: squeeze out blank lines&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;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
Here you can find general hints about keeping your ThinkPad in good shape. Look at your [[:Category:Models|models category page]] for IBMs official maintenance guide for that model.&lt;br /&gt;
|}&lt;br /&gt;
==Assembly/Disassembly instructions==&lt;br /&gt;
Lenovo has a website dedicated to servicing ThinkPads, but it only covers the more recent models. For older models check the HMM (Hardware Maintenance Manual) for your ThinkPad.&lt;br /&gt;
* http://www.lenovoservicetraining.com/&lt;br /&gt;
&lt;br /&gt;
==Battery treatment==&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=2 style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|+Battery life expanding guide&lt;br /&gt;
|- style=&amp;quot;background:#efefef;white-space:nowrap;&amp;quot;&lt;br /&gt;
! style=&amp;quot;background:#ffdead;&amp;quot; | Battery Type !! NiCd !! NiMH !! Lithium ion&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! style=&amp;quot;background:#ffdead;&amp;quot; | General&lt;br /&gt;
|&lt;br /&gt;
*always do complete discharge/charge cycles&lt;br /&gt;
*avoid exposing the battery (or notebook) to excessive heat&lt;br /&gt;
*avoid deep discharges except when resetting fuel gauge or reconditioning a battery;  partial dis-/recharges are better for the battery lifetime (note: fuel gauge will slowly get inaccurate over time)&lt;br /&gt;
*remove battery when on AC (due to heat)&lt;br /&gt;
*avoid exposing the battery (or notebook) to excessive heat&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! style=&amp;quot;background:#ffdead;&amp;quot; | Charging&lt;br /&gt;
|&lt;br /&gt;
*discharge before charging&lt;br /&gt;
*avoid charging if battery is nearly full, unless you will need its full capacity soon; keep it on the 30%-85% charged range&lt;br /&gt;
*keep notebook off while charging due to heat&lt;br /&gt;
*fully discharge, then fully charge battery when needed to recalibrate fuel gauge;  newer battery pack models require this less often, old ones might need it as often as every 30 cycles&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! style=&amp;quot;background:#ffdead;&amp;quot; | Storage&lt;br /&gt;
| &lt;br /&gt;
*almost discharged&lt;br /&gt;
*cool and dry&lt;br /&gt;
*never fully charged or discharged, ideally at about 40%&lt;br /&gt;
*cool and dry, but '''do not freeze''' them: 10-15C is recommended&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Battery health===&lt;br /&gt;
Batteries, especially of the modern Li-Ion type, wear out quicker when they hold a large charge or are subject to higher temperatures (see above).&lt;br /&gt;
&lt;br /&gt;
If you use your laptop at a desk, reduce battery wear by maintaining an appropriate charge level.  When  possible, remove Li-ion batteries while operating from AC as the notebook gets hot enough inside for that to damage the battery in the long run, even if charging is stopped.&lt;br /&gt;
&lt;br /&gt;
On recent ThinkPads, charging thresholds can be configured in the bundled software.  Under Linux, this is supported on recent models by the [[tp_smapi]] driver (and even without &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt;, if you have a dual-boot setup, you can set the thresholds under Windows and they will be remembered as long as you don't power off your machine with AC disconnected; suspend to RAM is OK). Have a look at [[How to use UltraBay batteries]].&lt;br /&gt;
&lt;br /&gt;
If you have spare Li-ion battery packs, store them at 40% charge in a cool place (15C being a recommended temperature, do not let the batteries freeze).  If storing inside a refrigerator, beware of humidity, and be careful with cold spots that can easily freeze the battery if anything goes wrong.&lt;br /&gt;
&lt;br /&gt;
===The problem with 600 series batteries===&lt;br /&gt;
ThinkPad 600 power management causes batteries to die before they should. Read more about this on the [[Problem with ThinkPad 600 batteries|associated problem page]].&lt;br /&gt;
&lt;br /&gt;
===Reviving batteries===&lt;br /&gt;
Some people experience sudden drops in their batteries capacity.  A way to get these batteries back to full capacity is to run the &amp;quot;Battery Rundown&amp;quot; function of IBMs &amp;quot;PC Doctor for DOS&amp;quot;.  The program is downloadable from IBMs support site as three floppy disk images.  Make sure you get the specific version of program made for your ThinkPad model.  For those who do not have a floppy, David Smith prepared a [http://www.mypchelp.com/~dsmith/ibmutil/ibm_t22_pcdiag.iso bootable CD image] (dead link, a copy is also available [http://server6.org/~marker/software/ibm_t22_pcdiag.iso here]) from the T22 floppy images. For newer ThinkPads there is an official [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&amp;amp;lndocid=MIGR-56222 bootable CD image]. (Although the instructions on this page (as of May 2008) include details for Linux and refer to a CD image, it is actually provided as a Windows executable. On Linux systems, [http://winehq.org Wine] can execute this file and extract the CD image.) Once extracted, you must mount the iso as a loop device (as root) like so:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|mount -o loop 1ety48ww.iso /mnt/floppy}}&lt;br /&gt;
&lt;br /&gt;
Then copy the .IMA file out of that mounted iso:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|cd /mnt/floppy}}&lt;br /&gt;
:{{cmdroot|cp 1ETY48WW.IMA /boot}}&lt;br /&gt;
&lt;br /&gt;
(Or to some other suitable directory.) After this, you can follow the same directions that apply for [[BIOS Upgrade|BIOS upgrade]]s.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|This will do nothing to improve the performance of a dying battery. It serves only to recalibrate the battery charge controller. The &amp;quot;Battery Rundown&amp;quot; function of IBMs &amp;quot;PC Doctor for DOS&amp;quot; has no intelligence. It merely runs a series of dumb operations to consume battery power, and it cannot detect whether a battery is present or not. If you leave the mains connected while running &amp;quot;Battery Rundown&amp;quot;, it will have no effect, as the battery will simply keep charging. The [[tp_smapi]] module, if installed, will report the number of charge cycles the battery has had since it was manufactured. If that number is high, the battery's poor performance is almost certainly due to its age.}}&lt;br /&gt;
&lt;br /&gt;
I have recently made an interesting discovery, I have an R40 with two main batteries, both of them have aproximately about under 200 cycles and are nowadays 4 years old, projected capacity for R40/R32 main battery is 57Wh, and both my batteries were about 30Wh, then I left my notebook with one of them about a day in a standby mode, as long as it powered off itself because of low battery power, when I turned it on I saw the battery capacity at about 42Wh, then, I did this too for the second battery and I got even about 46Wh, I think I could go even higher with letting the battery discharge completely from 100% in standby, I think this has something to do with low power consumption in standby mode, it may work for you too.&lt;br /&gt;
&lt;br /&gt;
===See also===&lt;br /&gt;
* [[Battery safety]]&lt;br /&gt;
&lt;br /&gt;
===External sources===&lt;br /&gt;
* [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=PFAN-3QNQJN IBM Support - Extending battery life]&lt;br /&gt;
* [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=ibm&amp;amp;lndocid=MIGR-51038 IBM Support - Battery troubleshooting]&lt;br /&gt;
* [http://www.pc.ibm.com/ww/thinkpad/batterylife/ IBM Benchmark]&lt;br /&gt;
* [http://batteryuniversity.com Battery University]&lt;br /&gt;
* [http://www.batteryuniversity.com/parttwo-34.htm Battery University's info about prolonging lithium ion batteries]&lt;br /&gt;
* [http://www.buchmann.ca/Chap10-page6.asp prolonging lithium ion batteries in Buchmanns Battery FAQ]&lt;br /&gt;
* [http://www.electronics-lab.com/articles/Li_Ion_reconstruct Electronics Labs information about lithium ion batteries]&lt;br /&gt;
&lt;br /&gt;
==Cleaning the Display==&lt;br /&gt;
If you discover markings that look like they originate from the TrackPoint or keyboard, or for information on how to avoid these, look at [[Problem with key and trackpoint markings on the display|this page]].&lt;br /&gt;
&lt;br /&gt;
===External Sources===&lt;br /&gt;
* [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&amp;amp;lndocid=MIGR-4A2P54 Lenovo Support - LCD care and cleaning instructions]&lt;br /&gt;
* [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&amp;amp;lndocid=MIGR-52190 Lenovo Support - System cleaning instructions]&lt;br /&gt;
&lt;br /&gt;
==Cleaning the Interior==&lt;br /&gt;
{{WARN|The following instructions are not appropriate for all ThinkPad models. Please consult the hardware maintenance guide or on-line disassembly instructions for your model.}}&lt;br /&gt;
Most ThinkPad models (particularly the A-series and the T-series) tend to accumulate a lot of interior dust which they draw from their ventilation fan.  A good dusting every few months is advised. The procedure is as follows.&lt;br /&gt;
&lt;br /&gt;
===ThinkPad T4x series===&lt;br /&gt;
See IBM's keyboard removal [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&amp;amp;lndocid=MIGR-46515 instructions] and [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&amp;amp;lndocid=MIGR-50227 movie].&lt;br /&gt;
&lt;br /&gt;
===ThinkPad T6x series===&lt;br /&gt;
See IBM's keyboard removal&lt;br /&gt;
[http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&amp;amp;lndocid=MIGR-62800 instructions] and&lt;br /&gt;
[http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&amp;amp;lndocid=MIGR-63912 movie].&lt;br /&gt;
&lt;br /&gt;
===Other models (which?)===&lt;br /&gt;
#Unplug the computer.&lt;br /&gt;
#Remove the battery.&lt;br /&gt;
#Turn the ThinkPad over and find two to three screws with upraised double-arrows pointing to them.&lt;br /&gt;
#Unscrew these screws and set them aside.&lt;br /&gt;
#Press the silver area underneath where the battery used to be.  The front of the keyboard will pop up.&lt;br /&gt;
#Turn the ThinkPad right side up and gently remove the keyboard, pulling it toward you.&lt;br /&gt;
#There is one connector between the ThinkPad and the keyboard.  Disconnect it, and set the keyboard aside.&lt;br /&gt;
#If there is a small black plastic separator under the keyboard, remove it and set it aside.&lt;br /&gt;
#The fan should be visible in the upper left.  That entire area will likely be dusty.  With a can of compressed air (and ''only'' with a can of compressed air), dust that area and the surrounding area.&lt;br /&gt;
#Replace the small black plastic separator, then reconnect the keyboard.&lt;br /&gt;
#Slide the keyboard back into place, then press down on the Fn and right-arrow keys until it pops into place.&lt;br /&gt;
#Replace the keyboard screws and battery.&lt;br /&gt;
&lt;br /&gt;
==Dealing with spilling accidents==&lt;br /&gt;
#Don't panic.&lt;br /&gt;
#Don't flip or tilt the computer to prevent the liquid from spreading all over the inside of the case.&lt;br /&gt;
#Shut down the OS and turn off the power:&lt;br /&gt;
##Unplug the computer.&lt;br /&gt;
##Remove the battery.&lt;br /&gt;
#Tilt the computer so that everything that leaked into the case can flow out the same way.&lt;br /&gt;
#Allow the computer to dry before switching it on again.&lt;br /&gt;
#For minor accidents this might already be sufficient. For major flooding you should either bring the computer to a dealer who knows how to open and clean it from inside. Or you can read the Hardware Maintenance Manual, open, clean, and dry the computer yourself. &lt;br /&gt;
&lt;br /&gt;
See also [http://www.moneysense.ca/spending/technology/columnist.jsp?content=986628 Act quickly, carefully if you spill on laptops] on MoneySense.ca (link broken as of 2006-09-18, the article is still available via [http://web.archive.org/web/20050221034011/http://www.moneysense.ca/spending/technology/columnist.jsp?content=986628 web.archive.org]).&lt;br /&gt;
&lt;br /&gt;
==Harddisk Backup / Upgrade==&lt;br /&gt;
*[[How to copy a Linux installation]]&lt;br /&gt;
*[[Harddrive Upgrade|How to upgrade your Thinkpad hard drive]]&lt;br /&gt;
*[[How to copy a Windows installation]]&lt;br /&gt;
===External Sources===&lt;br /&gt;
*[http://gamma.nic.fi/~point/win2copy.htm Guide on copying Windows 2000/XP to another partition]&lt;br /&gt;
&lt;br /&gt;
==Recovering BIOS passwords.==&lt;br /&gt;
Password recovery procedure for IBM ThinkPads using R24RF08 and IBMpass.&lt;br /&gt;
&lt;br /&gt;
(Note: An updated tutorial can always be found [http://www.allservice.ro/forum/viewtopic.php?t=47&amp;amp;start=0 HERE])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1. Introduction.'''&lt;br /&gt;
&lt;br /&gt;
The IBM ThinkPad uses a small eeprom ([[AT24RF08|ATMEL 24RF08]]) to store different OEM&lt;br /&gt;
issues like serial number, UUID, etc. The supervisor password (SVP) is also stored in this eeprom.&lt;br /&gt;
The 24RF08 is not an ordinary eeprom: it features read protection, which the BIOS uses to lock down&lt;br /&gt;
access to the eeprom contents.  Also, the password is written in a special scan code, which needs to&lt;br /&gt;
be translated to ASCII to be of any use.&lt;br /&gt;
&lt;br /&gt;
To recover the password, one can use two different programs: R24RF08 (eeprom reader) and IBMpass&lt;br /&gt;
(password revealer) available at [http://www.allservice.ro/store/utils http://www.allservice.ro/store/utils]. Diagrams are included in the reader kit.&lt;br /&gt;
&lt;br /&gt;
Models for which R24RF08 and IBMpass are enough to recover the password: 240, 240X, 390E, 390X, 570, 570E,&lt;br /&gt;
600e, 600X, 770Z, A20m, A21e, A21m, a22m, A30, A30p, A31, A31p, G40, G41, R30, R31, R32, R40, R50, R51, &lt;br /&gt;
Transnote, T20, T21, T22, T23, T30, T40, T40p, T41, T41p, T42, T42p, X20, X21, X22, X23, X24, X30, X31, X40, X41, X61.&lt;br /&gt;
&lt;br /&gt;
ThinkPads featuring TPCA technology (i.e. a [[Tpm|TPM trusted platform module chip]]), especially T4x, X3x, X4x, X61 and X61T need the W24RF08 eeprom writer program to complete the password recovery procedure, if the passphrase function is enabled in BIOS setup.&lt;br /&gt;
&lt;br /&gt;
Other models such as the 380XD or 600 use 24C01 or 93C46 eeproms, which can be read without special tools.&lt;br /&gt;
The method is the same like for the models based on 24RF08, only the software to dump the eeprom is different. &lt;br /&gt;
&lt;br /&gt;
Newer T43/T43p, R52, R60, T60/p, X60 and Z60 ThinkPads can be unlocked using PC8394 programming tools that consist in RPC8394 and WPC8394 (reader and writer for TPM chips). &lt;br /&gt;
The software is available as well at [http://www.allservice.ro/forum/viewtopic.php?p=1061#1061 www.allservice.ro]. IBMpass 2.0 works for any TP model without exceptions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2. Locating the ATMEL 24RF08 eeprom. Soldering.'''&lt;br /&gt;
&lt;br /&gt;
No need to unsolder the 24RF08 eeprom, just solder 3 wires to SDA, SCL and GND pins of the&lt;br /&gt;
eeprom. There are two eeprom layouts (see interface schematics described bellow), corresponding to 8 pin or 14 pin eeproms. Locate the eeprom first according to your model (E.g. T20-23 and T30 have the eeprom underneath TP, and can be accessed by removing the RAM modules cover, no need to dismantle the laptop.) and solder the wires using a soldering iron with a fine tip. Also, you can use 0.15 -0.20 mm enamel coated wires or similar small diameter insulated wires. These wires will be connected later to the interface.&lt;br /&gt;
Tip: You can use clips to connect the wires or you can solder on the PCB traces leading to the&lt;br /&gt;
eeprom pins. Once again, be careful and double, triple check the soldering if necessary till you are positively sure you have done the right job. In case of applying too much solder, use flux-impregnated copper-braid &amp;quot;desoldering wick&amp;quot; - this works exceptionally well.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''3. Choose and build the interface.'''&lt;br /&gt;
&lt;br /&gt;
Since version 2.0, R24RF08 and W24RF08 (eeprom writer) are compatible with a wide range of eeprom programmers. By default, both programs set the COM port signals to use direct logic level to access I2C bus. We provide here 2 schematics that are relevant for direct logic signals and for inverse logic signals (simple-i2cprog.pdf and driven-i2cprog.pdf). Also, depending of the interface you build, you can invert the logics for SDA-In, SDA-Out, and SCL COM port signals by some command line parameters described later in this document.&lt;br /&gt;
a) The file simple-i2cprog.pdf contains the schematic diagram of a simple interface (known as SIPROG)based on 2 zeners and 2 resistors. This is a classic, easy to build circuit and works with soldered or unsoldered eeproms. The purpose of the 2 zeners is to convert RS232 levels (+/- 5V) to TTL levels, needed by the eeprom. It uses direct logic signals to I2C eeprom and is powered by the COM port. However, this interface works with in-system eeproms but is dependant on COM port current and eeprom bus impedance. R24RF08 works natively with this circuit, no need to change the lines signals with command line parameters. This circuit works pretty well with almost all ThinkPads series.&lt;br /&gt;
b) The second interface is described in driven-i2cprog.pdf. The circuit uses MAX 232 as a RS232 to TTL driver and its main purpose is to work with soldered eeproms. The advantage of MAX232 is the TTL outputs that are more reliable and more powerful when work with soldered, in-system eeproms (dependency free from the COM port current). Due of the internal inverters of MAX232 the interface responds to an inverse signal logic level. R24RF08 needs /x, /d, /i switches to be specified in the command line.&lt;br /&gt;
&lt;br /&gt;
What these switches mean:&lt;br /&gt;
/x - invert serial clock, also known as SCL;&lt;br /&gt;
/d - invert serial data output, also known as SDA-Out;&lt;br /&gt;
/i - invert serial data input, also known as SDA-In.&lt;br /&gt;
All those can be used in any combination to meet any interface specification.&lt;br /&gt;
&lt;br /&gt;
Note that the &amp;quot;standard&amp;quot; serial port programmer probably won't work with a USB-Serial adapter, but requires the full nominal voltage of a hardware serial port. [Example: the A22p's serial port works fine here.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''4. Dump the EEPROM:'''&lt;br /&gt;
&lt;br /&gt;
Prepare your technician PC by connecting the interface to the COM1 port (donâ€™t connect the wires to eeprom yet). Turn on the ThinkPad and press F1 to enter BIOS Setup. When you are prompted for the password and thereâ€™s no other activity like HDD access or so, connect the wires (GND first!, SDA, SCL) to the corresponding wires from the interface (attached before to COM1) and execute R24RF08:&lt;br /&gt;
&lt;br /&gt;
-for SI-PROG interface (as described in 3.a above):&lt;br /&gt;
r24rf08.exe &amp;lt;filename.ext&amp;gt;. where filename.ext is the file where eeprom content will be stored.&lt;br /&gt;
Example: r24rf08 mytp.bin&lt;br /&gt;
&lt;br /&gt;
-for MAX232 driven I2C interface (as described in 3.b above):&lt;br /&gt;
r24rf08.exe &amp;lt;filename.ext&amp;gt; /x /d /i. where /x /d /i are command line parameters (switches) for this kind of interface.&lt;br /&gt;
Example: r24rf08 mytp2.bin /x /d /i&lt;br /&gt;
&lt;br /&gt;
Use exactly the instructed switches to avoid possible damages to your eeprom data!&lt;br /&gt;
The file should be created in the same folder. Finally, disconnect the wires (GND last!) and turn off the ThinkPad by pressing on/off switch.&lt;br /&gt;
&lt;br /&gt;
Dump the EEPROM data at least twice, and do a bytewise compare with `cmp`. Both files should be identical, and 1024 bytes long. Otherwise, you probably have a serial port problem.&lt;br /&gt;
&lt;br /&gt;
Note: the r24rf08.exe program automatically sets the serial port parameters. It also works fine with Wine under Linux - provided that a symlink (com1) exists in the .wine/dos_devices directory, and points to the /dev/ttySX for the actual serial port.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''5. Reveal the password.'''&lt;br /&gt;
&lt;br /&gt;
Now, you have the .bin file but you need to dump in scan code to retrieve the password. IBMpass 2.1 Lite is a free tool that will do the job. Just open the eeprom dump youâ€™ve created before and search for 0x330, 0x340 lines. The password is located on 0x338 (and 0x340 depending on model) in scan code. For 24C01 eeproms the password is located at 0x38, 0x40. If the password won't work for the very first time then your eeprom may use newer IBM scancodes. In this case switch to alternate scan codes to find it. For those who want quick answers the recommended version is IBMpass 1.1. Usage for IBMpass 1.1 (command line only):&lt;br /&gt;
&lt;br /&gt;
ibmpass mytp.bin â€“ use â€œ/aâ€ switch to see in alternate scan code if needed:&lt;br /&gt;
ibmpass mytp.bin /a&lt;br /&gt;
&lt;br /&gt;
For some old models like 570 or 770Z you need to execute the eeprom patcher first. This will reset the read protection on the password offset. To do that just execute patcher.exe before the reading operation, without rebooting the laptop:&lt;br /&gt;
&lt;br /&gt;
-for SI-PROG:&lt;br /&gt;
patcher.exe , then immediately&lt;br /&gt;
r24rf08.exe &amp;lt;filename.ext&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-for Driven-I2C (Max232) you must insert the switches:&lt;br /&gt;
patcher.exe /x /d /i, then immediately&lt;br /&gt;
r24rf08.exe &amp;lt;filename.ext&amp;gt; /x /d /i&lt;br /&gt;
&lt;br /&gt;
W24RF08, the writer version, has included the complete APP reset operation you donâ€™t need to use patcher.&lt;br /&gt;
&lt;br /&gt;
Moreover, there are a new encrypting algos used with some new security chips (AT97SC3201, AT97SC3203) that are very secured. The password is not in scancode and in some cases not even in the eeprom. To unlock the machine, the dump should suffer some changes and the eeprom must be reprogrammed using W24RF08. This operation works for all IBM TCG/TCPA secured laptops w/o exceptions. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remember, use 3 wires from the interface and 3 wires from eeprom! Connect them after your&lt;br /&gt;
ThinkPad is powered and disconnect them right after you read the content, before you switch off the laptop.&lt;br /&gt;
&lt;br /&gt;
'''6. Password format'''&lt;br /&gt;
&lt;br /&gt;
The thinkpad power-on/supervisor passwords are a maximum of 7 characters, and are NOT case-sensitive. The allowed characters are restricted to A-Z, 0-9, semicolon, _, - (and perhaps a few others).&lt;br /&gt;
If  PassPhrase is enabled then the password can be longer than 7 characters. &lt;br /&gt;
Models like T43/R52/T60/R60/T60/X60/Z60/Z61 need the TPM chip dumped with [http://www.allservice.ro/forum/viewtopic.php?p=1061#1061 PC8394 programming tools] in order to find password/reset the TCPA lock.&lt;br /&gt;
&lt;br /&gt;
==Recovering Windows Administrator passwords==&lt;br /&gt;
What should your do when you forgot the password to login to windows system? Ask an administrator to reset  the log on password for you. If you yourself are administrator, and you can't remember the administrator password, the problem get a little tricky, and probably hard to recover the &amp;quot;forgotten password&amp;quot; again. Before you search for recovery CD or Windows DVD to format and reinstall Windows onto the computer,  here a few solutions you can try to unlock the windows to gain access to the system again, at least by resetting the password&amp;lt;br&amp;gt;'''Method 1:''' '''Take a rest, and try hard to remember the forgotten password'''&amp;lt;br&amp;gt;&lt;br /&gt;
Sometimes, human being is a little weird. You won’t get the thing that you urgently need. So have a coffee, take a snap or even come back after a few days, you may found that you suddenly ‘remember’ your Windows password.&lt;br /&gt;
&amp;lt;br&amp;gt;'''Method 2:''' '''Try No Password Administrator Login Backdoor'''&amp;lt;br&amp;gt;&lt;br /&gt;
In Windows XP (not Windows Vista as Administrator account is not enabled by default), there is built-in Administrator user account, that has administrative credentials, enabled by default, and without any password to protect the account from been access. If you didn’t change this Administrator’s password, then try to sign in to Windows XP without password.&lt;br /&gt;
&amp;lt;br&amp;gt;'''Method 3:''' '''Reset password from another user account with administrator credentials'''&amp;lt;br&amp;gt;&lt;br /&gt;
If you cannot log on to Windows by using a particular user account, but you can log on to another account that has administrative credentials, follow these steps on how to do the trick:&lt;br /&gt;
Log on to Windows by using an administrator account that has a password that you remember. You may need to start WinXP in safe mode.&lt;br /&gt;
Click Start, and then click Run.&lt;br /&gt;
In the Open box, type “control userpasswords2″, and then click OK.&lt;br /&gt;
Click the user account that you forgot the password for, and then click Reset Password.&lt;br /&gt;
Type a new password in both the New password and the Confirm new password boxes, and then click OK.&lt;br /&gt;
&amp;lt;br&amp;gt;'''Method 4:''' '''Do-It-Yourself (DIY) third party recovery tool''' &amp;lt;br&amp;gt;&lt;br /&gt;
There are a lot of tools and utilities that can be downloaded and used to recover, reset, retrieve or reveal existing password. Take  Windows Password Recovery 6.0 for example,  Windows Password Recovery 6.0 creates a password reset CD that work during the boot process and instantly reset Administrator or other account passwords and Windows security setting which prevent you from logging in.&lt;br /&gt;
&lt;br /&gt;
'''Step 1: Burn a bootable CD/DVD to remove lost Windows password.'''&lt;br /&gt;
# Download a reliable third part utility (here, take [http://www.passwordunlocker.com/windows-password-recovery.html  Windows Password Unlocker] for example)in any available computer, and then start the Windows password recovery tool. &lt;br /&gt;
# Click OK when the burning task is completed.&lt;br /&gt;
# And now the bootable CD/DVD is burned and you can use it to remove your lost Windows password.&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''Step 2: Set BIOS to boot from CD/DVD'''&lt;br /&gt;
#Insert the burned CD/DVD into the locked computer, and then to set your computer to boot from CD/DVD. If you don’t know how to, please do as follows:Step by step guide on how to make computer boot from CD ROM first.&lt;br /&gt;
#Start computer and press F2 or Delete to enter BISO setup during the initial startup screen.&lt;br /&gt;
#Note: The key pressed to enter BIOS is different based on manufacturers, but F2 or Delete are the most common keys.&lt;br /&gt;
#Use the arrow keys to select the Boot tab, and then select Boot Device Priority and press Enter.&lt;br /&gt;
#Choose 1st boot device to CD ROM, and then press F10 to save settings. And the computer will restart with the changed settings automatically.&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''Step 3: Recover forgotten Windows password with the burned CD/DVD'''&lt;br /&gt;
#After your computer restarting with the changed settings automatically, you can see the interface of Windows Password Unlocker Standard. And you‘ll find all user names of your accounts will be displayed with the passwords showing unknown or empty.&lt;br /&gt;
#Unknown means you have a password for the user name, maybe you lost it.&lt;br /&gt;
#Empty means you do not have a password for the user name, you can login the account without password.&lt;br /&gt;
#Select your target Windows system if you have two and the specified Windows account you want to recover, and then click Reset button.&lt;br /&gt;
#Click Yes to confirm and continue your operation.&lt;br /&gt;
#Click OK when the password of the selected account is successfully removed. And now you can log on your computer without password.&lt;br /&gt;
&lt;br /&gt;
==Tutorial to Create Windows Password Reset Disk==&lt;br /&gt;
&lt;br /&gt;
A '''[http://www.passwordunlocker.com/products/reset-windows-password.html Windows password reset]''' disk is a specially created floppy disk or USB flash drive that can be used to gain access to Windows if you've forgotten your password. If you've ever forgotten your Windows password before, you can imagine how valuable a password reset disk is.&lt;br /&gt;
&lt;br /&gt;
Be proactive and create a password reset disk right now. It's completely free, aside from needing a floppy disk or USB drive, and it's very easy to do.&lt;br /&gt;
&lt;br /&gt;
You can create a password reset disk using the Forgotten Password Wizard in Windows. &lt;br /&gt;
&lt;br /&gt;
The specific steps necessary to create a password reset disk depends on which Windows operating system you're using:&lt;br /&gt;
&lt;br /&gt;
[http://blog.passwordunlocker.com/tutorial-to-create-a-windows-7-password-reset disk/ Tutorial to create a Password Reset Disk in Windows 7]&lt;br /&gt;
&lt;br /&gt;
[http://blog.passwordunlocker.com/tutorial-to-create-a-windows-vista-password-reset disk/ Tutorial to create a Password Reset Disk in Windows Vista]&lt;br /&gt;
&lt;br /&gt;
[http://blog.passwordunlocker.com/tutorial-to-create-a-windows-xp-password-reset disk/ Tutorial to create a Password Reset Disk in Windows XP]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You must create a Windows password reset disk before you forget your password. If you've already forgotten your password and you have not yet created a password reset disk, you'll need to use a '''[http://www.recoverlostpassword.com/products/windowspasswordrecoery.html Windows password recovery]''' tool to find or reset Windows password.&lt;br /&gt;
&lt;br /&gt;
===External Sources===&lt;br /&gt;
*[http://pcsupport.about.com/od/toolsofthetrade/tp/prem-windows-password-recovery.htm Top 2 Premium Windows Password Recovery Tools]&lt;br /&gt;
* [http://www.allservice.ro/forum R24RF08/W24RF08, PC8394 programming tools &amp;amp; IBMpass author's forums.]&lt;br /&gt;
* [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=ibm&amp;amp;lndocid=MIGR-59377 IBM Support - Lost or forgotten password]&lt;br /&gt;
* [http://www.allservice.ro/forum/viewforum.php?f=12 Full Service of all ThinkPad models including free password recovery]&lt;br /&gt;
* [http://sodoityourself.com/hacking-ibm-thinkpad-bios-password/ A tutorial on how to do this]&lt;br /&gt;
* [http://www.passwordunlocker.com/windows-password-recovery.html windows password unlocker]&lt;/div&gt;</summary>
		<author><name>Jidanni</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Maintenance&amp;diff=54261</id>
		<title>Maintenance</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Maintenance&amp;diff=54261"/>
		<updated>2013-01-08T07:22:12Z</updated>

		<summary type="html">&lt;p&gt;Jidanni: remove duplicate sentences&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;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
Here you can find general hints about keeping your ThinkPad in good shape. Look at your [[:Category:Models|models category page]] for IBMs official maintenance guide for that model.&lt;br /&gt;
|}&lt;br /&gt;
==Assembly/Disassembly instructions==&lt;br /&gt;
Lenovo has a website dedicated to servicing ThinkPads, but it only covers the more recent models. For older models check the HMM (Hardware Maintenance Manual) for your ThinkPad.&lt;br /&gt;
* http://www.lenovoservicetraining.com/&lt;br /&gt;
&lt;br /&gt;
==Battery treatment==&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=2 style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|+Battery life expanding guide&lt;br /&gt;
|- style=&amp;quot;background:#efefef;white-space:nowrap;&amp;quot;&lt;br /&gt;
! style=&amp;quot;background:#ffdead;&amp;quot; | Battery Type !! NiCd !! NiMH !! Lithium ion&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! style=&amp;quot;background:#ffdead;&amp;quot; | General&lt;br /&gt;
|&lt;br /&gt;
*always do complete discharge/charge cycles&lt;br /&gt;
*avoid exposing the battery (or notebook) to excessive heat&lt;br /&gt;
|&lt;br /&gt;
*avoid deep discharges except when resetting fuel gauge or reconditioning a battery;  partial dis-/recharges are better for the battery lifetime (note: fuel gauge will slowly get inaccurate over time)&lt;br /&gt;
*remove battery when on AC (due to heat)&lt;br /&gt;
*avoid exposing the battery (or notebook) to excessive heat&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! style=&amp;quot;background:#ffdead;&amp;quot; | Charging&lt;br /&gt;
|&lt;br /&gt;
*discharge before charging&lt;br /&gt;
|&lt;br /&gt;
*avoid charging if battery is nearly full, unless you will need its full capacity soon; keep it on the 30%-85% charged range&lt;br /&gt;
*keep notebook off while charging due to heat&lt;br /&gt;
*fully discharge, then fully charge battery when needed to recalibrate fuel gauge;  newer battery pack models require this less often, old ones might need it as often as every 30 cycles&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! style=&amp;quot;background:#ffdead;&amp;quot; | Storage&lt;br /&gt;
| &lt;br /&gt;
*almost discharged&lt;br /&gt;
*cool and dry&lt;br /&gt;
|&lt;br /&gt;
*never fully charged or discharged, ideally at about 40%&lt;br /&gt;
*cool and dry, but '''do not freeze''' them: 10-15C is recommended&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Battery health===&lt;br /&gt;
Batteries, especially of the modern Li-Ion type, wear out quicker when they hold a large charge or are subject to higher temperatures (see above).&lt;br /&gt;
&lt;br /&gt;
If you use your laptop at a desk, reduce battery wear by maintaining an appropriate charge level.  When  possible, remove Li-ion batteries while operating from AC as the notebook gets hot enough inside for that to damage the battery in the long run, even if charging is stopped.&lt;br /&gt;
&lt;br /&gt;
On recent ThinkPads, charging thresholds can be configured in the bundled software.  Under Linux, this is supported on recent models by the [[tp_smapi]] driver (and even without &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt;, if you have a dual-boot setup, you can set the thresholds under Windows and they will be remembered as long as you don't power off your machine with AC disconnected; suspend to RAM is OK). Have a look at [[How to use UltraBay batteries]].&lt;br /&gt;
&lt;br /&gt;
If you have spare Li-ion battery packs, store them at 40% charge in a cool place (15C being a recommended temperature, do not let the batteries freeze).  If storing inside a refrigerator, beware of humidity, and be careful with cold spots that can easily freeze the battery if anything goes wrong.&lt;br /&gt;
&lt;br /&gt;
===The problem with 600 series batteries===&lt;br /&gt;
ThinkPad 600 power management causes batteries to die before they should. Read more about this on the [[Problem with ThinkPad 600 batteries|associated problem page]].&lt;br /&gt;
&lt;br /&gt;
===Reviving batteries===&lt;br /&gt;
Some people experience sudden drops in their batteries capacity.  A way to get these batteries back to full capacity is to run the &amp;quot;Battery Rundown&amp;quot; function of IBMs &amp;quot;PC Doctor for DOS&amp;quot;.  The program is downloadable from IBMs support site as three floppy disk images.  Make sure you get the specific version of program made for your ThinkPad model.  For those who do not have a floppy, David Smith prepared a [http://www.mypchelp.com/~dsmith/ibmutil/ibm_t22_pcdiag.iso bootable CD image] (dead link, a copy is also available [http://server6.org/~marker/software/ibm_t22_pcdiag.iso here]) from the T22 floppy images. For newer ThinkPads there is an official [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&amp;amp;lndocid=MIGR-56222 bootable CD image]. (Although the instructions on this page (as of May 2008) include details for Linux and refer to a CD image, it is actually provided as a Windows executable. On Linux systems, [http://winehq.org Wine] can execute this file and extract the CD image.) Once extracted, you must mount the iso as a loop device (as root) like so:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|mount -o loop 1ety48ww.iso /mnt/floppy}}&lt;br /&gt;
&lt;br /&gt;
Then copy the .IMA file out of that mounted iso:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|cd /mnt/floppy}}&lt;br /&gt;
:{{cmdroot|cp 1ETY48WW.IMA /boot}}&lt;br /&gt;
&lt;br /&gt;
(Or to some other suitable directory.) After this, you can follow the same directions that apply for [[BIOS Upgrade|BIOS upgrade]]s.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|This will do nothing to improve the performance of a dying battery. It serves only to recalibrate the battery charge controller. The &amp;quot;Battery Rundown&amp;quot; function of IBMs &amp;quot;PC Doctor for DOS&amp;quot; has no intelligence. It merely runs a series of dumb operations to consume battery power, and it cannot detect whether a battery is present or not. If you leave the mains connected while running &amp;quot;Battery Rundown&amp;quot;, it will have no effect, as the battery will simply keep charging. The [[tp_smapi]] module, if installed, will report the number of charge cycles the battery has had since it was manufactured. If that number is high, the battery's poor performance is almost certainly due to its age.}}&lt;br /&gt;
&lt;br /&gt;
I have recently made an interesting discovery, I have an R40 with two main batteries, both of them have aproximately about under 200 cycles and are nowadays 4 years old, projected capacity for R40/R32 main battery is 57Wh, and both my batteries were about 30Wh, then I left my notebook with one of them about a day in a standby mode, as long as it powered off itself because of low battery power, when I turned it on I saw the battery capacity at about 42Wh, then, I did this too for the second battery and I got even about 46Wh, I think I could go even higher with letting the battery discharge completely from 100% in standby, I think this has something to do with low power consumption in standby mode, it may work for you too.&lt;br /&gt;
&lt;br /&gt;
===See also===&lt;br /&gt;
* [[Battery safety]]&lt;br /&gt;
&lt;br /&gt;
===External sources===&lt;br /&gt;
* [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=PFAN-3QNQJN IBM Support - Extending battery life]&lt;br /&gt;
* [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=ibm&amp;amp;lndocid=MIGR-51038 IBM Support - Battery troubleshooting]&lt;br /&gt;
* [http://www.pc.ibm.com/ww/thinkpad/batterylife/ IBM Benchmark]&lt;br /&gt;
* [http://batteryuniversity.com Battery University]&lt;br /&gt;
* [http://www.batteryuniversity.com/parttwo-34.htm Battery University's info about prolonging lithium ion batteries]&lt;br /&gt;
* [http://www.buchmann.ca/Chap10-page6.asp prolonging lithium ion batteries in Buchmanns Battery FAQ]&lt;br /&gt;
* [http://www.electronics-lab.com/articles/Li_Ion_reconstruct Electronics Labs information about lithium ion batteries]&lt;br /&gt;
&lt;br /&gt;
==Cleaning the Display==&lt;br /&gt;
If you discover markings that look like they originate from the TrackPoint or keyboard, or for information on how to avoid these, look at [[Problem with key and trackpoint markings on the display|this page]].&lt;br /&gt;
&lt;br /&gt;
===External Sources===&lt;br /&gt;
* [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&amp;amp;lndocid=MIGR-4A2P54 Lenovo Support - LCD care and cleaning instructions]&lt;br /&gt;
* [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&amp;amp;lndocid=MIGR-52190 Lenovo Support - System cleaning instructions]&lt;br /&gt;
&lt;br /&gt;
==Cleaning the Interior==&lt;br /&gt;
{{WARN|The following instructions are not appropriate for all ThinkPad models. Please consult the hardware maintenance guide or on-line disassembly instructions for your model.}}&lt;br /&gt;
Most ThinkPad models (particularly the A-series and the T-series) tend to accumulate a lot of interior dust which they draw from their ventilation fan.  A good dusting every few months is advised. The procedure is as follows.&lt;br /&gt;
&lt;br /&gt;
===ThinkPad T4x series===&lt;br /&gt;
See IBM's keyboard removal [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&amp;amp;lndocid=MIGR-46515 instructions] and [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&amp;amp;lndocid=MIGR-50227 movie].&lt;br /&gt;
&lt;br /&gt;
===ThinkPad T6x series===&lt;br /&gt;
See IBM's keyboard removal&lt;br /&gt;
[http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&amp;amp;lndocid=MIGR-62800 instructions] and&lt;br /&gt;
[http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&amp;amp;lndocid=MIGR-63912 movie].&lt;br /&gt;
&lt;br /&gt;
===Other models (which?)===&lt;br /&gt;
#Unplug the computer.&lt;br /&gt;
#Remove the battery.&lt;br /&gt;
#Turn the ThinkPad over and find two to three screws with upraised double-arrows pointing to them.&lt;br /&gt;
#Unscrew these screws and set them aside.&lt;br /&gt;
#Press the silver area underneath where the battery used to be.  The front of the keyboard will pop up.&lt;br /&gt;
#Turn the ThinkPad right side up and gently remove the keyboard, pulling it toward you.&lt;br /&gt;
#There is one connector between the ThinkPad and the keyboard.  Disconnect it, and set the keyboard aside.&lt;br /&gt;
#If there is a small black plastic separator under the keyboard, remove it and set it aside.&lt;br /&gt;
#The fan should be visible in the upper left.  That entire area will likely be dusty.  With a can of compressed air (and ''only'' with a can of compressed air), dust that area and the surrounding area.&lt;br /&gt;
#Replace the small black plastic separator, then reconnect the keyboard.&lt;br /&gt;
#Slide the keyboard back into place, then press down on the Fn and right-arrow keys until it pops into place.&lt;br /&gt;
#Replace the keyboard screws and battery.&lt;br /&gt;
&lt;br /&gt;
==Dealing with spilling accidents==&lt;br /&gt;
#Don't panic.&lt;br /&gt;
#Don't flip or tilt the computer to prevent the liquid from spreading all over the inside of the case.&lt;br /&gt;
#Shut down the OS and turn off the power:&lt;br /&gt;
##Unplug the computer.&lt;br /&gt;
##Remove the battery.&lt;br /&gt;
#Tilt the computer so that everything that leaked into the case can flow out the same way.&lt;br /&gt;
#Allow the computer to dry before switching it on again.&lt;br /&gt;
#For minor accidents this might already be sufficient. For major flooding you should either bring the computer to a dealer who knows how to open and clean it from inside. Or you can read the Hardware Maintenance Manual, open, clean, and dry the computer yourself. &lt;br /&gt;
&lt;br /&gt;
See also [http://www.moneysense.ca/spending/technology/columnist.jsp?content=986628 Act quickly, carefully if you spill on laptops] on MoneySense.ca (link broken as of 2006-09-18, the article is still available via [http://web.archive.org/web/20050221034011/http://www.moneysense.ca/spending/technology/columnist.jsp?content=986628 web.archive.org]).&lt;br /&gt;
&lt;br /&gt;
==Harddisk Backup / Upgrade==&lt;br /&gt;
*[[How to copy a Linux installation]]&lt;br /&gt;
*[[Harddrive Upgrade|How to upgrade your Thinkpad hard drive]]&lt;br /&gt;
*[[How to copy a Windows installation]]&lt;br /&gt;
===External Sources===&lt;br /&gt;
*[http://gamma.nic.fi/~point/win2copy.htm Guide on copying Windows 2000/XP to another partition]&lt;br /&gt;
&lt;br /&gt;
==Recovering BIOS passwords.==&lt;br /&gt;
Password recovery procedure for IBM ThinkPads using R24RF08 and IBMpass.&lt;br /&gt;
&lt;br /&gt;
(Note: An updated tutorial can always be found [http://www.allservice.ro/forum/viewtopic.php?t=47&amp;amp;start=0 HERE])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1. Introduction.'''&lt;br /&gt;
&lt;br /&gt;
The IBM ThinkPad uses a small eeprom ([[AT24RF08|ATMEL 24RF08]]) to store different OEM&lt;br /&gt;
issues like serial number, UUID, etc. The supervisor password (SVP) is also stored in this eeprom.&lt;br /&gt;
The 24RF08 is not an ordinary eeprom: it features read protection, which the BIOS uses to lock down&lt;br /&gt;
access to the eeprom contents.  Also, the password is written in a special scan code, which needs to&lt;br /&gt;
be translated to ASCII to be of any use.&lt;br /&gt;
&lt;br /&gt;
To recover the password, one can use two different programs: R24RF08 (eeprom reader) and IBMpass&lt;br /&gt;
(password revealer) available at [http://www.allservice.ro/store/utils http://www.allservice.ro/store/utils]. Diagrams are included in the reader kit.&lt;br /&gt;
&lt;br /&gt;
Models for which R24RF08 and IBMpass are enough to recover the password: 240, 240X, 390E, 390X, 570, 570E,&lt;br /&gt;
600e, 600X, 770Z, A20m, A21e, A21m, a22m, A30, A30p, A31, A31p, G40, G41, R30, R31, R32, R40, R50, R51, &lt;br /&gt;
Transnote, T20, T21, T22, T23, T30, T40, T40p, T41, T41p, T42, T42p, X20, X21, X22, X23, X24, X30, X31, X40, X41, X61.&lt;br /&gt;
&lt;br /&gt;
ThinkPads featuring TPCA technology (i.e. a [[Tpm|TPM trusted platform module chip]]), especially T4x, X3x, X4x, X61 and X61T need the W24RF08 eeprom writer program to complete the password recovery procedure, if the passphrase function is enabled in BIOS setup.&lt;br /&gt;
&lt;br /&gt;
Other models such as the 380XD or 600 use 24C01 or 93C46 eeproms, which can be read without special tools.&lt;br /&gt;
The method is the same like for the models based on 24RF08, only the software to dump the eeprom is different. &lt;br /&gt;
&lt;br /&gt;
Newer T43/T43p, R52, R60, T60/p, X60 and Z60 ThinkPads can be unlocked using PC8394 programming tools that consist in RPC8394 and WPC8394 (reader and writer for TPM chips). &lt;br /&gt;
The software is available as well at [http://www.allservice.ro/forum/viewtopic.php?p=1061#1061 www.allservice.ro]. IBMpass 2.0 works for any TP model without exceptions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2. Locating the ATMEL 24RF08 eeprom. Soldering.'''&lt;br /&gt;
&lt;br /&gt;
No need to unsolder the 24RF08 eeprom, just solder 3 wires to SDA, SCL and GND pins of the&lt;br /&gt;
eeprom. There are two eeprom layouts (see interface schematics described bellow), corresponding to 8 pin or 14 pin eeproms. Locate the eeprom first according to your model (E.g. T20-23 and T30 have the eeprom underneath TP, and can be accessed by removing the RAM modules cover, no need to dismantle the laptop.) and solder the wires using a soldering iron with a fine tip. Also, you can use 0.15 -0.20 mm enamel coated wires or similar small diameter insulated wires. These wires will be connected later to the interface.&lt;br /&gt;
Tip: You can use clips to connect the wires or you can solder on the PCB traces leading to the&lt;br /&gt;
eeprom pins. Once again, be careful and double, triple check the soldering if necessary till you are positively sure you have done the right job. In case of applying too much solder, use flux-impregnated copper-braid &amp;quot;desoldering wick&amp;quot; - this works exceptionally well.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''3. Choose and build the interface.'''&lt;br /&gt;
&lt;br /&gt;
Since version 2.0, R24RF08 and W24RF08 (eeprom writer) are compatible with a wide range of eeprom programmers. By default, both programs set the COM port signals to use direct logic level to access I2C bus. We provide here 2 schematics that are relevant for direct logic signals and for inverse logic signals (simple-i2cprog.pdf and driven-i2cprog.pdf). Also, depending of the interface you build, you can invert the logics for SDA-In, SDA-Out, and SCL COM port signals by some command line parameters described later in this document.&lt;br /&gt;
a) The file simple-i2cprog.pdf contains the schematic diagram of a simple interface (known as SIPROG)based on 2 zeners and 2 resistors. This is a classic, easy to build circuit and works with soldered or unsoldered eeproms. The purpose of the 2 zeners is to convert RS232 levels (+/- 5V) to TTL levels, needed by the eeprom. It uses direct logic signals to I2C eeprom and is powered by the COM port. However, this interface works with in-system eeproms but is dependant on COM port current and eeprom bus impedance. R24RF08 works natively with this circuit, no need to change the lines signals with command line parameters. This circuit works pretty well with almost all ThinkPads series.&lt;br /&gt;
b) The second interface is described in driven-i2cprog.pdf. The circuit uses MAX 232 as a RS232 to TTL driver and its main purpose is to work with soldered eeproms. The advantage of MAX232 is the TTL outputs that are more reliable and more powerful when work with soldered, in-system eeproms (dependency free from the COM port current). Due of the internal inverters of MAX232 the interface responds to an inverse signal logic level. R24RF08 needs /x, /d, /i switches to be specified in the command line.&lt;br /&gt;
&lt;br /&gt;
What these switches mean:&lt;br /&gt;
/x - invert serial clock, also known as SCL;&lt;br /&gt;
/d - invert serial data output, also known as SDA-Out;&lt;br /&gt;
/i - invert serial data input, also known as SDA-In.&lt;br /&gt;
All those can be used in any combination to meet any interface specification.&lt;br /&gt;
&lt;br /&gt;
Note that the &amp;quot;standard&amp;quot; serial port programmer probably won't work with a USB-Serial adapter, but requires the full nominal voltage of a hardware serial port. [Example: the A22p's serial port works fine here.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''4. Dump the EEPROM:'''&lt;br /&gt;
&lt;br /&gt;
Prepare your technician PC by connecting the interface to the COM1 port (donâ€™t connect the wires to eeprom yet). Turn on the ThinkPad and press F1 to enter BIOS Setup. When you are prompted for the password and thereâ€™s no other activity like HDD access or so, connect the wires (GND first!, SDA, SCL) to the corresponding wires from the interface (attached before to COM1) and execute R24RF08:&lt;br /&gt;
&lt;br /&gt;
-for SI-PROG interface (as described in 3.a above):&lt;br /&gt;
r24rf08.exe &amp;lt;filename.ext&amp;gt;. where filename.ext is the file where eeprom content will be stored.&lt;br /&gt;
Example: r24rf08 mytp.bin&lt;br /&gt;
&lt;br /&gt;
-for MAX232 driven I2C interface (as described in 3.b above):&lt;br /&gt;
r24rf08.exe &amp;lt;filename.ext&amp;gt; /x /d /i. where /x /d /i are command line parameters (switches) for this kind of interface.&lt;br /&gt;
Example: r24rf08 mytp2.bin /x /d /i&lt;br /&gt;
&lt;br /&gt;
Use exactly the instructed switches to avoid possible damages to your eeprom data!&lt;br /&gt;
The file should be created in the same folder. Finally, disconnect the wires (GND last!) and turn off the ThinkPad by pressing on/off switch.&lt;br /&gt;
&lt;br /&gt;
Dump the EEPROM data at least twice, and do a bytewise compare with `cmp`. Both files should be identical, and 1024 bytes long. Otherwise, you probably have a serial port problem.&lt;br /&gt;
&lt;br /&gt;
Note: the r24rf08.exe program automatically sets the serial port parameters. It also works fine with Wine under Linux - provided that a symlink (com1) exists in the .wine/dos_devices directory, and points to the /dev/ttySX for the actual serial port.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''5. Reveal the password.'''&lt;br /&gt;
&lt;br /&gt;
Now, you have the .bin file but you need to dump in scan code to retrieve the password. IBMpass 2.1 Lite is a free tool that will do the job. Just open the eeprom dump youâ€™ve created before and search for 0x330, 0x340 lines. The password is located on 0x338 (and 0x340 depending on model) in scan code. For 24C01 eeproms the password is located at 0x38, 0x40. If the password won't work for the very first time then your eeprom may use newer IBM scancodes. In this case switch to alternate scan codes to find it. For those who want quick answers the recommended version is IBMpass 1.1. Usage for IBMpass 1.1 (command line only):&lt;br /&gt;
&lt;br /&gt;
ibmpass mytp.bin â€“ use â€œ/aâ€ switch to see in alternate scan code if needed:&lt;br /&gt;
ibmpass mytp.bin /a&lt;br /&gt;
&lt;br /&gt;
For some old models like 570 or 770Z you need to execute the eeprom patcher first. This will reset the read protection on the password offset. To do that just execute patcher.exe before the reading operation, without rebooting the laptop:&lt;br /&gt;
&lt;br /&gt;
-for SI-PROG:&lt;br /&gt;
patcher.exe , then immediately&lt;br /&gt;
r24rf08.exe &amp;lt;filename.ext&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-for Driven-I2C (Max232) you must insert the switches:&lt;br /&gt;
patcher.exe /x /d /i, then immediately&lt;br /&gt;
r24rf08.exe &amp;lt;filename.ext&amp;gt; /x /d /i&lt;br /&gt;
&lt;br /&gt;
W24RF08, the writer version, has included the complete APP reset operation you donâ€™t need to use patcher.&lt;br /&gt;
&lt;br /&gt;
Moreover, there are a new encrypting algos used with some new security chips (AT97SC3201, AT97SC3203) that are very secured. The password is not in scancode and in some cases not even in the eeprom. To unlock the machine, the dump should suffer some changes and the eeprom must be reprogrammed using W24RF08. This operation works for all IBM TCG/TCPA secured laptops w/o exceptions. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remember, use 3 wires from the interface and 3 wires from eeprom! Connect them after your&lt;br /&gt;
ThinkPad is powered and disconnect them right after you read the content, before you switch off the laptop.&lt;br /&gt;
&lt;br /&gt;
'''6. Password format'''&lt;br /&gt;
&lt;br /&gt;
The thinkpad power-on/supervisor passwords are a maximum of 7 characters, and are NOT case-sensitive. The allowed characters are restricted to A-Z, 0-9, semicolon, _, - (and perhaps a few others).&lt;br /&gt;
If  PassPhrase is enabled then the password can be longer than 7 characters. &lt;br /&gt;
Models like T43/R52/T60/R60/T60/X60/Z60/Z61 need the TPM chip dumped with [http://www.allservice.ro/forum/viewtopic.php?p=1061#1061 PC8394 programming tools] in order to find password/reset the TCPA lock.&lt;br /&gt;
&lt;br /&gt;
==Recovering Windows Administrator passwords==&lt;br /&gt;
What should your do when you forgot the password to login to windows system? Ask an administrator to reset  the log on password for you. If you yourself are administrator, and you can't remember the administrator password, the problem get a little tricky, and probably hard to recover the &amp;quot;forgotten password&amp;quot; again. Before you search for recovery CD or Windows DVD to format and reinstall Windows onto the computer,  here a few solutions you can try to unlock the windows to gain access to the system again, at least by resetting the password&amp;lt;br&amp;gt;'''Method 1:''' '''Take a rest, and try hard to remember the forgotten password'''&amp;lt;br&amp;gt;&lt;br /&gt;
Sometimes, human being is a little weird. You won’t get the thing that you urgently need. So have a coffee, take a snap or even come back after a few days, you may found that you suddenly ‘remember’ your Windows password.&lt;br /&gt;
&amp;lt;br&amp;gt;'''Method 2:''' '''Try No Password Administrator Login Backdoor'''&amp;lt;br&amp;gt;&lt;br /&gt;
In Windows XP (not Windows Vista as Administrator account is not enabled by default), there is built-in Administrator user account, that has administrative credentials, enabled by default, and without any password to protect the account from been access. If you didn’t change this Administrator’s password, then try to sign in to Windows XP without password.&lt;br /&gt;
&amp;lt;br&amp;gt;'''Method 3:''' '''Reset password from another user account with administrator credentials'''&amp;lt;br&amp;gt;&lt;br /&gt;
If you cannot log on to Windows by using a particular user account, but you can log on to another account that has administrative credentials, follow these steps on how to do the trick:&lt;br /&gt;
Log on to Windows by using an administrator account that has a password that you remember. You may need to start WinXP in safe mode.&lt;br /&gt;
Click Start, and then click Run.&lt;br /&gt;
In the Open box, type “control userpasswords2″, and then click OK.&lt;br /&gt;
Click the user account that you forgot the password for, and then click Reset Password.&lt;br /&gt;
Type a new password in both the New password and the Confirm new password boxes, and then click OK.&lt;br /&gt;
&amp;lt;br&amp;gt;'''Method 4:''' '''Do-It-Yourself (DIY) third party recovery tool''' &amp;lt;br&amp;gt;&lt;br /&gt;
There are a lot of tools and utilities that can be downloaded and used to recover, reset, retrieve or reveal existing password. Take  Windows Password Recovery 6.0 for example,  Windows Password Recovery 6.0 creates a password reset CD that work during the boot process and instantly reset Administrator or other account passwords and Windows security setting which prevent you from logging in.&lt;br /&gt;
&lt;br /&gt;
'''Step 1: Burn a bootable CD/DVD to remove lost Windows password.'''&lt;br /&gt;
# Download a reliable third part utility (here, take [http://www.passwordunlocker.com/windows-password-recovery.html  Windows Password Unlocker] for example)in any available computer, and then start the Windows password recovery tool. &lt;br /&gt;
# Click OK when the burning task is completed.&lt;br /&gt;
# And now the bootable CD/DVD is burned and you can use it to remove your lost Windows password.&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''Step 2: Set BIOS to boot from CD/DVD'''&lt;br /&gt;
#Insert the burned CD/DVD into the locked computer, and then to set your computer to boot from CD/DVD. If you don’t know how to, please do as follows:Step by step guide on how to make computer boot from CD ROM first.&lt;br /&gt;
#Start computer and press F2 or Delete to enter BISO setup during the initial startup screen.&lt;br /&gt;
#Note: The key pressed to enter BIOS is different based on manufacturers, but F2 or Delete are the most common keys.&lt;br /&gt;
#Use the arrow keys to select the Boot tab, and then select Boot Device Priority and press Enter.&lt;br /&gt;
#Choose 1st boot device to CD ROM, and then press F10 to save settings. And the computer will restart with the changed settings automatically.&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''Step 3: Recover forgotten Windows password with the burned CD/DVD'''&lt;br /&gt;
#After your computer restarting with the changed settings automatically, you can see the interface of Windows Password Unlocker Standard. And you‘ll find all user names of your accounts will be displayed with the passwords showing unknown or empty.&lt;br /&gt;
#Unknown means you have a password for the user name, maybe you lost it.&lt;br /&gt;
#Empty means you do not have a password for the user name, you can login the account without password.&lt;br /&gt;
#Select your target Windows system if you have two and the specified Windows account you want to recover, and then click Reset button.&lt;br /&gt;
#Click Yes to confirm and continue your operation.&lt;br /&gt;
#Click OK when the password of the selected account is successfully removed. And now you can log on your computer without password.&lt;br /&gt;
&lt;br /&gt;
==Tutorial to Create Windows Password Reset Disk==&lt;br /&gt;
&lt;br /&gt;
A '''[http://www.passwordunlocker.com/products/reset-windows-password.html Windows password reset]''' disk is a specially created floppy disk or USB flash drive that can be used to gain access to Windows if you've forgotten your password. If you've ever forgotten your Windows password before, you can imagine how valuable a password reset disk is.&lt;br /&gt;
&lt;br /&gt;
Be proactive and create a password reset disk right now. It's completely free, aside from needing a floppy disk or USB drive, and it's very easy to do.&lt;br /&gt;
&lt;br /&gt;
You can create a password reset disk using the Forgotten Password Wizard in Windows. &lt;br /&gt;
&lt;br /&gt;
The specific steps necessary to create a password reset disk depends on which Windows operating system you're using:&lt;br /&gt;
&lt;br /&gt;
[http://blog.passwordunlocker.com/tutorial-to-create-a-windows-7-password-reset disk/ Tutorial to create a Password Reset Disk in Windows 7]&lt;br /&gt;
&lt;br /&gt;
[http://blog.passwordunlocker.com/tutorial-to-create-a-windows-vista-password-reset disk/ Tutorial to create a Password Reset Disk in Windows Vista]&lt;br /&gt;
&lt;br /&gt;
[http://blog.passwordunlocker.com/tutorial-to-create-a-windows-xp-password-reset disk/ Tutorial to create a Password Reset Disk in Windows XP]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You must create a Windows password reset disk before you forget your password. If you've already forgotten your password and you have not yet created a password reset disk, you'll need to use a '''[http://www.recoverlostpassword.com/products/windowspasswordrecoery.html Windows password recovery]''' tool to find or reset Windows password.&lt;br /&gt;
&lt;br /&gt;
===External Sources===&lt;br /&gt;
*[http://pcsupport.about.com/od/toolsofthetrade/tp/prem-windows-password-recovery.htm Top 2 Premium Windows Password Recovery Tools]&lt;br /&gt;
* [http://www.allservice.ro/forum R24RF08/W24RF08, PC8394 programming tools &amp;amp; IBMpass author's forums.]&lt;br /&gt;
* [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=ibm&amp;amp;lndocid=MIGR-59377 IBM Support - Lost or forgotten password]&lt;br /&gt;
* [http://www.allservice.ro/forum/viewforum.php?f=12 Full Service of all ThinkPad models including free password recovery]&lt;br /&gt;
* [http://sodoityourself.com/hacking-ibm-thinkpad-bios-password/ A tutorial on how to do this]&lt;br /&gt;
* [http://www.passwordunlocker.com/windows-password-recovery.html windows password unlocker]&lt;/div&gt;</summary>
		<author><name>Jidanni</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:How_to_configure_the_TrackPoint&amp;diff=49009</id>
		<title>Talk:How to configure the TrackPoint</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:How_to_configure_the_TrackPoint&amp;diff=49009"/>
		<updated>2010-07-11T13:12:22Z</updated>

		<summary type="html">&lt;p&gt;Jidanni: /* To enable vertical scrolling: using what? */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==== Enable/disable touchpad ====&lt;br /&gt;
As for now, the 3 buttons are disabled when you disable the touchpad. The patch provided at [[UltraNav]] correct this.&lt;br /&gt;
&lt;br /&gt;
Another problem is the back-forward buttons that are also associated to the touchpad as button1 and button2. Another hack to alps.c can resolve this problem, but its too much of a bad hack to be approved in kernel as it might break other devices.&lt;br /&gt;
The following patch assign the 3 mouse buttons to the trackpoint (as with the above one) and the back-forward buttons as well. They will be reported as Button8 and Button9 by xorg, imitating the behavior of my Intellimouse explorer, and making them available when the track point is disabled. http://pastebin.com/fa8ed909&lt;br /&gt;
&lt;br /&gt;
Now to enable/disable the trackpoint easily, make sure the fn-f8 key is recognized by xorg (using xev). For sl (300 at least) models, it involves building the lenovo-sl-laptop module (http://github.com/tetromino/lenovo-sl-laptop/tree/master, archlinux package availible in AUR).&lt;br /&gt;
&lt;br /&gt;
This script (http://pastebin.com/f157355d6) allow easy switching between active/inactive state. It uses the synaptic X11 driver. A notification is sent using kdialog, you can change that of course.&lt;br /&gt;
Now execute this script on key event. For kde, go to input actions.&lt;br /&gt;
&lt;br /&gt;
[[User:cghislai]]&lt;br /&gt;
&lt;br /&gt;
==== /sys-configuration files ====&lt;br /&gt;
where can i find documentation of the other files (thresh, upthresh, skipback, reach, inertia...)? [[User:Blerp|Blerp]] 01:01, 9 March 2007 (CET)&lt;br /&gt;
:I second that question. --[[User:Telofy|Telofy]] 18:11, 31 December 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==== shifting /sys-paths ====&lt;br /&gt;
2007-03-13&lt;br /&gt;
On my Thinkpad R60 with kernel 2.6.20, the path is {{path|/sys/devices/platform/i8042/serio1/serio2}}.&lt;br /&gt;
&lt;br /&gt;
On {{Fedora}} 5, with kernels 2.6.15 and forward, the path does not include &lt;br /&gt;
{{path|serio2}}; it stops at {{path|serio0}}. &lt;br /&gt;
&lt;br /&gt;
Same thing on a {{Ubuntu}} Dapper install on an {{X31}}, again with kernel 2.6.15 (maybe that's the reason? [[User:Piccobello|Piccobello]] 17:02, 26 November 2006 (CET)).&lt;br /&gt;
&lt;br /&gt;
2006-07-18&lt;br /&gt;
On {{Fedora}} 5, with kernels 2.6.16 and forward, the path is {{path|/sys/devices/platform/i8042/serio0/serio2}}&lt;br /&gt;
&lt;br /&gt;
2005-11-07&lt;br /&gt;
OpenSuSE 10.0 has a kernel based on 2.6.13 (probably heavily patched), but the directory /sys/devices/platform/i8042/serio0/serio2 does not exist.&lt;br /&gt;
instead, it looks like this:&lt;br /&gt;
 hoppetosse:/sys/devices/platform/i8042/serio0 # ls -l&lt;br /&gt;
 total 0&lt;br /&gt;
 -rw-r--r--  1 root root 4096 Nov  7 18:38 bind_mode&lt;br /&gt;
 lrwxrwxrwx  1 root root    0 Nov  7 18:38 bus -&amp;gt; ../../../../bus/serio&lt;br /&gt;
 -r--r--r--  1 root root 4096 Nov  7 18:38 description&lt;br /&gt;
 lrwxrwxrwx  1 root root    0 Nov  7 18:38 driver -&amp;gt; ../../../../bus/serio/drivers/psmouse&lt;br /&gt;
 --w-------  1 root root 4096 Nov  7 18:38 drvctl&lt;br /&gt;
 drwxr-xr-x  2 root root    0 Nov  7 18:38 id&lt;br /&gt;
 -r--r--r--  1 root root 4096 Nov  7 18:38 modalias&lt;br /&gt;
 drwxr-xr-x  2 root root    0 Nov  7 18:38 power&lt;br /&gt;
 -rw-r--r--  1 root root 4096 Nov  7 18:38 protocol&lt;br /&gt;
 -rw-r--r--  1 root root 4096 Nov  7 18:38 rate&lt;br /&gt;
 -rw-r--r--  1 root root 4096 Nov  7 18:38 resetafter&lt;br /&gt;
 -rw-r--r--  1 root root 4096 Nov  7 18:38 resolution&lt;br /&gt;
&amp;quot;description&amp;quot; says it's an &amp;quot;i8042 Aux Port&amp;quot;. The page [[Patch to enable advanced trackpoint configuration]] seems to imply that a kernel patch is needed in order to get those features... this needs clarification.&lt;br /&gt;
hmm. where can i find out whether &amp;quot;drvctrl&amp;quot; is what i'm looking for and what options it takes? guess it's back to RTFS...&lt;br /&gt;
&lt;br /&gt;
2005-10-06&lt;br /&gt;
It seems that new version of the patch ( 2.6.12 at least ), the press to select entry in /sys is named &amp;quot;press_to_select&amp;quot; and not &amp;quot;ptson&amp;quot;. I changed the page accordingly so that it complies with the [[Patch to enable advanced trackpoint configuration]] page.&lt;br /&gt;
If you use an older version try :&lt;br /&gt;
&lt;br /&gt;
====Press to Select====&lt;br /&gt;
Press to Select allows you to tap the control stick which will simulate a left click. You can enable this feature by typing the following in to a terminal (you may need to be root):&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|echo 1 &amp;gt; /sys/devices/platform/i8042/serio0/ptson}}&lt;br /&gt;
&lt;br /&gt;
Press to Select should now be enabled. You can disable it in a similar manner:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|echo 0 &amp;gt; /sys/devices/platform/i8042/serio0/ptson}}&lt;br /&gt;
&lt;br /&gt;
Where do I have to put this script (which should automate this), so that it is executed on startup (I have kubuntu (feisty) runing)? Samba&lt;br /&gt;
&lt;br /&gt;
Now I have Intrepid with the new X.org running. I could not find any source how to configure press to select with this X.org version. Can anybody help? Samba&lt;br /&gt;
&lt;br /&gt;
I found out it still work the old way, even with new X.org, for kubuntu jaunty the correct way of doing this is: &lt;br /&gt;
&amp;quot;echo -n 1| sudo tee /sys/devices/platform/i8042/serio1/press_to_select&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== No mouse in {{Fedora}} Core 6 ====&lt;br /&gt;
FC6 makes an X11/xorg.conf file with no mouse section, so it's not clear how to make the TrackPoint work for scrolling. Any ideas? --[[User:Whizkid|Whizkid]] 17:36, 4 December 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
==== TrackPoint scrolling inverted in Firefox ====&lt;br /&gt;
Running Ubuntu Feisty, Firefox 2.0.0.3, I edited /etc/X11/xorg.conf like described in the article and set mousewheel.horizscroll.withnokey.action = 0; in Firefox.&lt;br /&gt;
Scrolling works perfectly in other applications. Up-Down scrolling in Firefox, too, but right-left is inverted (only in Firefox). Does anybody have an idea why this could be? [[User:Tec|Tec]] 11:15, 30 March 2007 (CEST)&lt;br /&gt;
&lt;br /&gt;
Yes: you have to configure mousewheel.horizscroll.withnokey.numlines as well. I have the value set to 1, but you may need to set it to -1.&lt;br /&gt;
There is also a mousewheel.horizscroll.withnokey.sysnumlines setting, which you must set to false. --[[User:RichardNeill|RichardNeill]] 03:22, 4 April 2007 (CEST)&lt;br /&gt;
&lt;br /&gt;
Thanks a lot. mousewheel.horizscroll.withnokey.sysnumlines was set to false correctly, but mousewheel.horizscroll.withnokey.numlines was set to -1 as a standard setting. Switched to 1 and it works perfectly :-) BTW, is there a good explanation available in the net, what all those parameters of about:config mean? I searched for it and didn't find anything :-( [[User:Tec|Tec]]&lt;br /&gt;
&lt;br /&gt;
==== Sensitivity and Speed settings under Gutsy Gibbon ====&lt;br /&gt;
&lt;br /&gt;
Sensitivity and speed value editing seem broken in gutsy.&lt;br /&gt;
Its no writeable even as root. Tools like configure-trackpoint do not start arguing a lack of root tights.&lt;br /&gt;
&lt;br /&gt;
:Hm, I just installed the deb 0.6-1 available at sourceforge and sudo configure-trackback works for me. Maybe you'd better ask in some forum or file a bug to find out why it's not working on your machine? [[User:Tec|Tec]]&lt;br /&gt;
&lt;br /&gt;
::I confirm that even root can not edit the config files with an editor (vim or nano). But the echo &amp;gt; file works fine.&lt;br /&gt;
::{{cmdroot|echo -n 120 &amp;gt; /sys/devices/platform/i8042/serio1/serio2/speed}}&lt;br /&gt;
:: I have put these echo in a script executed by root at bootime with a @reboot entry in the root's crontab. Should also work with a call to that script in /etc/bootmisc.sh&lt;br /&gt;
::[[User:Ripat|Ripat]] 10:20, 6 January 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
:::Same on my machine. Config files are not writable with an editor, but echo &amp;gt; file works. {{cmduser|sudo configure-trackpoint}} works, too (sorry, I misspelled this before) [[User:Tec|Tec]] 16:00, 12 January 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
== No scroll in Ubuntu 7.10 without UltraNav installed in Windows Vista ==&lt;br /&gt;
&lt;br /&gt;
I could not get trackpoint scroll working in Ubuntu 7.10 (Gutsy Gibbon) on my Z61t using the xorg.conf modifications listed here until I installed the UltraNav Utility on Windows Vista (dual-boot configuration).  Scrolling worked fine without the UltraNav utility and with just the UltraNav driver on Windows.  It's weird to me that installing the UltraNav utility in Vista would have an effect on Ubuntu.  (I know it's not a coincidence because I ran into it once before.)  Any explanation for this strangeness?&lt;br /&gt;
--[[User:Threexk|Threexk]] 04:05, 18 February 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
== press to select: new mouse button ==&lt;br /&gt;
&lt;br /&gt;
is it possible to put the z axis button (aka pressing the stick) on another x mouse button (and, further on, set EmulateWheelButton to that button)? i use all three buttons both for clicking and dragging and lack a scroll wheel; having the mouse send scroll events when z axis button is pressed instead of moving the mouse would provide that without damaging the other buttons' functionalities. --[[User:Webograph|Webograph]] 12:58, 4 March 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== outdated and broken ==&lt;br /&gt;
&lt;br /&gt;
This document is severely outdated and broken. The path to the trackpoint configuration has changed many times, in fact the latest points to /sys/devices/platform/i8042/serio0/serio2 but on my T41 with Ubuntu 8.10 i8042/serio0 is the keyboard (makes sense), the trackpoint is instead located under i8042/serio1/serio2&lt;br /&gt;
&lt;br /&gt;
Problem is that it is difficult to gauge which sections are still relevant&lt;br /&gt;
&lt;br /&gt;
== Soft Transparent Mode ==&lt;br /&gt;
&lt;br /&gt;
I removed the below section from the main article page, as there is no 'transparent' sysfs file on my ThinkPad T41 or ThinkPad T60. Which can mean that either the feature was removed from modern kernels, or it is unique to specific ThinkPads in which case this needs to be clarified.&lt;br /&gt;
&lt;br /&gt;
If you wish to connect a special device to the external PS/2 port, you should consider using &amp;quot;Soft Transparent Mode&amp;quot; so that the TrackPoint controller does not interpret any commands sent to the external PS/2 port. You can enable soft transparent mode by typing the following in to a terminal:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|echo -n 1 &amp;gt; /sys/devices/platform/i8042/serio1/serio2/transparent}}&lt;br /&gt;
&lt;br /&gt;
Disabling soft transparent mode is similar:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|echo -n 0 &amp;gt; /sys/devices/platform/i8042/serio1/serio2/transparent}}&lt;br /&gt;
&lt;br /&gt;
== settings example ==&lt;br /&gt;
&lt;br /&gt;
These are the best settings that i've found for the trackpoint&lt;br /&gt;
(very usable for press-to-select and drag&amp;amp;drop):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
TRACK_DIR=&amp;quot;/sys/devices/platform/i8042/serio1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo -n 1   &amp;gt; $TRACK_DIR/press_to_select&lt;br /&gt;
echo -n 220 &amp;gt; $TRACK_DIR/sensitivity                                            &lt;br /&gt;
echo -n 20  &amp;gt; $TRACK_DIR/ztime                                                  &lt;br /&gt;
echo -n 4   &amp;gt; $TRACK_DIR/thresh                                                 &lt;br /&gt;
echo -n 8   &amp;gt; $TRACK_DIR/upthresh                                               &lt;br /&gt;
echo -n 100 &amp;gt; $TRACK_DIR/resolution                                             &lt;br /&gt;
echo -n 105 &amp;gt; $TRACK_DIR/speed                                                  &lt;br /&gt;
echo -n 10  &amp;gt; $TRACK_DIR/mindrag&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Horizontal Scrolling in HAL ==&lt;br /&gt;
&lt;br /&gt;
The current [[How to configure the TrackPoint#Configuration using udev and HAL|section]] talks about vertical scrolling and gives an example of an appropriate HAL policy file to enable it. According to [http://psung.blogspot.com/2008/09/scrolling-with-thinkpads-trackpoint-in.html this website], a small modification to the example .fdi file offers horizontal scrolling as well (and indeed it works for me too). Should I add this to the page?--[[User:RAult|RAult]] 09:30, 30 July 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Thanks, I have added it to the main page. --[[User:Tonko|Tonko]] 11:41, 31 July 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Upcoming hotplug method: xorg.conf.d ==&lt;br /&gt;
&lt;br /&gt;
Instead using the udev-method, the Ubuntu devs backported xorg.conf.d support for Ubuntu 10.04 Lucid Lynx. Just create a file '''/usr/lib/X11/xorg.conf.d/20-thinkpad.conf''' with following contents:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Section &amp;quot;InputClass&amp;quot;&lt;br /&gt;
	Identifier	&amp;quot;Trackpoint Wheel Emulation&amp;quot;&lt;br /&gt;
	MatchProduct	&amp;quot;TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint&amp;quot;&lt;br /&gt;
	MatchDevicePath	&amp;quot;/dev/input/event*&amp;quot;&lt;br /&gt;
	Option		&amp;quot;EmulateWheel&amp;quot;		&amp;quot;true&amp;quot;&lt;br /&gt;
	Option		&amp;quot;EmulateWheelButton&amp;quot;	&amp;quot;2&amp;quot;&lt;br /&gt;
	Option		&amp;quot;Emulate3Buttons&amp;quot;	&amp;quot;false&amp;quot;&lt;br /&gt;
	Option		&amp;quot;XAxisMapping&amp;quot;		&amp;quot;6 7&amp;quot;&lt;br /&gt;
	Option		&amp;quot;YAxisMapping&amp;quot;		&amp;quot;4 5&amp;quot;&lt;br /&gt;
EndSection&lt;br /&gt;
&amp;lt;/pre&amp;gt;--[[User:Jensel|jensel]] 13:01, 14 April 2010 (UTC)&lt;br /&gt;
==xinput advice wrong==&lt;br /&gt;
 $ xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation Timeout&amp;quot; 8 200&lt;br /&gt;
 X Error of failed request:  BadMatch (invalid parameter attributes)&lt;br /&gt;
  Major opcode of failed request:  140 (XInputExtension)&lt;br /&gt;
  Minor opcode of failed request:  57 ()&lt;br /&gt;
  Serial number of failed request:  18&lt;br /&gt;
  Current serial number in output stream:  19&lt;br /&gt;
[[User:Jidanni|Jidanni]] 13:05, 11 July 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== To enable vertical scrolling: using what? ==&lt;br /&gt;
&lt;br /&gt;
 To enable vertical scrolling&lt;br /&gt;
Say what we then push, and how long to make vertical scrolling a reality.&lt;br /&gt;
[[User:Jidanni|Jidanni]] 13:12, 11 July 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>Jidanni</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:How_to_configure_the_TrackPoint&amp;diff=49008</id>
		<title>Talk:How to configure the TrackPoint</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:How_to_configure_the_TrackPoint&amp;diff=49008"/>
		<updated>2010-07-11T13:05:36Z</updated>

		<summary type="html">&lt;p&gt;Jidanni: xinput wrong&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==== Enable/disable touchpad ====&lt;br /&gt;
As for now, the 3 buttons are disabled when you disable the touchpad. The patch provided at [[UltraNav]] correct this.&lt;br /&gt;
&lt;br /&gt;
Another problem is the back-forward buttons that are also associated to the touchpad as button1 and button2. Another hack to alps.c can resolve this problem, but its too much of a bad hack to be approved in kernel as it might break other devices.&lt;br /&gt;
The following patch assign the 3 mouse buttons to the trackpoint (as with the above one) and the back-forward buttons as well. They will be reported as Button8 and Button9 by xorg, imitating the behavior of my Intellimouse explorer, and making them available when the track point is disabled. http://pastebin.com/fa8ed909&lt;br /&gt;
&lt;br /&gt;
Now to enable/disable the trackpoint easily, make sure the fn-f8 key is recognized by xorg (using xev). For sl (300 at least) models, it involves building the lenovo-sl-laptop module (http://github.com/tetromino/lenovo-sl-laptop/tree/master, archlinux package availible in AUR).&lt;br /&gt;
&lt;br /&gt;
This script (http://pastebin.com/f157355d6) allow easy switching between active/inactive state. It uses the synaptic X11 driver. A notification is sent using kdialog, you can change that of course.&lt;br /&gt;
Now execute this script on key event. For kde, go to input actions.&lt;br /&gt;
&lt;br /&gt;
[[User:cghislai]]&lt;br /&gt;
&lt;br /&gt;
==== /sys-configuration files ====&lt;br /&gt;
where can i find documentation of the other files (thresh, upthresh, skipback, reach, inertia...)? [[User:Blerp|Blerp]] 01:01, 9 March 2007 (CET)&lt;br /&gt;
:I second that question. --[[User:Telofy|Telofy]] 18:11, 31 December 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==== shifting /sys-paths ====&lt;br /&gt;
2007-03-13&lt;br /&gt;
On my Thinkpad R60 with kernel 2.6.20, the path is {{path|/sys/devices/platform/i8042/serio1/serio2}}.&lt;br /&gt;
&lt;br /&gt;
On {{Fedora}} 5, with kernels 2.6.15 and forward, the path does not include &lt;br /&gt;
{{path|serio2}}; it stops at {{path|serio0}}. &lt;br /&gt;
&lt;br /&gt;
Same thing on a {{Ubuntu}} Dapper install on an {{X31}}, again with kernel 2.6.15 (maybe that's the reason? [[User:Piccobello|Piccobello]] 17:02, 26 November 2006 (CET)).&lt;br /&gt;
&lt;br /&gt;
2006-07-18&lt;br /&gt;
On {{Fedora}} 5, with kernels 2.6.16 and forward, the path is {{path|/sys/devices/platform/i8042/serio0/serio2}}&lt;br /&gt;
&lt;br /&gt;
2005-11-07&lt;br /&gt;
OpenSuSE 10.0 has a kernel based on 2.6.13 (probably heavily patched), but the directory /sys/devices/platform/i8042/serio0/serio2 does not exist.&lt;br /&gt;
instead, it looks like this:&lt;br /&gt;
 hoppetosse:/sys/devices/platform/i8042/serio0 # ls -l&lt;br /&gt;
 total 0&lt;br /&gt;
 -rw-r--r--  1 root root 4096 Nov  7 18:38 bind_mode&lt;br /&gt;
 lrwxrwxrwx  1 root root    0 Nov  7 18:38 bus -&amp;gt; ../../../../bus/serio&lt;br /&gt;
 -r--r--r--  1 root root 4096 Nov  7 18:38 description&lt;br /&gt;
 lrwxrwxrwx  1 root root    0 Nov  7 18:38 driver -&amp;gt; ../../../../bus/serio/drivers/psmouse&lt;br /&gt;
 --w-------  1 root root 4096 Nov  7 18:38 drvctl&lt;br /&gt;
 drwxr-xr-x  2 root root    0 Nov  7 18:38 id&lt;br /&gt;
 -r--r--r--  1 root root 4096 Nov  7 18:38 modalias&lt;br /&gt;
 drwxr-xr-x  2 root root    0 Nov  7 18:38 power&lt;br /&gt;
 -rw-r--r--  1 root root 4096 Nov  7 18:38 protocol&lt;br /&gt;
 -rw-r--r--  1 root root 4096 Nov  7 18:38 rate&lt;br /&gt;
 -rw-r--r--  1 root root 4096 Nov  7 18:38 resetafter&lt;br /&gt;
 -rw-r--r--  1 root root 4096 Nov  7 18:38 resolution&lt;br /&gt;
&amp;quot;description&amp;quot; says it's an &amp;quot;i8042 Aux Port&amp;quot;. The page [[Patch to enable advanced trackpoint configuration]] seems to imply that a kernel patch is needed in order to get those features... this needs clarification.&lt;br /&gt;
hmm. where can i find out whether &amp;quot;drvctrl&amp;quot; is what i'm looking for and what options it takes? guess it's back to RTFS...&lt;br /&gt;
&lt;br /&gt;
2005-10-06&lt;br /&gt;
It seems that new version of the patch ( 2.6.12 at least ), the press to select entry in /sys is named &amp;quot;press_to_select&amp;quot; and not &amp;quot;ptson&amp;quot;. I changed the page accordingly so that it complies with the [[Patch to enable advanced trackpoint configuration]] page.&lt;br /&gt;
If you use an older version try :&lt;br /&gt;
&lt;br /&gt;
====Press to Select====&lt;br /&gt;
Press to Select allows you to tap the control stick which will simulate a left click. You can enable this feature by typing the following in to a terminal (you may need to be root):&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|echo 1 &amp;gt; /sys/devices/platform/i8042/serio0/ptson}}&lt;br /&gt;
&lt;br /&gt;
Press to Select should now be enabled. You can disable it in a similar manner:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|echo 0 &amp;gt; /sys/devices/platform/i8042/serio0/ptson}}&lt;br /&gt;
&lt;br /&gt;
Where do I have to put this script (which should automate this), so that it is executed on startup (I have kubuntu (feisty) runing)? Samba&lt;br /&gt;
&lt;br /&gt;
Now I have Intrepid with the new X.org running. I could not find any source how to configure press to select with this X.org version. Can anybody help? Samba&lt;br /&gt;
&lt;br /&gt;
I found out it still work the old way, even with new X.org, for kubuntu jaunty the correct way of doing this is: &lt;br /&gt;
&amp;quot;echo -n 1| sudo tee /sys/devices/platform/i8042/serio1/press_to_select&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== No mouse in {{Fedora}} Core 6 ====&lt;br /&gt;
FC6 makes an X11/xorg.conf file with no mouse section, so it's not clear how to make the TrackPoint work for scrolling. Any ideas? --[[User:Whizkid|Whizkid]] 17:36, 4 December 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
==== TrackPoint scrolling inverted in Firefox ====&lt;br /&gt;
Running Ubuntu Feisty, Firefox 2.0.0.3, I edited /etc/X11/xorg.conf like described in the article and set mousewheel.horizscroll.withnokey.action = 0; in Firefox.&lt;br /&gt;
Scrolling works perfectly in other applications. Up-Down scrolling in Firefox, too, but right-left is inverted (only in Firefox). Does anybody have an idea why this could be? [[User:Tec|Tec]] 11:15, 30 March 2007 (CEST)&lt;br /&gt;
&lt;br /&gt;
Yes: you have to configure mousewheel.horizscroll.withnokey.numlines as well. I have the value set to 1, but you may need to set it to -1.&lt;br /&gt;
There is also a mousewheel.horizscroll.withnokey.sysnumlines setting, which you must set to false. --[[User:RichardNeill|RichardNeill]] 03:22, 4 April 2007 (CEST)&lt;br /&gt;
&lt;br /&gt;
Thanks a lot. mousewheel.horizscroll.withnokey.sysnumlines was set to false correctly, but mousewheel.horizscroll.withnokey.numlines was set to -1 as a standard setting. Switched to 1 and it works perfectly :-) BTW, is there a good explanation available in the net, what all those parameters of about:config mean? I searched for it and didn't find anything :-( [[User:Tec|Tec]]&lt;br /&gt;
&lt;br /&gt;
==== Sensitivity and Speed settings under Gutsy Gibbon ====&lt;br /&gt;
&lt;br /&gt;
Sensitivity and speed value editing seem broken in gutsy.&lt;br /&gt;
Its no writeable even as root. Tools like configure-trackpoint do not start arguing a lack of root tights.&lt;br /&gt;
&lt;br /&gt;
:Hm, I just installed the deb 0.6-1 available at sourceforge and sudo configure-trackback works for me. Maybe you'd better ask in some forum or file a bug to find out why it's not working on your machine? [[User:Tec|Tec]]&lt;br /&gt;
&lt;br /&gt;
::I confirm that even root can not edit the config files with an editor (vim or nano). But the echo &amp;gt; file works fine.&lt;br /&gt;
::{{cmdroot|echo -n 120 &amp;gt; /sys/devices/platform/i8042/serio1/serio2/speed}}&lt;br /&gt;
:: I have put these echo in a script executed by root at bootime with a @reboot entry in the root's crontab. Should also work with a call to that script in /etc/bootmisc.sh&lt;br /&gt;
::[[User:Ripat|Ripat]] 10:20, 6 January 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
:::Same on my machine. Config files are not writable with an editor, but echo &amp;gt; file works. {{cmduser|sudo configure-trackpoint}} works, too (sorry, I misspelled this before) [[User:Tec|Tec]] 16:00, 12 January 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
== No scroll in Ubuntu 7.10 without UltraNav installed in Windows Vista ==&lt;br /&gt;
&lt;br /&gt;
I could not get trackpoint scroll working in Ubuntu 7.10 (Gutsy Gibbon) on my Z61t using the xorg.conf modifications listed here until I installed the UltraNav Utility on Windows Vista (dual-boot configuration).  Scrolling worked fine without the UltraNav utility and with just the UltraNav driver on Windows.  It's weird to me that installing the UltraNav utility in Vista would have an effect on Ubuntu.  (I know it's not a coincidence because I ran into it once before.)  Any explanation for this strangeness?&lt;br /&gt;
--[[User:Threexk|Threexk]] 04:05, 18 February 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
== press to select: new mouse button ==&lt;br /&gt;
&lt;br /&gt;
is it possible to put the z axis button (aka pressing the stick) on another x mouse button (and, further on, set EmulateWheelButton to that button)? i use all three buttons both for clicking and dragging and lack a scroll wheel; having the mouse send scroll events when z axis button is pressed instead of moving the mouse would provide that without damaging the other buttons' functionalities. --[[User:Webograph|Webograph]] 12:58, 4 March 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== outdated and broken ==&lt;br /&gt;
&lt;br /&gt;
This document is severely outdated and broken. The path to the trackpoint configuration has changed many times, in fact the latest points to /sys/devices/platform/i8042/serio0/serio2 but on my T41 with Ubuntu 8.10 i8042/serio0 is the keyboard (makes sense), the trackpoint is instead located under i8042/serio1/serio2&lt;br /&gt;
&lt;br /&gt;
Problem is that it is difficult to gauge which sections are still relevant&lt;br /&gt;
&lt;br /&gt;
== Soft Transparent Mode ==&lt;br /&gt;
&lt;br /&gt;
I removed the below section from the main article page, as there is no 'transparent' sysfs file on my ThinkPad T41 or ThinkPad T60. Which can mean that either the feature was removed from modern kernels, or it is unique to specific ThinkPads in which case this needs to be clarified.&lt;br /&gt;
&lt;br /&gt;
If you wish to connect a special device to the external PS/2 port, you should consider using &amp;quot;Soft Transparent Mode&amp;quot; so that the TrackPoint controller does not interpret any commands sent to the external PS/2 port. You can enable soft transparent mode by typing the following in to a terminal:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|echo -n 1 &amp;gt; /sys/devices/platform/i8042/serio1/serio2/transparent}}&lt;br /&gt;
&lt;br /&gt;
Disabling soft transparent mode is similar:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|echo -n 0 &amp;gt; /sys/devices/platform/i8042/serio1/serio2/transparent}}&lt;br /&gt;
&lt;br /&gt;
== settings example ==&lt;br /&gt;
&lt;br /&gt;
These are the best settings that i've found for the trackpoint&lt;br /&gt;
(very usable for press-to-select and drag&amp;amp;drop):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
TRACK_DIR=&amp;quot;/sys/devices/platform/i8042/serio1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo -n 1   &amp;gt; $TRACK_DIR/press_to_select&lt;br /&gt;
echo -n 220 &amp;gt; $TRACK_DIR/sensitivity                                            &lt;br /&gt;
echo -n 20  &amp;gt; $TRACK_DIR/ztime                                                  &lt;br /&gt;
echo -n 4   &amp;gt; $TRACK_DIR/thresh                                                 &lt;br /&gt;
echo -n 8   &amp;gt; $TRACK_DIR/upthresh                                               &lt;br /&gt;
echo -n 100 &amp;gt; $TRACK_DIR/resolution                                             &lt;br /&gt;
echo -n 105 &amp;gt; $TRACK_DIR/speed                                                  &lt;br /&gt;
echo -n 10  &amp;gt; $TRACK_DIR/mindrag&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Horizontal Scrolling in HAL ==&lt;br /&gt;
&lt;br /&gt;
The current [[How to configure the TrackPoint#Configuration using udev and HAL|section]] talks about vertical scrolling and gives an example of an appropriate HAL policy file to enable it. According to [http://psung.blogspot.com/2008/09/scrolling-with-thinkpads-trackpoint-in.html this website], a small modification to the example .fdi file offers horizontal scrolling as well (and indeed it works for me too). Should I add this to the page?--[[User:RAult|RAult]] 09:30, 30 July 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Thanks, I have added it to the main page. --[[User:Tonko|Tonko]] 11:41, 31 July 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Upcoming hotplug method: xorg.conf.d ==&lt;br /&gt;
&lt;br /&gt;
Instead using the udev-method, the Ubuntu devs backported xorg.conf.d support for Ubuntu 10.04 Lucid Lynx. Just create a file '''/usr/lib/X11/xorg.conf.d/20-thinkpad.conf''' with following contents:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Section &amp;quot;InputClass&amp;quot;&lt;br /&gt;
	Identifier	&amp;quot;Trackpoint Wheel Emulation&amp;quot;&lt;br /&gt;
	MatchProduct	&amp;quot;TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint&amp;quot;&lt;br /&gt;
	MatchDevicePath	&amp;quot;/dev/input/event*&amp;quot;&lt;br /&gt;
	Option		&amp;quot;EmulateWheel&amp;quot;		&amp;quot;true&amp;quot;&lt;br /&gt;
	Option		&amp;quot;EmulateWheelButton&amp;quot;	&amp;quot;2&amp;quot;&lt;br /&gt;
	Option		&amp;quot;Emulate3Buttons&amp;quot;	&amp;quot;false&amp;quot;&lt;br /&gt;
	Option		&amp;quot;XAxisMapping&amp;quot;		&amp;quot;6 7&amp;quot;&lt;br /&gt;
	Option		&amp;quot;YAxisMapping&amp;quot;		&amp;quot;4 5&amp;quot;&lt;br /&gt;
EndSection&lt;br /&gt;
&amp;lt;/pre&amp;gt;--[[User:Jensel|jensel]] 13:01, 14 April 2010 (UTC)&lt;br /&gt;
==xinput advice wrong==&lt;br /&gt;
 $ xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation Timeout&amp;quot; 8 200&lt;br /&gt;
 X Error of failed request:  BadMatch (invalid parameter attributes)&lt;br /&gt;
  Major opcode of failed request:  140 (XInputExtension)&lt;br /&gt;
  Minor opcode of failed request:  57 ()&lt;br /&gt;
  Serial number of failed request:  18&lt;br /&gt;
  Current serial number in output stream:  19&lt;br /&gt;
[[User:Jidanni|Jidanni]] 13:05, 11 July 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>Jidanni</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=BIOS_Upgrade&amp;diff=45552</id>
		<title>BIOS Upgrade</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=BIOS_Upgrade&amp;diff=45552"/>
		<updated>2010-02-04T03:17:49Z</updated>

		<summary type="html">&lt;p&gt;Jidanni: proper example.&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;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
This page is meant to describe ways to update the BIOS on a ThinkPad that only runs Linux for users that don't have ready access to Windows. If you have Windows on your ThinkPad you can just boot into it and follow instructions on the Lenovo website.&lt;br /&gt;
&lt;br /&gt;
Updating the BIOS in Linux (with few exceptions) '''is not officially supported''' by Lenovo.  However there are work arounds.&lt;br /&gt;
&lt;br /&gt;
{{WARN|By following any of the instructions here you are accepting the '''very real risk''' of turning your ThinkPad into a big expensive paper weight, as a firmware update gone wrong can create unfix-able problems.&lt;br /&gt;
&lt;br /&gt;
'''Proceed at your own risk!'''}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Downloading New Firmware =&lt;br /&gt;
{{WARN|Flashing the wrong firmware for your hardware may cause permanent damage to your ThinkPad.  It is up to you to confirm that the firmware you are using is correct.}}&lt;br /&gt;
&lt;br /&gt;
A list of links to firmware downloads can be found at [[BIOS Upgrade Downloads]] for most Thinkpad models.  You can also check the Lenovo Support website's [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=TPAD-MATRIX|ThinkPad driver matrix].&lt;br /&gt;
&lt;br /&gt;
Lenovo provides firmware upgrades in a variety of packages:&lt;br /&gt;
* Diskette&lt;br /&gt;
* Non-diskette&lt;br /&gt;
* Linux diskette&lt;br /&gt;
* BIOS Utility&lt;br /&gt;
* Bootable CD&lt;br /&gt;
&lt;br /&gt;
Not every type of package is available for every model.&lt;br /&gt;
&lt;br /&gt;
The ''BIOS Utility'' and ''Bootable CD'' packages combine the BIOS and ECP firmwares.  For the other packages, there is one for each firmware.&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; style=&amp;quot;width:20em;&amp;quot;&lt;br /&gt;
| {{HELP|Can an image be extracted from a &amp;quot;Linux diskette&amp;quot; .exe file?}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The ''Linux diskette'' is just the ''Diskette'' package that runs on Linux instead of Windows/DOS.  It's unknown if a boot image can be extracted from it.  &lt;br /&gt;
&lt;br /&gt;
You may need to try different packages to find the one from which you can extract a boot image.&lt;br /&gt;
&lt;br /&gt;
== Two Firmwares: BIOS and ECP ==&lt;br /&gt;
{{WARN|Flashing incompatible firmwares, or flashing them in the wrong order, may cause permanent damage to your ThinkPad.}}&lt;br /&gt;
&lt;br /&gt;
It is important to understand that Thinkpads from IBM have two separate firmwares: the BIOS, and the Embedded Controller Program (ECP).&lt;br /&gt;
&lt;br /&gt;
A given BIOS version will require a certain version of the ECP.  You must read the Lenovo website and/or .txt files to confirm which BIOS is compatible with which ECP, and '''the order in which to update them'''.  &lt;br /&gt;
&lt;br /&gt;
=== Update Order ===&lt;br /&gt;
&lt;br /&gt;
The IBM documentation is sometimes unclear about the order in which these two firmwares should be updated.  When in doubt (i.e. IBM didn't provide specific instructions for your model or a particular firmware update), '''update the ECP first, and then the BIOS'''.  Also, make sure to do the two updates '''immediately one after the other'''.&lt;br /&gt;
&lt;br /&gt;
The EC firmware is usually much better at backwards compatibility than the BIOS.&lt;br /&gt;
&lt;br /&gt;
(Updaters for newer models take care of both BIOS and EC, and use automatically whatever sequence is needed, so you don't have to worry about it.)&lt;br /&gt;
&lt;br /&gt;
== Installed Firmware ==&lt;br /&gt;
You can check the current BIOS and ECP versions on your ThinkPad by using '''dmidecode'''. For example:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|dmidecode -s bios-version}}&lt;br /&gt;
&lt;br /&gt;
 1RETDRWW (3.23 )&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|dmidecode -t 11}}&lt;br /&gt;
&lt;br /&gt;
 # dmidecode 2.9&lt;br /&gt;
 SMBIOS 2.33 present.&lt;br /&gt;
 Handle 0x0029, DMI type 11, 5 bytes&lt;br /&gt;
 OEM Strings&lt;br /&gt;
         String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&lt;br /&gt;
&lt;br /&gt;
Showing BIOS version 3.23 (1RETDRWW) and ECP version 3.04 (1RHT71WW).&lt;br /&gt;
&lt;br /&gt;
===DMI IDs===&lt;br /&gt;
Please consider updating the [[List of DMI IDs]] before (and after) updating your BIOS.&lt;br /&gt;
&lt;br /&gt;
= Updating Firmware =&lt;br /&gt;
&lt;br /&gt;
There are two basic steps to updating the firmware (either the BIOS or the ECP) on a ThinkPad not running Windows:&lt;br /&gt;
# Extract a bootable update image&lt;br /&gt;
# Boot from that image&lt;br /&gt;
&lt;br /&gt;
== Extracting an update image ==&lt;br /&gt;
{{WARN|Though this process has been successfully tested on many versions of .exe files found on IBMs website, that doesn't mean it will work for all of them.  '''Proceed at your own risk'''.  Consult the testing tables farther down of this page to see other users' experience with your model Thinkpad.}}&lt;br /&gt;
The various .exe installers from Lenovo all appear to be just a wrapper license program around Windows .cab files (see [[How_to_change_the_BIOS_bootsplash_screen|BIOS-Bootsplash]]).  If you install the Linux program [http://freshmeat.net/projects/cabextract/ '''cabextract'''] you can expand these .cab files directly.  For example, if you downloaded {{path|1iuj13us.exe}} from Lenovo:&lt;br /&gt;
&lt;br /&gt;
:{{cmduser|cabextract 1iuj13us.exe}}&lt;br /&gt;
&lt;br /&gt;
 Extracting cabinet: 1iuj13us.exe&lt;br /&gt;
  extracting 1IUJ13US.IMG&lt;br /&gt;
  extracting BIOSUPTP.EXE&lt;br /&gt;
  extracting DOBOOT.EXE&lt;br /&gt;
  extracting DOSBOOT.COM&lt;br /&gt;
  extracting DOSBOOT.SYS&lt;br /&gt;
  extracting DOSBOOT.VXD&lt;br /&gt;
  extracting DOSBOOT2.COM&lt;br /&gt;
  extracting ECTLUPTP.EXE&lt;br /&gt;
  extracting EFLASHAS.SYS&lt;br /&gt;
  extracting HDFWUPTP.EXE&lt;br /&gt;
  extracting IBMTPI.XML&lt;br /&gt;
 All done, no errors.&lt;br /&gt;
&lt;br /&gt;
The file we want is '''FILENAME.IMG''', with &amp;quot;FILENAME&amp;quot; being the .exe. you downloaded.  E.g., {{path|1IUJ13US.IMG}}.&lt;br /&gt;
&lt;br /&gt;
(If this does not work for the Non-diskette .exe, try it on the Diskette .exe.  It's reported, for example, that the Non-diskette .exe for BIOS version 3.23 for the T41p was not extractable, but the Diskette .exe worked perfectly, with {{cmduser|cabextract}} delivering a .IMG file.)&lt;br /&gt;
&lt;br /&gt;
==== Testing the Image ====&lt;br /&gt;
&lt;br /&gt;
You can test that FILENAME.IMG is really a floppy image by running:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|mkdir /tmp/mntfloppy}}&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|mount -o loop FILENAME.IMG /tmp/mntfloppy}}&lt;br /&gt;
&lt;br /&gt;
If a '''ls''' command on the image returns what looks like a DOS floppy, and no read errors were displayed, you have a pretty good chance that the image is usable.  For example:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|ls /tmp/mntfloppy}}&lt;br /&gt;
 $0195000.FL1  069580.PAT  06d2.HSH     IBMDOS.COM    TPCHKS.EXE&lt;br /&gt;
 0691.HSH      06D0.PAT    06d6.HSH     LOGO.BAT      UPDTFLSH.EXE&lt;br /&gt;
 0691.PAT      06D1.PAT    06d8.HSH     LOGO.SCR      UPDTMN.EXE&lt;br /&gt;
 0694.HSH      06D2.PAT    CHKBMP.EXE   PHLASH16.EXE  USERINT.EXE&lt;br /&gt;
 0694.PAT      06D6.PAT    COMMAND.COM  PREPARE.EXE   UTILINFO.EXE&lt;br /&gt;
 0695.HSH      06D8.PAT    CONFIG.SYS   PROD.dat      lcreflsh.bat&lt;br /&gt;
 0695.PAT      06d0.HSH    FLASH2.EXE   QKFLASH.EXE&lt;br /&gt;
 069580.HSH    06d1.HSH    IBMBIO.COM   README.TXT&lt;br /&gt;
&lt;br /&gt;
Unmount the image after you are done testing:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|umount /tmp/mntfloppy}}&lt;br /&gt;
&lt;br /&gt;
== Booting from update image ==&lt;br /&gt;
Now that you have a bootable image for the correct update for you hardware, you need to do is boot from that image to install the update.&lt;br /&gt;
&lt;br /&gt;
There are different ways to do that:&lt;br /&gt;
* [[#Booting from a CD|Boot from a CD]]&lt;br /&gt;
* [[#Booting_using_GRUB|Boot from the image, using GRUB]]&lt;br /&gt;
* [[#Booting_from_a_floppy|Boot from a floppy]]&lt;br /&gt;
* [[#Booting_from_a_USB_Flash_drive|Boot from a USB Flash drive]]&lt;br /&gt;
&lt;br /&gt;
=== Booting from a CD ===&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; style=&amp;quot;width:40em;&amp;quot;&lt;br /&gt;
|{{HINT|If there is a ''Bootable CD'' image available, e.g., FILENAME.iso, just download that, instead of mucking around with image files.}}&lt;br /&gt;
|}&lt;br /&gt;
If you are going to update the firmware by booting from a CD, you need to turn FILENAME.IMG that you extracted above into an .iso file.&lt;br /&gt;
&lt;br /&gt;
The [http://en.wikipedia.org/wiki/El_Torito_%28CD-ROM_standard%29 El Torito Bootable CD Specification] is a wonderful thing.  Thanks to it, a bootable CD can be made with a bootable floppy image in such as way that the CD believes that it is a 2.88 MB floppy drive.  This allows you to replace a boot floppy by a boot CD in nearly all situations.&lt;br /&gt;
&lt;br /&gt;
It is very easy to create such a bootable CD ISO image in Linux using the '''mkisofs''' tool{{footnote|1}}.  Run a command as follows:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|genisoimage -b 1WUJ25US.IMG -c boot.catalog -o bootcd.iso 1WUJ25US.IMG}} #or older mkisofs&lt;br /&gt;
&lt;br /&gt;
Where *.IMG is the name of the image file extracted above.  This creates a CD with one file on it and marks that file as the boot image.&lt;br /&gt;
&lt;br /&gt;
You can now burn the {{path|bootcd.iso}} to a CD in your favorite CD-burning program.&lt;br /&gt;
{{WARN|By following any of the instructions here you are accepting the '''very real risk''' of turning your ThinkPad into a big expensive paper weight, as a firmware update gone wrong can create unfix-able problems.  '''Proceed at your own risk!'''}}&lt;br /&gt;
&lt;br /&gt;
Boot from the CD to update your firmware.  Remember to have [[BIOS_Upgrade#Two_Firmwares:_BIOS_and_ECP|both BIOS and ECP firmware boot-CDs]] ready, as needed, and use them in the [[#Proper_Order|proper order]].&lt;br /&gt;
&lt;br /&gt;
==== Successful tests ====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; style=&amp;quot;font-size:80%; vertical-align:top;&amp;quot;&lt;br /&gt;
! Model&lt;br /&gt;
! Tested by, and comments&lt;br /&gt;
|-&lt;br /&gt;
| {{600E}} 2645-4AU ||&lt;br /&gt;
* George Tellalov &amp;lt;gtellalov_dontspamme@bigfoot.com&amp;gt;. BIOS 1.16 from spsdin36.exe worked perfectly with the method bootable cd from floppy image. I highly recommend this upgrade because it made my ibm-acpi module load (it wouldn't load before) and fixed some suspend to ram problems. Here's the [http://george.tellalov.info/bios_upgrade_600e_spsdin36.iso cd image] I used. Use at your own risk. You can send me a chocolate if it works for you ;)&lt;br /&gt;
|-&lt;br /&gt;
| {{600E}} 2645-5bU ||&lt;br /&gt;
* Mike Vincent&amp;lt;matchstc-putobvioushere.com&amp;gt;. Bios 1.16 from spsdin36.exe and then to the boot cd worked great for me. Thought I had bricked it three separate times using a &amp;quot;real&amp;quot; floppy! Each from different diskettes .The updater would start, give me the &amp;quot;going to take30 seconds&amp;quot; speech...and then access the HD for 10 minutes. Each time it would reboot fine. Did the cd as described above...worked great first time. Perhaps 10 year old seldom used floppy disc drives have some challenges?&lt;br /&gt;
|-&lt;br /&gt;
| {{600X}} 2645 ||&lt;br /&gt;
* Jonathan Byrne &amp;lt;jonathan@RemoveThisToMailMe.yamame.org&amp;gt;. BIOS 1.11 from spsuit55.exe worked perfectly using cabextract/CD method.&lt;br /&gt;
|-&lt;br /&gt;
| {{600X}} 2645 ||&lt;br /&gt;
* Andy Barnes &amp;lt;andy@RemoveThisToMailMe.itchypaws.co.uk&amp;gt;. As per Jonathan above, extracted BIOS 1.11 from spsuit55.exe using cabextract, created a CD boot image and burnt to CD.  Worked flawlessly - thanks to everyone who contributed to this article!&lt;br /&gt;
|-&lt;br /&gt;
| {{A20p}} 2629-6VU ||&lt;br /&gt;
* Chris Pickett http://www.sable.mcgill.ca/~cpicke/. BIOS 1.11 flashed fine with cabextract/CD method.&lt;br /&gt;
|-&lt;br /&gt;
| {{A21e}} 2628-JXU ||&lt;br /&gt;
* Amit Gurdasani &amp;lt;gurdasani at yahoo dot com&amp;gt;. BIOS 1.13 flashed fine with cabextract/CD method. Alarmingly, after the BIOS update, the laptop beeped but did not shut down as was indicated onscreen -- that was frozen on the &amp;quot;do not shut down the laptop&amp;quot; screen. On power down and up again, the BIOS setup showed the newer BIOS image running, and Linux booted up fine. Linux ACPI didn't complain about the BIOS being too old either.&lt;br /&gt;
|-&lt;br /&gt;
| {{A31p}} 2653 ||&lt;br /&gt;
* Matthias Meinke largeeddy@gmx.at, BIOS 1.09 1NET15WW flashed fine with cabextract/CD method.&lt;br /&gt;
|-&lt;br /&gt;
| {{A31}} 2652 ||&lt;br /&gt;
* [[User:Wnoise|Aaron Denney]], BIOS 1.13 flashed fine with cabextract/CD method.  The cabextract/CD method also worked for BIOS 1.10.&lt;br /&gt;
|-&lt;br /&gt;
| {{R30}} ||&lt;br /&gt;
* Jarrod, 30 August 2007, Thinkpad R30 Type 2656-E0M. BIOS updated to 1.40 (1CETF0WW) using floppy disk/mkisofs/cdrecord. Worked fine, no problems.&lt;br /&gt;
|-&lt;br /&gt;
| {{R31}} ||&lt;br /&gt;
* [http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/1998-January/009743.html Mathias Dalheimer]&lt;br /&gt;
* Sebastian Sauer (with cabextract/CD method)&lt;br /&gt;
|-&lt;br /&gt;
| {{R40}} ||&lt;br /&gt;
* Matthew Lambie, http://lambie.org&lt;br /&gt;
|-&lt;br /&gt;
| {{R50}} 1836-3SU ||&lt;br /&gt;
* jlbartos &amp;lt;jlbartos at hotmail dot com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{R50e}} 1834-PTG ||&lt;br /&gt;
* item &amp;lt;item at freemail dot hu&amp;gt; : successfully finished with cabextract/CD method for &amp;quot;1wuj25us.exe&amp;quot; (BIOS version 1WET90WW (2.10), Release Date: 2006/12/22)&lt;br /&gt;
* Christos Nouskas &amp;lt;nouskas at gmail dot com&amp;gt;: upgraded to BIOS version 1WET90WW (2.10) and EC version 1VHT28WW (1.04) using GRUB (BIOS first / EC second)&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} 1829 ||&lt;br /&gt;
* Robert Uhl &amp;lt;rob dot uhl at gmx dot de&amp;gt;, Jellby &amp;lt;jellby at yahoo dot com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} 1830-RM7 ||&lt;br /&gt;
* Will Parker &amp;lt;stardotstar at sourcepoint dot com dot au&amp;gt; successfully flashed 3.20 using existing 3.04 ECP and retained custom boot splash.&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} 2887 ||&lt;br /&gt;
* Ingo van Lil &amp;lt;inguin at gmx dot de&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} 1858 ||&lt;br /&gt;
* Stuart McCord &amp;lt;stuart dot mccord at gmail dot com&amp;gt; flashed both BIOS and ECP using cabextract, BIOS flashed first as on IBM website&lt;br /&gt;
|-&lt;br /&gt;
| {{T20}} ||&lt;br /&gt;
* Franz Hassels &amp;lt;fhassel at suse dot com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{T22}} ||&lt;br /&gt;
* Daniel Maier &amp;lt;nusse teamidiot de&amp;gt;&lt;br /&gt;
* Mathias Behrle (with cabextract/CD method, Version 1.07 =&amp;gt; 1.12) --[[User:Mathiasb|Mathiasb]] 11:58, 14 December 2006 (CET)&lt;br /&gt;
* Bob Skaroff (cabextract/CD), 1.06 =&amp;gt; 1.12&lt;br /&gt;
* Leo Butler (cabextract/CD), 1.11 =&amp;gt; 1.12&lt;br /&gt;
|-&lt;br /&gt;
| {{T23}} ||&lt;br /&gt;
* Bart Snapp &amp;lt;snapp at uiuc dot edu&amp;gt; Note: I followed IBM's instructions to flash the BIOS '''first''' and the Embedded Controller '''second'''.&lt;br /&gt;
* Moy Easwaran: BIOS 1.18 / EC 1.06a via cabextract and CD-boot.  The BIOS-update exe generated errors in Windows 2000.&lt;br /&gt;
* Joe Renes: BIOS 1.18 / EC 1.06a on 2006-03-20 via cabextract and CD-boot. Piece of cake.&lt;br /&gt;
* Raphael Errani: BIOS 1.20 / EC 1.06a on 2006-11-06 via cabextract and CD-boot (using mkisofs). Worked without errors. 1st Bios, 2nd EC&lt;br /&gt;
* Myron Getman: BIOS 1.20 / EC 1.06a on 9/10/08 via cabextract --&amp;gt; k3b --&amp;gt; CD-boot.  Worked like a charm.  First BIOS update with Linux!&lt;br /&gt;
* Leo Butler: BIOS 1.13 / EC 1.04 to 1.20/1.06a via cabextract and syslinux/memdisk boot through grub. Worked like a charm and no wasted CD.&lt;br /&gt;
|-&lt;br /&gt;
| {{T30}} ||&lt;br /&gt;
* Martin GÃ¼hring &amp;lt;guehring at gmail.com&amp;gt; BIOS 2.10 via cabextract the Non-Diskette BIOS -&amp;gt; mkisofs '''in the directory the exe was extracted''' to generate the iso -&amp;gt; burn the iso -&amp;gt; boot the CD&lt;br /&gt;
|-&lt;br /&gt;
| {{T40}} ||&lt;br /&gt;
* Sean Dague, http://dague.net&lt;br /&gt;
* Justin Mason, http://jmason.org&lt;br /&gt;
* Ivanhoe (Bios 3.19)&lt;br /&gt;
* Alessandro Raulino (roger_2) EC 3.04 &amp;amp; BIOS 3.23 flashed with cabextract/CD method&lt;br /&gt;
* Nick Jenkins, using BIOS 3.23 with the '''Non-diskette updater + cabextract method''', then [[#Creating_a_Bootable_CD_from_a_Floppy_Image|created a bootable CD from the cabextracted .IMG file]], then boot that ISO, and it worked great!&lt;br /&gt;
|-&lt;br /&gt;
| {{T40p}} ||&lt;br /&gt;
* Lukas KrÃ¤henbÃ¼hl, ismo at pop dot agri dot ch&lt;br /&gt;
* Thomas Achtemichuk, tom at tomchuk dot com. BIOS 3.15 flashed fine with cabextract/CD method&lt;br /&gt;
|-&lt;br /&gt;
| {{T41}} ||&lt;br /&gt;
* Lev Givon (Bios 3.15 / EC 3.04) &amp;lt;lev at columbia dot edu&amp;gt;&lt;br /&gt;
* Ernesto HernÃ¡ndez-Novich (Bios 3.19 / CP 3.04) &amp;lt; emhn at usb dot ve &amp;gt;&lt;br /&gt;
* [http://maebmij.org James Ballantine] (Bios 3.21 / CP 3.04) using nondisk/cabextract/CDRW&lt;br /&gt;
|-&lt;br /&gt;
| {{T41p}} ||&lt;br /&gt;
* Nils Newman, work great. (Version: Bios 3.14 / Embedded Controller 3.04)&lt;br /&gt;
|-&lt;br /&gt;
| {{T42}} 2373-JXG ||&lt;br /&gt;
* magarzo &amp;lt;mdr.magarzo at gmail.com&amp;gt; (BIOS v.3.23 / Embedded Controller v.3.04 / both with cabextract to non-diskette v. plus Bootable CD)&lt;br /&gt;
|-&lt;br /&gt;
| {{T42}} ||&lt;br /&gt;
* Dan (BIOS 3.20 / EC 3.04, cabextract/CD method) &amp;lt;tronic171 at evilphb.org&amp;gt;&lt;br /&gt;
* Hirosh Dabui &amp;lt;hirosh@dabui.de&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{T42p}} ||&lt;br /&gt;
* Robert Schiele &amp;lt;rschiele@uni-mannheim.de&amp;gt;, Joern Heissler &amp;lt;joern@heissler.de&amp;gt;, Hirosh Dabui &amp;lt;hirosh@dabui.de&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}} 1871-W34 ||&lt;br /&gt;
* Florian Boucault &amp;lt;florian at boucault dot ath dot cx&amp;gt; (Version: Bios 1.23 / Embedded Controller 1.03)&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}} 2886 ||&lt;br /&gt;
* Till Heikamp &amp;lt;t dot heikamp at geniusbytes dot com&amp;gt; (Bios 1.22 to 1.29, Embedded Controller 1.03 to 1.06)&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}} ||&lt;br /&gt;
* Conrad Rentsch &amp;lt;Conrad dot Rentsch at t-online dot de&amp;gt; (Version: Bios 1.29 / Embedded Controller 1.06)&lt;br /&gt;
* Tom Heady &amp;lt;tom-thinkwiki.org@punch.net&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{T60}} 1951 ||&lt;br /&gt;
* Roman Komkov &amp;lt;roman  at komkov dot org dot ru&amp;gt; (Bios 1.07 to 2.13) Successfully upgraded from CD Image&lt;br /&gt;
|-&lt;br /&gt;
| {{T61}}  ||&lt;br /&gt;
* Kai Weber &amp;lt;kai.weber  at glorybox dot org&amp;gt; (Bios 1.06 to 1.26) Successfully upgraded from CD Image&lt;br /&gt;
|-&lt;br /&gt;
| {{X20}} ||&lt;br /&gt;
* Neil Caunt &amp;lt;retardis at gmail dot com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{X21}} ||&lt;br /&gt;
* Patrick Leickner &amp;lt;ranma at web dot de&amp;gt;, (BIOS 2.21-&amp;gt;2.25 / EC 1.31-&amp;gt;1.36) via non-disk/cabextract/mkisofs/cdrecord&lt;br /&gt;
|-&lt;br /&gt;
| {{X22}} ||&lt;br /&gt;
* David Emery &amp;lt;dave at skiddlydee dot com&amp;gt;,  (EC 1.30, BIOS 1.32 using non-disk/cabextract/CD method)&lt;br /&gt;
|-&lt;br /&gt;
| {{X23}} ||&lt;br /&gt;
* Nils Faerber &amp;lt;nils dot faerber at kernelconcepts dot de&amp;gt; (Embedded Controller 1.30, BIOS 1.32 with cabextract/CD method)&lt;br /&gt;
|-&lt;br /&gt;
| {{X30}} ||&lt;br /&gt;
* Hella Breitkopf, [http://www.unixwitch.de/ www]  (Embedded Controller 1.04, BIOS 1.07 with cabextract/CD method)&lt;br /&gt;
* William Roe &amp;lt;willroe at gmail dot com&amp;gt; (Embedded Controller 1.06, BIOS 1.09 - cabextract/mkisofs/wodim)&lt;br /&gt;
|-&lt;br /&gt;
| {{X31}} ||&lt;br /&gt;
* Grzegorz KuÅ›nierz &amp;lt;koniu at sheket dot org&amp;gt;  (Embedded Controller 1.08, BIOS 3.01 with cabextract/CD method)&lt;br /&gt;
|-&lt;br /&gt;
| {{X40}} ||&lt;br /&gt;
* Robbie Stone &amp;lt;robbie@serendipity.cx&amp;gt;&lt;br /&gt;
* Andy Shevchenko &amp;lt;andy.shevchenko@gmail.com&amp;gt;   (Fine by cabextract/CD method)&lt;br /&gt;
|-&lt;br /&gt;
| {{Z60m}} ||&lt;br /&gt;
* [[User:Morle|Morle]] 01:09, 17 Nov 2007 (CEST),  (Embedded Controller 1.18 and Bios 1.24 with cabextract/CD method)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Unsuccessful tests ====&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; style=&amp;quot;font-size:80%; vertical-align:top;&amp;quot;&lt;br /&gt;
! Model&lt;br /&gt;
! Tested by, and comments&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;pre&amp;gt;      &amp;lt;/pre&amp;gt; &amp;lt;!-- Placeholder --&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Booting using GRUB ===&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:75%&amp;quot; | {{WARN|Many have warned '''not''' to use the SYSLINUX image-loader '''memdisk''' to boot firmware update images.}}&lt;br /&gt;
| style=&amp;quot;font-size:80%&amp;quot; | {{HELP|Who are these &amp;quot;many&amp;quot;?  Link to a discussion?}}&lt;br /&gt;
|}&lt;br /&gt;
Once the bootable image, FILENAME.IMG, is extracted from the .exe, it can be booted directly through GRUB without the need of burning a CD, using the [http://syslinux.zytor.com/ SYSLINUX] image-loader '''[http://syslinux.zytor.com/memdisk.php memdisk]'''.&lt;br /&gt;
&lt;br /&gt;
Locate the '''memdisk''' file from the syslinux package. You can search for it with '''find''': &lt;br /&gt;
&lt;br /&gt;
{{cmdroot|find /usr -name memdisk}} #or just use &amp;quot;dlocate memdisk&amp;quot; or &amp;quot;locate memdisk&amp;quot; if these programs are installed&lt;br /&gt;
&lt;br /&gt;
If {{path|/usr/.../memdisk}} is not present, syslinux is not installed.  You will need to install it to boot a .IMG from GRUB.&lt;br /&gt;
&lt;br /&gt;
Copy both the '''FILENAME.IMG''' and '''memdisk''' files into {{path|/boot}} directory.  For example:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|cp ./FILENAME.IMG /usr/share/syslinux/memdisk /boot/}}&lt;br /&gt;
&lt;br /&gt;
Open {{path|/boot/grub/menu.lst}} in your favourite editor.  '''Copy''' the active section into a '''new section''', and edit the new section:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Parameter&lt;br /&gt;
! Instructions&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| ''title''  || Pick a name for the new section.  This will show up in the GRUB boot menu. || &amp;lt;tt&amp;gt;title IBM ECP Update&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| ''root''   || Do not change.  This is the partition containing the {{path|/boot}} directory       || &amp;lt;tt&amp;gt;root (hd0,0)&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| ''kernel'' || '''/boot/memdisk''' will allow you to boot an image file.                  || &amp;lt;tt&amp;gt;kernel /boot/memdisk&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| ''initrd'' || This is the name of the firmware-updater image file, e.g., 1IUJ13US.IMG    || &amp;lt;tt&amp;gt;initrd /boot/1IUJ13US.IMG&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Do '''not''' modify the original section in {{path|/boot/grub/menu.lst}}, or you might not be able to boot back to the operating system.&lt;br /&gt;
&lt;br /&gt;
If you have [[#Two_Firmwares:_BIOS_and_ECP|two firmware updates to do]], you will need a section for each firmware's FILENAME.IMG in {{path|/boot/grub/menu.lst}}.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|If both BIOS and ECP are to be updated, be sure to update them in the [[#Proper_Order|proper order]].}}&lt;br /&gt;
&lt;br /&gt;
{{WARN|By following any of the instructions here you are accepting the '''very real risk''' of turning your ThinkPad into a big expensive paper weight, as a firmware update gone wrong can create unfix-able problems.  '''Proceed at your own risk!'''}}&lt;br /&gt;
&lt;br /&gt;
Reboot your computer, entering the GRUB menu and selecting ''IBM BIOS Update'', or whatever you named the new section in {{path|/boot/grub/menu.lst}}.&lt;br /&gt;
&lt;br /&gt;
==== GRUB2 ====&lt;br /&gt;
With grub2, one would ''append'' the following to ''/boot/grub/grub.cfg'' :&lt;br /&gt;
 menuentry &amp;quot;My BIOS Upgrade&amp;quot; {&lt;br /&gt;
 set root=(hd0,0) #should match the others in your grub.cfg&lt;br /&gt;
 linux /boot/memdisk&lt;br /&gt;
 initrd /boot/1WUJ25US.IMG #or whatever yours is&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==== Successful tests ====&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; style=&amp;quot;font-size: 80%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Model&lt;br /&gt;
! BIOS&lt;br /&gt;
! ECP&lt;br /&gt;
! Tested by&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| {{R30}} 2656-64G || v.1.40            ||                   || [[User:english.voodoo|Yuri Spirin]] ||&lt;br /&gt;
|-&lt;br /&gt;
| {{R40}} 2723     || 1OHJ11WW.IMG      || 1PUJ25US.IMG      || [[User:qunying|Qunying]] || memdisk from syslinux 3.70 (slackware 12.1)&lt;br /&gt;
|-&lt;br /&gt;
| {{R50e}} 1834NV1 || 1WUJ25US.IMG      ||                   || [[User:Jidanni|Jidanni]] || memdisk from syslinux-common 2:3.84+dfsg-1 (Debian), grub2 (1.96+20080724-16)&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} 2888     ||                   ||                   ||                          || &lt;br /&gt;
|-&lt;br /&gt;
| {{T40}} 2373     || 1RUJ37US.IMG      || 1RHJ10U2.IMG      || [[User:Euphoria|Euphoria]] || memdisk from syslinux 1:3.31-4 (Debian package version)&lt;br /&gt;
|-&lt;br /&gt;
| {{T40}} 2373     || 1RHJ10U2.IMG&amp;lt;br /&amp;gt;(3.04, 2004-11-15) || 1RUJ37US.IMG&amp;lt;br /&amp;gt;(3.23, 2007-07-03) || [[User:Morphics|Morphics]] || cabextract and memdisk from syslinux 3:1.36-4ubuntu5&lt;br /&gt;
|-&lt;br /&gt;
| {{T41}} 2373     || 1RUJ37US.IMG&amp;lt;br /&amp;gt;(3.23, 2007-07-03) || || [[User:Tonko|Tonko]] || Fedora 12&lt;br /&gt;
|-&lt;br /&gt;
| {{T41p}} 2373    || 1RUJ37US.IMG&amp;lt;br /&amp;gt;(3.23, 2007-07-03) ||  || [[User:Deggel|Deggel]] || cabextract and memdisk from syslinux 3.71 on gentoo &lt;br /&gt;
|-&lt;br /&gt;
| {{T41p}} 2373    ||  ||  || [[User:MrStaticVoid|James Lee]]   || &lt;br /&gt;
|-&lt;br /&gt;
| {{X31}} 2673-CBU ||  ||  || [[User:JanTopinski|Jan Topinski]] || &lt;br /&gt;
|-&lt;br /&gt;
| {{X31}} 2672-CXU ||  ||  || [[User:TheAnarcat|TheAnarcat]]    || &lt;br /&gt;
|-&lt;br /&gt;
| {{X31}} 2673-58G ||  ||  || [[User:FaUl|FaUl]]                || &lt;br /&gt;
|-&lt;br /&gt;
| {{X31}} 2672-PG9 ||  ||  || [[User:Starox|Starox]]            || a big moment between starting update and the updating window &lt;br /&gt;
|-&lt;br /&gt;
| {{X40}} 2371     || 2.07 1uuj21us.exe || 1.62 1uhj10us.exe || [[User:Antialize|Jakob Truelsen]] || Worked on two X40-2371 &lt;br /&gt;
|-&lt;br /&gt;
| {{X40}} 2386     || 2.08 1uuj22us.exe || 1.62 1uhj10us.exe || [[User:Antialize|Galen Seitz]] || memdisk from syslinux 3.61&lt;br /&gt;
|}&lt;br /&gt;
(More successful grub tests are scattered in the previous table too.)&lt;br /&gt;
==== Unsuccessful tests ====&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; style=&amp;quot;font-size: 80%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Model&lt;br /&gt;
!  style=&amp;quot;width:10em;&amp;quot; | BIOS&lt;br /&gt;
! ECP&lt;br /&gt;
! Tested by&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| {{R32}} 2658-NWU || 2.16 1MUD23US.IMG || n/a || [[User:Millman12345|Mike Millman]] || Boots into the BIOS flashing program just fine, but when it comes time to start the update process, the system hangs completely.  Luckily, it hangs before it actually modifies anything...  A hard reboot got me back into a working system.  I would not recommend this route!&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}} 2668-F7G || 1.29 1YUJ18US.IMG ||  || [[User:Maus3273|Maus3273]] || I got into the bios program, but the machine never restarts after initiating the upgrade.&lt;br /&gt;
|-&lt;br /&gt;
| {{X41}} 2525-FAG || 2.09 74UJ15US     ||  || [[User:Ukleinek|Uwe Kleine-König]] || booted fine (Debian syslinux 2:3.71+dfsg-5), but didn't succeed to write, just hang at &amp;quot;Don't restart or remove diskette etc. pp&amp;quot; (not bricked).  Worked fine via CD method.&lt;br /&gt;
|- &lt;br /&gt;
| {{X41}} 2525-F8G || 2.06 74UJ12US.IMG&amp;lt;br /&amp;gt;2.07 74UJ13US.IMG&amp;lt;br /&amp;gt;2.09 74UJ15US.IMG ||  || [[User:ladoga|Lauri Koponen]] || hangs while initializing the actual BIOS flashing process&amp;lt;br /&amp;gt; ECP: 1.02 74HJ03US.IMG works&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Booting from a Floppy ===&lt;br /&gt;
{{WARN|Using a floppy disk '''is NOT recommended'''.}}&lt;br /&gt;
&lt;br /&gt;
This is how IBM/Lenovo intended it.  Use their .exe files to create a bootable floppy with the flash update on it.  Boot from the floppy and there you go.&lt;br /&gt;
&lt;br /&gt;
So, why is it not recommended?&lt;br /&gt;
# If something goes wrong, your ThinkPad may be permanently damaged&lt;br /&gt;
# Floppy disk drives are not reliable&lt;br /&gt;
# Floppy disks are not reliable&lt;br /&gt;
# It only works with /dev/fd0, meaning it won't work with a USB floppy&lt;br /&gt;
&lt;br /&gt;
So, even though Lenovo is now offering &amp;quot;Linux diskette&amp;quot; updaters, that will create a bootable floppy under Linux, using a floppy is still not recommended.  Besides, many people don't even ''have'' a floppy drive on their ThinkPad.&lt;br /&gt;
&lt;br /&gt;
If you really want to do it with a floppy, some tips:&lt;br /&gt;
* Use a clean (in the physical sense) floppy drive&lt;br /&gt;
* Use new floppies&lt;br /&gt;
* Test floppies for errors before starting update process&lt;br /&gt;
* Have multiple copies of the update disks ready--if one should fail, replace it with a copy&lt;br /&gt;
* Should DOS complain of a read error, '''only''' respond wth &amp;quot;Retry&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{NOTE|Should the system encounter a disk read error during the flash process, and you select &amp;quot;Abort&amp;quot;, your system could be permanently damaged.}}&lt;br /&gt;
&lt;br /&gt;
=== Booting from a USB Flash drive ===&lt;br /&gt;
{{HELP|Has anyone tested booting a firmware update image from a USB flash drive?  Perhaps using [http://unetbootin.sourceforge.net/ UNetbootin]?}}&lt;br /&gt;
&lt;br /&gt;
== Booting from a Network Boot Image ==&lt;br /&gt;
BIOS, ECP, CD/DVD and Harddisk firmware disks can be booted over the network with [http://syslinux.zytor.com/pxe.php PXELINX] as part of the [http://syslinux.zytor.com/ SYSLINUX] package.  This requires that you have a DHCP and tftp server configured and setup properly on your network, and is probably not for the faint of heart.&lt;br /&gt;
&lt;br /&gt;
Make sure the firmware bootdisk is in linux 'dd' format, as the self-extracting .exe disks from the IBM website cannot be booted directly as such.&lt;br /&gt;
&lt;br /&gt;
This worked on the {{R31}}, {{X22}}, {{T21}}, {{T30}} and {{T41p}} with various firmware updates.  On the {{X22}}, it worked with ECP 1.30 but '''not''' with BIOS 1.32&lt;br /&gt;
&lt;br /&gt;
=After updating=&lt;br /&gt;
Lenovo recommends reseting your BIOS settings to their factory defaults after a firmware update.&lt;br /&gt;
&lt;br /&gt;
==DMI IDs==&lt;br /&gt;
Please consider updating the [[List of DMI IDs]] after updating your BIOS.&lt;br /&gt;
&lt;br /&gt;
= Special Cases =&lt;br /&gt;
* In one case, see ([[APM setup on a type 2379 ThinkPad T40]]), it was not possible to upgrade the BIOS from Windows XP; a downgrade to Windows 98 was required to successfully run the BIOS upgrade app. The symptoms in this case were that, once the files had been extracted to the hard disk, and the machine was to reboot into the upgrade app, it would beep and hang just before reboot, requiring a power cycle. Once the power was cycled, it would simply reboot back into XP without performing any BIOS upgrade actions. So even if you have Windows, you may still need to use the info on this page.&lt;br /&gt;
&lt;br /&gt;
== Updating Thinkpad X Series ==&lt;br /&gt;
The special update instructions for {{X_Series}} Thinkpads are quite long. You can find them at the page [[BIOS_Upgrade/X_Series]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{{footnotes|&lt;br /&gt;
# For lots of detail on making and burning .iso files, see The Linux Documentation Project (tldp.org): [http://tldp.org/HOWTO/CD-Writing-HOWTO-3.html#ss3.1 3.1 Writing CD-ROMs (pure data)].&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Jidanni</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=User_talk:Hmh&amp;diff=45458</id>
		<title>User talk:Hmh</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=User_talk:Hmh&amp;diff=45458"/>
		<updated>2010-01-25T18:45:19Z</updated>

		<summary type="html">&lt;p&gt;Jidanni: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==genisoimage==&lt;br /&gt;
Well, won't [[Talk:BIOS_Upgrade#Wrong_mkisofs.2Fgenisoimage_commands_will_just_get_people_stuck]]? [[User:Jidanni|Jidanni]] 18:45, 25 January 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>Jidanni</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=User_talk:Hmh&amp;diff=45457</id>
		<title>User talk:Hmh</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=User_talk:Hmh&amp;diff=45457"/>
		<updated>2010-01-25T18:43:46Z</updated>

		<summary type="html">&lt;p&gt;Jidanni: Hmh told me to edit the Talk page instead of the real page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==genisoimage==&lt;br /&gt;
Well, won't [[BIOS_Upgrade#Wrong_mkisofs.2Fgenisoimage_commands_will_just_get_people_stuck]]? [[User:Jidanni|Jidanni]] 18:43, 25 January 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>Jidanni</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=User_talk:Jidanni&amp;diff=45449</id>
		<title>User talk:Jidanni</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=User_talk:Jidanni&amp;diff=45449"/>
		<updated>2010-01-23T23:54:36Z</updated>

		<summary type="html">&lt;p&gt;Jidanni: OK&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jidanni</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:BIOS_Upgrade&amp;diff=45448</id>
		<title>Talk:BIOS Upgrade</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:BIOS_Upgrade&amp;diff=45448"/>
		<updated>2010-01-23T23:53:01Z</updated>

		<summary type="html">&lt;p&gt;Jidanni: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Dead link == &lt;br /&gt;
&lt;br /&gt;
The link to the FreeDOS floppy (http://www.ankreuzen.de/freedos/files/fd9sr1/fdos1440.zip), which is needed to upgrade the BIOS from a CD, is dead. Is the information still valid? And is there a different source for the floppy image? [[User:Jamesavery|Jamesavery]] 05:49, 18 February 2007 (CET)&lt;br /&gt;
&lt;br /&gt;
== BIOS upgrade using WINE ==&lt;br /&gt;
&lt;br /&gt;
Does anyone think this would be possible? [[User:Mcalwell|Mcalwell]] 08:58, 28 January 2007 (CET)&lt;br /&gt;
&lt;br /&gt;
: No this is not possible. [[User:Mcalwell|Mcalwell]] 16:01, 12 February 2007 (CET)&lt;br /&gt;
&lt;br /&gt;
== BIOS upgrade without battery ==&lt;br /&gt;
&lt;br /&gt;
Concerning the known problem with 600 series with batteries dead too soon, it is impossible to upgrade the bios without the battery because the original ibm update program doesn't allow this. I bought an old 600E without the battery. There was one workaround, but i think for the older releases of the bios, where you just extracted files and upgraded manualy, bypassing the ibm install program. The page that describes this (i lost the link) has a list of different files, that the ones found in current release so i never did figure out what to do? I would like to upgrade because i have really old bios, where ACPI doesn't cooperate so well with the operating system, either windows or linux.&lt;br /&gt;
&lt;br /&gt;
If somebody finds a workaround please help. Thanks&lt;br /&gt;
&lt;br /&gt;
//Edit&lt;br /&gt;
&lt;br /&gt;
I've found the page on Vim's bios upgrade forum.. I don't know if it exactly for my model, since the files differ.. '''Is it possible, to upgrade bios in linux without the battery?'''&lt;br /&gt;
&lt;br /&gt;
''I have found a working solution WOW on the other forum: &lt;br /&gt;
&lt;br /&gt;
*** This is NOT a safe way to update the bios (disclaimer) *** &lt;br /&gt;
&lt;br /&gt;
* First you need to make a BIOS update floppy disk (from the bios file from IBM - place disk in a: drive, run app and answer Y to the agreement) and then format another disk by right clicking on A: - format - make system bootdisk (assuming you have another machine spare) &lt;br /&gt;
&lt;br /&gt;
* Copy all the files from the IBM Boot disk - in my case &lt;br /&gt;
$0029000.fl1 &lt;br /&gt;
$0029000.fl2 &lt;br /&gt;
FLASH2.EXE &lt;br /&gt;
PROD.DAT &lt;br /&gt;
UPDTFLSH.EXE &lt;br /&gt;
updtrom.exe &lt;br /&gt;
USERINT.EXE &lt;br /&gt;
UTILINFO.EXE &lt;br /&gt;
to the other clean bootdisk. &lt;br /&gt;
&lt;br /&gt;
* Ensure that there is no config.sys and autoexec.bat so it just runs straight into DOS. &lt;br /&gt;
&lt;br /&gt;
* Place the disk into the Laptop, reboot and allow the machine to load via the floppy &lt;br /&gt;
&lt;br /&gt;
* At the command prompt, type &amp;quot;FLASH2.EXE /U&amp;quot; with no quotes then press enter. &lt;br /&gt;
&lt;br /&gt;
The program will automatically search for the files *.FL1 &amp;amp; *.FL2 and load the bios first then the platform file. &lt;br /&gt;
&lt;br /&gt;
The program will automatically update and perform erasing on the rom and then finish with &amp;quot;Update complete&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
* Now reboot. &lt;br /&gt;
&lt;br /&gt;
* Hold F1 down as you turn the laptop back on and go into Easy Setup under &amp;quot;Config&amp;quot; click on Initialize to ensure defaults and settings are error free. &lt;br /&gt;
&lt;br /&gt;
* Save and exit...''&lt;br /&gt;
&lt;br /&gt;
// EDIT&lt;br /&gt;
&lt;br /&gt;
This worked on my machine.. I make no guarantees it will work on others.&lt;br /&gt;
&lt;br /&gt;
The above procedure did not work on my T23 using the 1.20 bios; it kept returning error 14 (Low Battery). However, following those instructions and running &amp;quot;qkflash&amp;quot; rather than flash2 did work for the main bios, and later for the embedded controller.&lt;br /&gt;
--grythumn&lt;br /&gt;
&lt;br /&gt;
// EDIT&lt;br /&gt;
The provided solution didn't work on my R31: even with qkflash /U i get the low battery message - is there any other solution ?&lt;br /&gt;
-- joer&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Bios upgrade &amp;amp; hidden partition ==&lt;br /&gt;
&lt;br /&gt;
I have disabled the hidden partition to make more space for linux (24G). I still have Windows on the 14G partition. Is it safe to upgrade the BIOS without the hidden partition? I want to get a newer BIOS to fix the annoying fan issue. Thanks&lt;br /&gt;
&lt;br /&gt;
- yes don't worry about it. bios upgrades have nothing to do with whats inside the harddrive.&lt;br /&gt;
&lt;br /&gt;
== BIOS upgrade over PXE ==&lt;br /&gt;
&lt;br /&gt;
Hi,&lt;br /&gt;
&lt;br /&gt;
I have a Thinkpad X20 with a very early BIOS and Embedded Controller Program which I'd like to update. Currently, the only feasible way of doing this is over the network using PXE. I already have a fully functional PXE server using SYSLINUX, and have so far been able to boot the BIOS diskette image using MEMDISK, although I have not attempted to flash anything yet due to the warnings given on the page. Is there any safe way I can update both the Controller Program and the BIOS in the same session over the network in this manner? If not, what other methods would be suitable? I have a USB CD-ROM drive and could probably get hold of a USB floppy drive.&lt;br /&gt;
&lt;br /&gt;
Thanks.&lt;br /&gt;
&lt;br /&gt;
Update: I ended up burning CDs as described and successfully updated everything. I'd still like to know if there is a way I could do it entirely over the network, though.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== RE: grub initrd ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Another possibility which works even without a CD-drive or network is to boot the disk image via the grub initrd mechanism.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
0) Interesting suggestion. Might be better of in its own section.&lt;br /&gt;
&lt;br /&gt;
1) Could you please elaborate?&lt;br /&gt;
&lt;br /&gt;
2) My first guess (pending your elaboration) would be to &amp;quot;chainload&amp;quot; the first block of the diskimage using the grub commandline, like:&lt;br /&gt;
   blocklist (''path'')/''to''/''diskimage''&lt;br /&gt;
   chainloader ''blockvalue''+1&lt;br /&gt;
&lt;br /&gt;
But that's just a guess!&lt;br /&gt;
&lt;br /&gt;
[[user:Pebolle|Paul Bolle]] Fri Jul 15 12:20:47 CEST 2005&lt;br /&gt;
&lt;br /&gt;
== bios/controller update sequence ==&lt;br /&gt;
&lt;br /&gt;
The article says:&lt;br /&gt;
&amp;quot;If you go through the readme's on the IBM site they'll cleary state that you must update the Control Program first, then imediately update the BIOS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
When I look at the IBM udpate instructions for the T23, it says:&lt;br /&gt;
&amp;quot;If you need to update the BIOS as well as the Embedded Controller Program, update the BIOS first.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Comments?&lt;br /&gt;
&lt;br /&gt;
&amp;gt; I would first contact IBM for clarification, but you should probably be following instructions specific to your model.&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;gt; I did it following IBM's instructions to upgrade the BIOS first. Everything worked out great!&lt;br /&gt;
&lt;br /&gt;
== Firmware upgrade for Intel minipci combo card ==&lt;br /&gt;
&lt;br /&gt;
I just purchased an [[Intel 10/100 Ethernet Mini-PCI Adapter with 56K Modem]] that has an ancient (2.0.6) firmware version.  I Downloaded the update file intlbtag.EXE but cabextract was unable to find any cabfiles inside it.  I tried running the program via wine and that didn't work either.&lt;br /&gt;
&lt;br /&gt;
Finally I ran the program on a windows machine and created a boot floppy.  Then I went through the the process of converting the floppy to a bootable cd via linux and that worked like a charm.  The cd successfully updated the minipc card's firmware.&lt;br /&gt;
&lt;br /&gt;
Everything worked but I ended up needing a windows box to do it.  Could this have been done without windows?&lt;br /&gt;
&lt;br /&gt;
== Firmware upgrade for Wireless LAN MiniPCI COMBO Card using prism2_srec ==&lt;br /&gt;
&lt;br /&gt;
The appropriate firmware installation program for the wlan card in my R32 can be extracted using cabextract as described in the article. It contains (besides some installation programs) a disk image (1awg06ww.IMG) that seems to be a simple dos boot disk. This image contains 3 .hex files (id010001.hex, pk010100.hex, sf010402.hex) that are recognized by prism2_srec to be &amp;quot;srec&amp;quot;-files. Trying to load them to RAM yields:&lt;br /&gt;
&lt;br /&gt;
    {{cmdroot|prism2_srec -v -r wlan0 sf010402.hex}}&lt;br /&gt;
    S3 CRC-16 generation record: start=0x007E1800 len=65642 prog=1&lt;br /&gt;
    Start address 0x00000000&lt;br /&gt;
    srec summary for sf010402.hex&lt;br /&gt;
    Component: 0x001f 1.4.2 (station firmware)&lt;br /&gt;
    &amp;lt;snip&amp;gt;&lt;br /&gt;
    Interface compatibility information:&lt;br /&gt;
    role=Supplier variant=2 range=1-9 iface=Station Firmware-Driver (4)&lt;br /&gt;
    role=Actor    variant=1 range=1-1 iface=Modem-Firmware (1)&lt;br /&gt;
    role=Actor    variant=2 range=1-1 iface=Controller-Firmware (2)&lt;br /&gt;
    role=Actor    variant=1 range=4-4 iface=Primary Firmware-Driver (3)&lt;br /&gt;
    &amp;lt;snip&amp;gt;&lt;br /&gt;
    Wireless LAN card information:&lt;br /&gt;
    Components:&lt;br /&gt;
    NICID: 0x8013 v1.0.0&lt;br /&gt;
    PRIID: 0x0015 v1.0.7&lt;br /&gt;
    STAID: 0x001f v1.3.6&lt;br /&gt;
    Interface compatibility information:&lt;br /&gt;
    PRI role=Supplier variant=1 range=1-1 iface=Modem-Firmware (1)&lt;br /&gt;
    PRI role=Supplier variant=2 range=1-1 iface=Controller-Firmware (2)&lt;br /&gt;
    PRI role=Supplier variant=1 range=4-4 iface=Primary Firmware-Driver (3)&lt;br /&gt;
    STA role=Supplier variant=1 range=1-9 iface=Station Firmware-Driver (4)&lt;br /&gt;
    PRI role=Actor    variant=2 range=1-1 iface=Controller-Firmware (2)&lt;br /&gt;
    STA role=Actor    variant=2 range=1-1 iface=Controller-Firmware (2)&lt;br /&gt;
    STA role=Actor    variant=1 range=1-1 iface=Modem-Firmware (1)&lt;br /&gt;
    &amp;lt;snip&amp;gt;&lt;br /&gt;
    This image is not meant to be downloaded to volatile memory.&lt;br /&gt;
    Incompatible update data.&lt;br /&gt;
&lt;br /&gt;
Has anyone tried to flash this device using prism2_srec yet?&lt;br /&gt;
What bothers me is, that the upgrade is for many different parts of the combo card. Does anyone have an opinion on whether this could work?&lt;br /&gt;
&lt;br /&gt;
OK, I took the risk and successfully upgraded my station firmware, BUT when I tried to upgrade the primary firmware the system froze!!! The thinkpad won't start up with the miniPCI card inserted and all efforts to reflash it using the original DOS boot image failed!!!&lt;br /&gt;
&lt;br /&gt;
I'm quite sure the system freeze was not caused directly by prism2_srec, because I have noticed rare system freezes since I have been using my PCMCIA wireless card.&lt;br /&gt;
Anyway, if anyone should own a TP R32, I'd be glad if he could tell me the base address of the Wlan card, or it's PCI address.&lt;br /&gt;
&lt;br /&gt;
Thinkpad r32 owner here. I want to upgrade the firmware as well. If you need any information just send an email to haftbar[a]gmail.com [[User:Quickie|Quickie]] 02:12, 1 February 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
==Reorganization suggestion==&lt;br /&gt;
The Downloads section is rather long. Would it be an idea to put it on a separate, new page (say: BIOS_Downloads) and link to that new page from this page?&lt;br /&gt;
&lt;br /&gt;
[[User:Pebolle|Paul Bolle]] 21:27, 15 Oct 2005 (CEST)&lt;br /&gt;
&lt;br /&gt;
&amp;gt; I agree with this suggestion.&lt;br /&gt;
&lt;br /&gt;
== Upgrading BIOS and Embedded Control Program from Win XP ==&lt;br /&gt;
&lt;br /&gt;
I'm trying to upgrade the BIOS and Embedded Controller Program from Windows XP following the instructions on the Lenovo website. The problem is the instructions are not very clear about this. The instructions basically state that I must upgrade them at the same time because the Control Program does not work with the older BIOS and the BIOS does not work with the older Control Program. They also state that I should upgrade the Control Program first. &lt;br /&gt;
&lt;br /&gt;
But that means I must boot into XP after having upgraded the Control Program but with the older BIOS in order to then update the BIOS. But if this works then they are actually compatible and there's a contradiction. Am I missing something? I just want to make sure I don't end up with a non-functioning unit.&lt;br /&gt;
&lt;br /&gt;
I have an X23 and want the latest BIOS (v 1.32) and Control Program (v 1.30). &lt;br /&gt;
&lt;br /&gt;
Maybe there should be a note about this in the article? Or maybe I'm the only one who is this stupid :)&lt;br /&gt;
&lt;br /&gt;
Update: I talked to Lenovo support. The situation apparently is that though the description says that the newer control program is not compatible with the older BIOS, they are not so incompatible as to cause the machine to stop working so it is actually possible to use incompatible versions of BIOS and control program. In fact according to the support person it makes no difference if the BIOS is upgraded before the control program or vice versa. So I upgraded the control program using the executable running in Windows XP, which rebooted the computer to perform the upgrade and then I booted Windows again to upgrade the BIOS in the same manner and it all worked fine. If anyone reading this finds it useful maybe you can put it in the article? Or if you find it superfluous just delete this section.&lt;br /&gt;
&lt;br /&gt;
--[[User:xphinx|xphinx]] 12 March 2007&lt;br /&gt;
&lt;br /&gt;
I have an X22 with BIOS version 1.21 and Embedded Controller version 1.17 and using the steps described by you, I succesfully updated my bios to the lastest versions from WindowsXP (BIOS v1.32 / EC v1.30)&lt;br /&gt;
Thanks!&lt;br /&gt;
&lt;br /&gt;
== BIOS upgrade for T21 with T20 BIOS ==&lt;br /&gt;
&lt;br /&gt;
Hi, I bought a used T21 recently (type 2647-8AU), and would like to update the BIOS to the latest version, but there's a problem: this T21 appears to have a T20 BIOS (IYET50WW, a/k/a T20 BIOS version 1.11).  When I try updating this BIOS using one of IBM's T21 updaters - I tried KZET34WW/v1.16 (the latest one) and KZET16WW/v1.01 (the earliest one) - I get the following message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
''The diskette in the default drive will not run on this system. Your system is now locked. To restart your system, press Ctrl+Alt+Del.''&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I suspect this message appears because the existing BIOS is a T20 BIOS.&lt;br /&gt;
&lt;br /&gt;
There would appear to be two options: either use the most recent T20 updater (IYET61WW, a/k/a T20 v1.22), or find a way to defeat the block in the KZET34WW/v1.16 T21 updater.  Obviously either option is risky in the absence of more information and/or detective work.  And I don't know enough about T2x-series hardware to hazard a guess (i.e., were early T21s just T20s with a speed bump, did some T21s get T20 BIOSes by mistake due to factory error, or are the T20 and T21 similar enough that it doesn't matter whether a T20 or T21 BIOS is used).&lt;br /&gt;
&lt;br /&gt;
Some relevant data gleaned from the stickers on the case bottom and the current BIOS:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
* '''Type:''' 2647-8AU (T21 with 800-MHz processor)&lt;br /&gt;
* '''S/N:''' 78-0GL1Z (zero-G-L-one-zed)&lt;br /&gt;
* '''Manufacture date:''' 03/2001&lt;br /&gt;
* '''BIOS version:''' IYET50WW (T20 BIOS v1.11)&lt;br /&gt;
* '''System unit S/N:''' (appears to be blank)&lt;br /&gt;
* '''System board S/N:''' J1HHS15CL5C&lt;br /&gt;
* '''System board P/N:''' 08K3747 (printed on motherboard)&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Thanks for any help anyone can provide.&lt;br /&gt;
&lt;br /&gt;
-Linux Spice&lt;br /&gt;
&lt;br /&gt;
P.S. At first I thought this might be a Frankenstein ThinkPad with a T21 case and a T20 logic board - I did buy it used, after all - but it does have an 800-MHz processor, which was never an option for the T20 (both the BIOS and Linux report it as such), and all the other equipment checks out (except for the hard drive, which was replaced with a 40-GB model).&lt;br /&gt;
&lt;br /&gt;
== Force Upgrade a Thinkpad T20 to latest Thinkpad T22 BIOS ==&lt;br /&gt;
&lt;br /&gt;
i managed to force upgrade my t20 to a t22 bios using a strange method.&lt;br /&gt;
&lt;br /&gt;
i snagged a &amp;quot;bios bootdisk&amp;quot; from bootdisk.com (it's a drdos/caldera dos boot disk), wrote the image to a floppy disk, then copied to it the PHLASH.EXE flasher, $0179000.fl1 (renamed to BIOS.BIN) and $0179000.fl3 (renamed to PLATFORM.IMG) from the T22 1.06 update from ibm/lenovo's site.  i think any lower version would work, but it tried it with that.  anyways.&lt;br /&gt;
&lt;br /&gt;
i inserted the disk into the thinkpad t20, booted off of it, then ran PHLASH.  it reflashed the t20 with the t22 1.06 image no problem.  now the machine's in a frankenstein state...t22 bios, t20 ec, etc.  i took the floppy out (or made another floppy, whatever), wrote to it the latest available update from ibm/lenovo (at the time of writing, although i doubt it will ever be updated again, is 1.12), booted the thinkpad t20 off of it, and the bios reflash disk was satisfied that the machine was a t22.  more waiting, and the thinkpad t20 is now a thinkpad t22!  for me, it means no more waiting for the machine to count memory every single boot (it remembers the value and quick boots now), and it perfectly supports my 1400x1050 display from a damaged thinkpad t22!&lt;br /&gt;
&lt;br /&gt;
end result: reflashed a thinkpad t20 with the latest thinkpad t22 bios, and now the machine presents itself as a thinkpad t22.  the hardware's similar enough that it can pass itself off as such just fine.&lt;br /&gt;
&lt;br /&gt;
hope others can share in my success.&lt;br /&gt;
&lt;br /&gt;
--[[User:SaturnNiGHTS|SaturnNiGHTS]] 15:49, 11 May 2008 (EST) (also uses &amp;quot;SatNiGHTS&amp;quot; on IRC)&lt;br /&gt;
&lt;br /&gt;
== BIOS format ==&lt;br /&gt;
&lt;br /&gt;
Not sure if this is the right place, but...&lt;br /&gt;
Does anybody know what the formats for the various files are in the bios package (or, even better, the bios.bak file that gets dumped on your disk before updating)? I'm getting progressivel lower and lower level in figuring out just what happens when the computer boots, and the BIOS is the last step... (BTW, I have an x60s)&lt;br /&gt;
&lt;br /&gt;
-- Unknown&lt;br /&gt;
&lt;br /&gt;
Yes.  It is a binary dump.  Sometimes, there is junk in the start of the file.  This should be data enough for you to figure out what you need.&lt;br /&gt;
&lt;br /&gt;
--[[User:Hmh|hmh]] 13:30, 26 February 2007 (CET)&lt;br /&gt;
&lt;br /&gt;
== BIOS update gone bad ==&lt;br /&gt;
&lt;br /&gt;
I tried to flash my [[:Category:600|ThinkPad 600]]'s bios with catastrophalic outcome; now the machine is unable to boot. I, being overly stupid and too self-confident, ignored all warnings about the media containing the bios image not being write-protected (I used one partition of the disk, in which I had installed FreeDOS). During the updating process, the machine started to write screens full of random characters in cyan coloured background. At that point I knew it was b0rked. I asked my friend about what to do now, he said I could open the machine up, locate the bios chip and use EPROM programmer/burner to write the bios image to the chip. He also said that because my machine is very old, there are probably not safeguards like dual bios or emergency bios update from floppy disk on boot. He continued by saying that the bios update file images from IBM/Lenovo website might not be actual , &amp;quot;pure&amp;quot; binaries which could be burned directly to the chip, instead they may contain some vendor-specific checksums which must be taken into account. In ThinkWiki there seems to be no page about bios flashing gone bad and restoring the machine to working condition. Or is there? I really need your help with this; I think I'm able to locate the bios, take it off and find a working EPROM burner, but where can I get a clean BIOS image without the vendor checksums? I'd be grateful for any references.&lt;br /&gt;
&lt;br /&gt;
--[[User:Usv|Usv]] 12:45, 31 March 2007 (CEST)&lt;br /&gt;
&lt;br /&gt;
== BIOS upgrade using USB flash drive ==&lt;br /&gt;
&lt;br /&gt;
I flashed my Thinkpad X41 succesfully with 2.09 BIOS using bootable USB flash drive with DOS 6.22 system files. (I guess Freedos would work aswell). I had such key laying around so I can't help you with making one (i used windows HP USB key format utility to make it long long time ago) &lt;br /&gt;
Everything is quite simple once you have USB key and are able to boot DOS from it.&lt;br /&gt;
&lt;br /&gt;
I downloaded the non-diskette ThinkPad BIOS update utility (74uj15us.exe) from lenovo support site and extracted the disk image from it using cabextract:&lt;br /&gt;
   {{cmduser|cabextract -F &amp;quot;*.IMG&amp;quot; 74uj15us.exe}}&lt;br /&gt;
&lt;br /&gt;
I mounted the image file (74UJ15US.IMG):&lt;br /&gt;
   {{cmdroot|mkdir /tmp/mnt}}&lt;br /&gt;
   {{cmdroot|mount -loop o 74UJ15US.IMG /tmp/mnt}}&lt;br /&gt;
&lt;br /&gt;
I mounted the usb key and made a directory for ibm flash utility files under it:&lt;br /&gt;
   {{cmdroot|mount /dev/sdb1 /mnt/usbflash}}&lt;br /&gt;
   {{cmdroot|mkdir /mnt/usbflash/ibm}}&lt;br /&gt;
&lt;br /&gt;
I copied the contents of /tmp/mnt to /mnt/usbflash/ibm:&lt;br /&gt;
   {{cmdroot|cp /tmp/mnt/*.* /mnt/usbflash/ibm}}&lt;br /&gt;
&lt;br /&gt;
Then I unmounted the USB stick and rebooted from it to DOS (F12 during boot -&amp;gt; USB HDD).&amp;lt;br&amp;gt; &lt;br /&gt;
In the DOS Prompt:&amp;lt;br&amp;gt;&lt;br /&gt;
   C:\cd ibm&lt;br /&gt;
   C:\IBM\flash2 /U&lt;br /&gt;
I waited for about 1 minute, then my thinkpad made two beeps to signal that the flashing was complete.&lt;br /&gt;
&lt;br /&gt;
PS. Because lacking reliable guide on how to make bootable DOS USB stick for ThinkPads I decided to leave this into discussion section. Please feel free to move/edit all the necessary stuff into the BIOS upgrade article if you know/figure out how to make bootable DOS USB stick in linux. I tried various tutorials including http://gentoo-wiki.com/HOWTO_Create_a_DOS_boot_USB_flash_drive, but didn't manage to boot into the Freedos prompt.&lt;br /&gt;
--[[User:ladoga|ladoga]] 04:56 17 Apr 2007&lt;br /&gt;
&lt;br /&gt;
==Reserving RAM for my X3100 graphics card==&lt;br /&gt;
Is there any way in the BIOS to reserve memory for my graphics card? I have 2 GB of RAM, which is more than enough for general system processes so I'd like to allocate some to my Intel graphics card. [[User:SteveSims|SteveSims]] 19:36, 5 November 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
==BIOS Doesn't want to install==&lt;br /&gt;
During the install process on a Z60m, I get the error message, &amp;quot;An update is not necessary at this time.  The process has been canceled.&amp;quot;  The program is right, I am using the same latest BIOS version.  However, I have a different, new boot splash image on it.  I was wondering if there were any way to force a reflash - the program gives me no way around this.&lt;br /&gt;
&lt;br /&gt;
Turns out that I had put the bios splash on incorrectly.  It should reflash if you change the splash image.  But in case you needed to reflash an identical bios for any reason, one thing that worked for me was downgrading and then upgrading.&lt;br /&gt;
&lt;br /&gt;
== Converting Current BIOS CD-ROM for USB Flash boot ==&lt;br /&gt;
&lt;br /&gt;
The latest Lenovo BIOS releases in bootable CD-ROM format (for the X200 in my case) are using hard disk emulation rather than floppy emulation.&lt;br /&gt;
&lt;br /&gt;
I peeked at the ISO with hexdump and found the hard disk image, including its MBR and partition table, starting at byte offset 0xd800 in the particular image I inspected. I won't explain the crude way I found this, but it was easy to verify. I used &amp;quot;tail -c +55297 foo.iso &amp;gt; boot.img&amp;quot; and then loaded this up in a loopback device to verify that fdisk saw a proper partition table.&lt;br /&gt;
&lt;br /&gt;
Simply dumping this image to a USB flash drive via dd if=boot.img of=/dev/sdb then created a bootable drive and I successfully booted this and updated my X200 BIOS. Your mileage may vary...&lt;br /&gt;
&lt;br /&gt;
-- karlcz Oct 16 16:09:40 UTC 2008&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Floppy Disk, Failure Mode ==&lt;br /&gt;
&lt;br /&gt;
I've just had the mispleasure of toasting my wife laptop during a floppy HC4 flash. The problem was that the read from floppy failed with 'abort, retry, fail'. After a couple of 'retry' attempts, I mistakenly hit 'fail' (rather than 'abort'). The program then decided to flash with whatever it had in memory and toasted the machine (which will not turn on at all now).&lt;br /&gt;
&lt;br /&gt;
--[[User:Mungewell|Mungewell]] 15:09, 29 August 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Huge Re-write ==&lt;br /&gt;
I found this page to be horribly confusing and hard-to-read. There was a fair bit of duplication, e.g., using '''memdisk''' to boot from GRUB was covered at least twice.  There was some clutter, e.g., discussion of cleaning floppy drive heads.  And just a general disorganization.   So, I decided to &amp;quot;fix&amp;quot; it.&lt;br /&gt;
&lt;br /&gt;
I broke the update (&amp;quot;upgrade&amp;quot;) process down into two basic steps: how to get the right file, and how to install it.  I moved things around based on that basic structure, and then re-formatted a lot of stuff.  So, the page contents ''look'' much more different than they actually ''are''.&lt;br /&gt;
&lt;br /&gt;
Please check for technical accuracy if you have a moment.  -- [[User:Pi3832|Pi3832]] 07:46, 15 December 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
=== Moving &amp;quot;testing&amp;quot; tables ===&lt;br /&gt;
The tables of what models have been tested with various methods are great info, but take up a lot of space on the page.  Maybe they should be sub-pages? -- [[User:Pi3832|Pi3832]] 07:46, 15 December 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Wrong mkisofs/genisoimage commands will just get people stuck==&lt;br /&gt;
Giving people the following example will just get them stuck!&lt;br /&gt;
 $ genisoimage -b bootfloppy.img -o bootcd.iso 1WUJ25US.IMG #or mkisofs for older systems&lt;br /&gt;
 genisoimage: Uh oh, I cant find the boot image 'bootfloppy.img' !&lt;br /&gt;
&lt;br /&gt;
The proper example needs to be&lt;br /&gt;
 $ genisoimage -b 1WUJ25US.IMG -c boot.catalog -o bootcd.iso 1WUJ25US.IMG&lt;br /&gt;
&lt;br /&gt;
See [http://article.gmane.org/gmane.linux.hardware.thinkpad/40117]. [[User:Jidanni|Jidanni]] 23:53, 23 January 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>Jidanni</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=BIOS_Upgrade&amp;diff=45447</id>
		<title>BIOS Upgrade</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=BIOS_Upgrade&amp;diff=45447"/>
		<updated>2010-01-23T23:27:40Z</updated>

		<summary type="html">&lt;p&gt;Jidanni: /* Booting using GRUB */ grub2&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;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
This page is meant to describe ways to update the BIOS on a ThinkPad that only runs Linux for users that don't have ready access to Windows. If you have Windows on your ThinkPad you can just boot into it and follow instructions on the Lenovo website.&lt;br /&gt;
&lt;br /&gt;
Updating the BIOS in Linux (with few exceptions) '''is not officially supported''' by Lenovo.  However there are work arounds.&lt;br /&gt;
&lt;br /&gt;
{{WARN|By following any of the instructions here you are accepting the '''very real risk''' of turning your ThinkPad into a big expensive paper weight, as a firmware update gone wrong can create unfix-able problems.&lt;br /&gt;
&lt;br /&gt;
'''Proceed at your own risk!'''}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Downloading New Firmware =&lt;br /&gt;
{{WARN|Flashing the wrong firmware for your hardware may cause permanent damage to your ThinkPad.  It is up to you to confirm that the firmware you are using is correct.}}&lt;br /&gt;
&lt;br /&gt;
A list of links to firmware downloads can be found at [[BIOS Upgrade Downloads]] for most Thinkpad models.  You can also check the Lenovo Support website's [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=TPAD-MATRIX|ThinkPad driver matrix].&lt;br /&gt;
&lt;br /&gt;
Lenovo provides firmware upgrades in a variety of packages:&lt;br /&gt;
* Diskette&lt;br /&gt;
* Non-diskette&lt;br /&gt;
* Linux diskette&lt;br /&gt;
* BIOS Utility&lt;br /&gt;
* Bootable CD&lt;br /&gt;
&lt;br /&gt;
Not every type of package is available for every model.&lt;br /&gt;
&lt;br /&gt;
The ''BIOS Utility'' and ''Bootable CD'' packages combine the BIOS and ECP firmwares.  For the other packages, there is one for each firmware.&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; style=&amp;quot;width:20em;&amp;quot;&lt;br /&gt;
| {{HELP|Can an image be extracted from a &amp;quot;Linux diskette&amp;quot; .exe file?}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The ''Linux diskette'' is just the ''Diskette'' package that runs on Linux instead of Windows/DOS.  It's unknown if a boot image can be extracted from it.  &lt;br /&gt;
&lt;br /&gt;
You may need to try different packages to find the one from which you can extract a boot image.&lt;br /&gt;
&lt;br /&gt;
== Two Firmwares: BIOS and ECP ==&lt;br /&gt;
{{WARN|Flashing incompatible firmwares, or flashing them in the wrong order, may cause permanent damage to your ThinkPad.}}&lt;br /&gt;
&lt;br /&gt;
It is important to understand that Thinkpads from IBM have two separate firmwares: the BIOS, and the Embedded Controller Program (ECP).&lt;br /&gt;
&lt;br /&gt;
A given BIOS version will require a certain version of the ECP.  You must read the Lenovo website and/or .txt files to confirm which BIOS is compatible with which ECP, and '''the order in which to update them'''.  &lt;br /&gt;
&lt;br /&gt;
=== Update Order ===&lt;br /&gt;
&lt;br /&gt;
The IBM documentation is sometimes unclear about the order in which these two firmwares should be updated.  When in doubt (i.e. IBM didn't provide specific instructions for your model or a particular firmware update), '''update the ECP first, and then the BIOS'''.  Also, make sure to do the two updates '''immediately one after the other'''.&lt;br /&gt;
&lt;br /&gt;
The EC firmware is usually much better at backwards compatibility than the BIOS.&lt;br /&gt;
&lt;br /&gt;
(Updaters for newer models take care of both BIOS and EC, and use automatically whatever sequence is needed, so you don't have to worry about it.)&lt;br /&gt;
&lt;br /&gt;
== Installed Firmware ==&lt;br /&gt;
You can check the current BIOS and ECP versions on your ThinkPad by using '''dmidecode'''. For example:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|dmidecode -s bios-version}}&lt;br /&gt;
&lt;br /&gt;
 1RETDRWW (3.23 )&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|dmidecode -t 11}}&lt;br /&gt;
&lt;br /&gt;
 # dmidecode 2.9&lt;br /&gt;
 SMBIOS 2.33 present.&lt;br /&gt;
 Handle 0x0029, DMI type 11, 5 bytes&lt;br /&gt;
 OEM Strings&lt;br /&gt;
         String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&lt;br /&gt;
&lt;br /&gt;
Showing BIOS version 3.23 (1RETDRWW) and ECP version 3.04 (1RHT71WW).&lt;br /&gt;
&lt;br /&gt;
===DMI IDs===&lt;br /&gt;
Please consider updating the [[List of DMI IDs]] before (and after) updating your BIOS.&lt;br /&gt;
&lt;br /&gt;
= Updating Firmware =&lt;br /&gt;
&lt;br /&gt;
There are two basic steps to updating the firmware (either the BIOS or the ECP) on a ThinkPad not running Windows:&lt;br /&gt;
# Extract a bootable update image&lt;br /&gt;
# Boot from that image&lt;br /&gt;
&lt;br /&gt;
== Extracting an update image ==&lt;br /&gt;
{{WARN|Though this process has been successfully tested on many versions of .exe files found on IBMs website, that doesn't mean it will work for all of them.  '''Proceed at your own risk'''.  Consult the testing tables farther down of this page to see other users' experience with your model Thinkpad.}}&lt;br /&gt;
The various .exe installers from Lenovo all appear to be just a wrapper license program around Windows .cab files (see [[How_to_change_the_BIOS_bootsplash_screen|BIOS-Bootsplash]]).  If you install the Linux program [http://freshmeat.net/projects/cabextract/ '''cabextract'''] you can expand these .cab files directly.  For example, if you downloaded {{path|1iuj13us.exe}} from Lenovo:&lt;br /&gt;
&lt;br /&gt;
:{{cmduser|cabextract 1iuj13us.exe}}&lt;br /&gt;
&lt;br /&gt;
 Extracting cabinet: 1iuj13us.exe&lt;br /&gt;
  extracting 1IUJ13US.IMG&lt;br /&gt;
  extracting BIOSUPTP.EXE&lt;br /&gt;
  extracting DOBOOT.EXE&lt;br /&gt;
  extracting DOSBOOT.COM&lt;br /&gt;
  extracting DOSBOOT.SYS&lt;br /&gt;
  extracting DOSBOOT.VXD&lt;br /&gt;
  extracting DOSBOOT2.COM&lt;br /&gt;
  extracting ECTLUPTP.EXE&lt;br /&gt;
  extracting EFLASHAS.SYS&lt;br /&gt;
  extracting HDFWUPTP.EXE&lt;br /&gt;
  extracting IBMTPI.XML&lt;br /&gt;
 All done, no errors.&lt;br /&gt;
&lt;br /&gt;
The file we want is '''FILENAME.IMG''', with &amp;quot;FILENAME&amp;quot; being the .exe. you downloaded.  E.g., {{path|1IUJ13US.IMG}}.&lt;br /&gt;
&lt;br /&gt;
(If this does not work for the Non-diskette .exe, try it on the Diskette .exe.  It's reported, for example, that the Non-diskette .exe for BIOS version 3.23 for the T41p was not extractable, but the Diskette .exe worked perfectly, with {{cmduser|cabextract}} delivering a .IMG file.)&lt;br /&gt;
&lt;br /&gt;
==== Testing the Image ====&lt;br /&gt;
&lt;br /&gt;
You can test that FILENAME.IMG is really a floppy image by running:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|mkdir /tmp/mntfloppy}}&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|mount -o loop FILENAME.IMG /tmp/mntfloppy}}&lt;br /&gt;
&lt;br /&gt;
If a '''ls''' command on the image returns what looks like a DOS floppy, and no read errors were displayed, you have a pretty good chance that the image is usable.  For example:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|ls /tmp/mntfloppy}}&lt;br /&gt;
 $0195000.FL1  069580.PAT  06d2.HSH     IBMDOS.COM    TPCHKS.EXE&lt;br /&gt;
 0691.HSH      06D0.PAT    06d6.HSH     LOGO.BAT      UPDTFLSH.EXE&lt;br /&gt;
 0691.PAT      06D1.PAT    06d8.HSH     LOGO.SCR      UPDTMN.EXE&lt;br /&gt;
 0694.HSH      06D2.PAT    CHKBMP.EXE   PHLASH16.EXE  USERINT.EXE&lt;br /&gt;
 0694.PAT      06D6.PAT    COMMAND.COM  PREPARE.EXE   UTILINFO.EXE&lt;br /&gt;
 0695.HSH      06D8.PAT    CONFIG.SYS   PROD.dat      lcreflsh.bat&lt;br /&gt;
 0695.PAT      06d0.HSH    FLASH2.EXE   QKFLASH.EXE&lt;br /&gt;
 069580.HSH    06d1.HSH    IBMBIO.COM   README.TXT&lt;br /&gt;
&lt;br /&gt;
Unmount the image after you are done testing:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|umount /tmp/mntfloppy}}&lt;br /&gt;
&lt;br /&gt;
== Booting from update image ==&lt;br /&gt;
Now that you have a bootable image for the correct update for you hardware, you need to do is boot from that image to install the update.&lt;br /&gt;
&lt;br /&gt;
There are different ways to do that:&lt;br /&gt;
* [[#Booting from a CD|Boot from a CD]]&lt;br /&gt;
* [[#Booting_using_GRUB|Boot from the image, using GRUB]]&lt;br /&gt;
* [[#Booting_from_a_floppy|Boot from a floppy]]&lt;br /&gt;
* [[#Booting_from_a_USB_Flash_drive|Boot from a USB Flash drive]]&lt;br /&gt;
&lt;br /&gt;
=== Booting from a CD ===&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; style=&amp;quot;width:40em;&amp;quot;&lt;br /&gt;
|{{HINT|If there is a ''Bootable CD'' image available, e.g., FILENAME.iso, just download that, instead of mucking around with image files.}}&lt;br /&gt;
|}&lt;br /&gt;
If you are going to update the firmware by booting from a CD, you need to turn FILENAME.IMG that you extracted above into an .iso file.&lt;br /&gt;
&lt;br /&gt;
The [http://en.wikipedia.org/wiki/El_Torito_%28CD-ROM_standard%29 El Torito Bootable CD Specification] is a wonderful thing.  Thanks to it, a bootable CD can be made with a bootable floppy image in such as way that the CD believes that it is a 2.88 MB floppy drive.  This allows you to replace a boot floppy by a boot CD in nearly all situations.&lt;br /&gt;
&lt;br /&gt;
It is very easy to create such a bootable CD ISO image in Linux using the '''mkisofs''' tool{{footnote|1}}.  Run a command as follows:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|mkisofs -b bootfloppy.img -o bootcd.iso FILENAME.IMG}} #note: mkisofs is often now called '''genisoimage'''&lt;br /&gt;
&lt;br /&gt;
Where FILENAME.IMG is the name of the image file extracted above, for example {{path|1IUJ13US.IMG}}.  This creates a CD with one file on it and marks that file as the boot image.&lt;br /&gt;
&lt;br /&gt;
You can now burn the {{path|bootcd.iso}} to a CD in your favorite CD-burning program.&lt;br /&gt;
{{WARN|By following any of the instructions here you are accepting the '''very real risk''' of turning your ThinkPad into a big expensive paper weight, as a firmware update gone wrong can create unfix-able problems.  '''Proceed at your own risk!'''}}&lt;br /&gt;
&lt;br /&gt;
Boot from the CD to update your firmware.  Remember to have [[BIOS_Upgrade#Two_Firmwares:_BIOS_and_ECP|both BIOS and ECP firmware boot-CDs]] ready, as needed, and use them in the [[#Proper_Order|proper order]].&lt;br /&gt;
&lt;br /&gt;
==== Successful tests ====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; style=&amp;quot;font-size:80%; vertical-align:top;&amp;quot;&lt;br /&gt;
! Model&lt;br /&gt;
! Tested by, and comments&lt;br /&gt;
|-&lt;br /&gt;
| {{600E}} 2645-4AU ||&lt;br /&gt;
* George Tellalov &amp;lt;gtellalov_dontspamme@bigfoot.com&amp;gt;. BIOS 1.16 from spsdin36.exe worked perfectly with the method bootable cd from floppy image. I highly recommend this upgrade because it made my ibm-acpi module load (it wouldn't load before) and fixed some suspend to ram problems. Here's the [http://george.tellalov.info/bios_upgrade_600e_spsdin36.iso cd image] I used. Use at your own risk. You can send me a chocolate if it works for you ;)&lt;br /&gt;
|-&lt;br /&gt;
| {{600E}} 2645-5bU ||&lt;br /&gt;
* Mike Vincent&amp;lt;matchstc-putobvioushere.com&amp;gt;. Bios 1.16 from spsdin36.exe and then to the boot cd worked great for me. Thought I had bricked it three separate times using a &amp;quot;real&amp;quot; floppy! Each from different diskettes .The updater would start, give me the &amp;quot;going to take30 seconds&amp;quot; speech...and then access the HD for 10 minutes. Each time it would reboot fine. Did the cd as described above...worked great first time. Perhaps 10 year old seldom used floppy disc drives have some challenges?&lt;br /&gt;
|-&lt;br /&gt;
| {{600X}} 2645 ||&lt;br /&gt;
* Jonathan Byrne &amp;lt;jonathan@RemoveThisToMailMe.yamame.org&amp;gt;. BIOS 1.11 from spsuit55.exe worked perfectly using cabextract/CD method.&lt;br /&gt;
|-&lt;br /&gt;
| {{600X}} 2645 ||&lt;br /&gt;
* Andy Barnes &amp;lt;andy@RemoveThisToMailMe.itchypaws.co.uk&amp;gt;. As per Jonathan above, extracted BIOS 1.11 from spsuit55.exe using cabextract, created a CD boot image and burnt to CD.  Worked flawlessly - thanks to everyone who contributed to this article!&lt;br /&gt;
|-&lt;br /&gt;
| {{A20p}} 2629-6VU ||&lt;br /&gt;
* Chris Pickett http://www.sable.mcgill.ca/~cpicke/. BIOS 1.11 flashed fine with cabextract/CD method.&lt;br /&gt;
|-&lt;br /&gt;
| {{A21e}} 2628-JXU ||&lt;br /&gt;
* Amit Gurdasani &amp;lt;gurdasani at yahoo dot com&amp;gt;. BIOS 1.13 flashed fine with cabextract/CD method. Alarmingly, after the BIOS update, the laptop beeped but did not shut down as was indicated onscreen -- that was frozen on the &amp;quot;do not shut down the laptop&amp;quot; screen. On power down and up again, the BIOS setup showed the newer BIOS image running, and Linux booted up fine. Linux ACPI didn't complain about the BIOS being too old either.&lt;br /&gt;
|-&lt;br /&gt;
| {{A31p}} 2653 ||&lt;br /&gt;
* Matthias Meinke largeeddy@gmx.at, BIOS 1.09 1NET15WW flashed fine with cabextract/CD method.&lt;br /&gt;
|-&lt;br /&gt;
| {{A31}} 2652 ||&lt;br /&gt;
* [[User:Wnoise|Aaron Denney]], BIOS 1.13 flashed fine with cabextract/CD method.  The cabextract/CD method also worked for BIOS 1.10.&lt;br /&gt;
|-&lt;br /&gt;
| {{R30}} ||&lt;br /&gt;
* Jarrod, 30 August 2007, Thinkpad R30 Type 2656-E0M. BIOS updated to 1.40 (1CETF0WW) using floppy disk/mkisofs/cdrecord. Worked fine, no problems.&lt;br /&gt;
|-&lt;br /&gt;
| {{R31}} ||&lt;br /&gt;
* [http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/1998-January/009743.html Mathias Dalheimer]&lt;br /&gt;
* Sebastian Sauer (with cabextract/CD method)&lt;br /&gt;
|-&lt;br /&gt;
| {{R40}} ||&lt;br /&gt;
* Matthew Lambie, http://lambie.org&lt;br /&gt;
|-&lt;br /&gt;
| {{R50}} 1836-3SU ||&lt;br /&gt;
* jlbartos &amp;lt;jlbartos at hotmail dot com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{R50e}} 1834-PTG ||&lt;br /&gt;
* item &amp;lt;item at freemail dot hu&amp;gt; : successfully finished with cabextract/CD method for &amp;quot;1wuj25us.exe&amp;quot; (BIOS version 1WET90WW (2.10), Release Date: 2006/12/22)&lt;br /&gt;
* Christos Nouskas &amp;lt;nouskas at gmail dot com&amp;gt;: upgraded to BIOS version 1WET90WW (2.10) and EC version 1VHT28WW (1.04) using GRUB (BIOS first / EC second)&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} 1829 ||&lt;br /&gt;
* Robert Uhl &amp;lt;rob dot uhl at gmx dot de&amp;gt;, Jellby &amp;lt;jellby at yahoo dot com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} 1830-RM7 ||&lt;br /&gt;
* Will Parker &amp;lt;stardotstar at sourcepoint dot com dot au&amp;gt; successfully flashed 3.20 using existing 3.04 ECP and retained custom boot splash.&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} 2887 ||&lt;br /&gt;
* Ingo van Lil &amp;lt;inguin at gmx dot de&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} 1858 ||&lt;br /&gt;
* Stuart McCord &amp;lt;stuart dot mccord at gmail dot com&amp;gt; flashed both BIOS and ECP using cabextract, BIOS flashed first as on IBM website&lt;br /&gt;
|-&lt;br /&gt;
| {{T20}} ||&lt;br /&gt;
* Franz Hassels &amp;lt;fhassel at suse dot com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{T22}} ||&lt;br /&gt;
* Daniel Maier &amp;lt;nusse teamidiot de&amp;gt;&lt;br /&gt;
* Mathias Behrle (with cabextract/CD method, Version 1.07 =&amp;gt; 1.12) --[[User:Mathiasb|Mathiasb]] 11:58, 14 December 2006 (CET)&lt;br /&gt;
* Bob Skaroff (cabextract/CD), 1.06 =&amp;gt; 1.12&lt;br /&gt;
* Leo Butler (cabextract/CD), 1.11 =&amp;gt; 1.12&lt;br /&gt;
|-&lt;br /&gt;
| {{T23}} ||&lt;br /&gt;
* Bart Snapp &amp;lt;snapp at uiuc dot edu&amp;gt; Note: I followed IBM's instructions to flash the BIOS '''first''' and the Embedded Controller '''second'''.&lt;br /&gt;
* Moy Easwaran: BIOS 1.18 / EC 1.06a via cabextract and CD-boot.  The BIOS-update exe generated errors in Windows 2000.&lt;br /&gt;
* Joe Renes: BIOS 1.18 / EC 1.06a on 2006-03-20 via cabextract and CD-boot. Piece of cake.&lt;br /&gt;
* Raphael Errani: BIOS 1.20 / EC 1.06a on 2006-11-06 via cabextract and CD-boot (using mkisofs). Worked without errors. 1st Bios, 2nd EC&lt;br /&gt;
* Myron Getman: BIOS 1.20 / EC 1.06a on 9/10/08 via cabextract --&amp;gt; k3b --&amp;gt; CD-boot.  Worked like a charm.  First BIOS update with Linux!&lt;br /&gt;
* Leo Butler: BIOS 1.13 / EC 1.04 to 1.20/1.06a via cabextract and syslinux/memdisk boot through grub. Worked like a charm and no wasted CD.&lt;br /&gt;
|-&lt;br /&gt;
| {{T30}} ||&lt;br /&gt;
* Martin GÃ¼hring &amp;lt;guehring at gmail.com&amp;gt; BIOS 2.10 via cabextract the Non-Diskette BIOS -&amp;gt; mkisofs '''in the directory the exe was extracted''' to generate the iso -&amp;gt; burn the iso -&amp;gt; boot the CD&lt;br /&gt;
|-&lt;br /&gt;
| {{T40}} ||&lt;br /&gt;
* Sean Dague, http://dague.net&lt;br /&gt;
* Justin Mason, http://jmason.org&lt;br /&gt;
* Ivanhoe (Bios 3.19)&lt;br /&gt;
* Alessandro Raulino (roger_2) EC 3.04 &amp;amp; BIOS 3.23 flashed with cabextract/CD method&lt;br /&gt;
* Nick Jenkins, using BIOS 3.23 with the '''Non-diskette updater + cabextract method''', then [[#Creating_a_Bootable_CD_from_a_Floppy_Image|created a bootable CD from the cabextracted .IMG file]], then boot that ISO, and it worked great!&lt;br /&gt;
|-&lt;br /&gt;
| {{T40p}} ||&lt;br /&gt;
* Lukas KrÃ¤henbÃ¼hl, ismo at pop dot agri dot ch&lt;br /&gt;
* Thomas Achtemichuk, tom at tomchuk dot com. BIOS 3.15 flashed fine with cabextract/CD method&lt;br /&gt;
|-&lt;br /&gt;
| {{T41}} ||&lt;br /&gt;
* Lev Givon (Bios 3.15 / EC 3.04) &amp;lt;lev at columbia dot edu&amp;gt;&lt;br /&gt;
* Ernesto HernÃ¡ndez-Novich (Bios 3.19 / CP 3.04) &amp;lt; emhn at usb dot ve &amp;gt;&lt;br /&gt;
* [http://maebmij.org James Ballantine] (Bios 3.21 / CP 3.04) using nondisk/cabextract/CDRW&lt;br /&gt;
|-&lt;br /&gt;
| {{T41p}} ||&lt;br /&gt;
* Nils Newman, work great. (Version: Bios 3.14 / Embedded Controller 3.04)&lt;br /&gt;
|-&lt;br /&gt;
| {{T42}} 2373-JXG ||&lt;br /&gt;
* magarzo &amp;lt;mdr.magarzo at gmail.com&amp;gt; (BIOS v.3.23 / Embedded Controller v.3.04 / both with cabextract to non-diskette v. plus Bootable CD)&lt;br /&gt;
|-&lt;br /&gt;
| {{T42}} ||&lt;br /&gt;
* Dan (BIOS 3.20 / EC 3.04, cabextract/CD method) &amp;lt;tronic171 at evilphb.org&amp;gt;&lt;br /&gt;
* Hirosh Dabui &amp;lt;hirosh@dabui.de&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{T42p}} ||&lt;br /&gt;
* Robert Schiele &amp;lt;rschiele@uni-mannheim.de&amp;gt;, Joern Heissler &amp;lt;joern@heissler.de&amp;gt;, Hirosh Dabui &amp;lt;hirosh@dabui.de&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}} 1871-W34 ||&lt;br /&gt;
* Florian Boucault &amp;lt;florian at boucault dot ath dot cx&amp;gt; (Version: Bios 1.23 / Embedded Controller 1.03)&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}} 2886 ||&lt;br /&gt;
* Till Heikamp &amp;lt;t dot heikamp at geniusbytes dot com&amp;gt; (Bios 1.22 to 1.29, Embedded Controller 1.03 to 1.06)&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}} ||&lt;br /&gt;
* Conrad Rentsch &amp;lt;Conrad dot Rentsch at t-online dot de&amp;gt; (Version: Bios 1.29 / Embedded Controller 1.06)&lt;br /&gt;
* Tom Heady &amp;lt;tom-thinkwiki.org@punch.net&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{T60}} 1951 ||&lt;br /&gt;
* Roman Komkov &amp;lt;roman  at komkov dot org dot ru&amp;gt; (Bios 1.07 to 2.13) Successfully upgraded from CD Image&lt;br /&gt;
|-&lt;br /&gt;
| {{T61}}  ||&lt;br /&gt;
* Kai Weber &amp;lt;kai.weber  at glorybox dot org&amp;gt; (Bios 1.06 to 1.26) Successfully upgraded from CD Image&lt;br /&gt;
|-&lt;br /&gt;
| {{X20}} ||&lt;br /&gt;
* Neil Caunt &amp;lt;retardis at gmail dot com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{X21}} ||&lt;br /&gt;
* Patrick Leickner &amp;lt;ranma at web dot de&amp;gt;, (BIOS 2.21-&amp;gt;2.25 / EC 1.31-&amp;gt;1.36) via non-disk/cabextract/mkisofs/cdrecord&lt;br /&gt;
|-&lt;br /&gt;
| {{X22}} ||&lt;br /&gt;
* David Emery &amp;lt;dave at skiddlydee dot com&amp;gt;,  (EC 1.30, BIOS 1.32 using non-disk/cabextract/CD method)&lt;br /&gt;
|-&lt;br /&gt;
| {{X23}} ||&lt;br /&gt;
* Nils Faerber &amp;lt;nils dot faerber at kernelconcepts dot de&amp;gt; (Embedded Controller 1.30, BIOS 1.32 with cabextract/CD method)&lt;br /&gt;
|-&lt;br /&gt;
| {{X30}} ||&lt;br /&gt;
* Hella Breitkopf, [http://www.unixwitch.de/ www]  (Embedded Controller 1.04, BIOS 1.07 with cabextract/CD method)&lt;br /&gt;
* William Roe &amp;lt;willroe at gmail dot com&amp;gt; (Embedded Controller 1.06, BIOS 1.09 - cabextract/mkisofs/wodim)&lt;br /&gt;
|-&lt;br /&gt;
| {{X31}} ||&lt;br /&gt;
* Grzegorz KuÅ›nierz &amp;lt;koniu at sheket dot org&amp;gt;  (Embedded Controller 1.08, BIOS 3.01 with cabextract/CD method)&lt;br /&gt;
|-&lt;br /&gt;
| {{X40}} ||&lt;br /&gt;
* Robbie Stone &amp;lt;robbie@serendipity.cx&amp;gt;&lt;br /&gt;
* Andy Shevchenko &amp;lt;andy.shevchenko@gmail.com&amp;gt;   (Fine by cabextract/CD method)&lt;br /&gt;
|-&lt;br /&gt;
| {{Z60m}} ||&lt;br /&gt;
* [[User:Morle|Morle]] 01:09, 17 Nov 2007 (CEST),  (Embedded Controller 1.18 and Bios 1.24 with cabextract/CD method)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Unsuccessful tests ====&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; style=&amp;quot;font-size:80%; vertical-align:top;&amp;quot;&lt;br /&gt;
! Model&lt;br /&gt;
! Tested by, and comments&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;pre&amp;gt;      &amp;lt;/pre&amp;gt; &amp;lt;!-- Placeholder --&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Booting using GRUB ===&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:75%&amp;quot; | {{WARN|Many have warned '''not''' to use the SYSLINUX image-loader '''memdisk''' to boot firmware update images.}}&lt;br /&gt;
| style=&amp;quot;font-size:80%&amp;quot; | {{HELP|Who are these &amp;quot;many&amp;quot;?  Link to a discussion?}}&lt;br /&gt;
|}&lt;br /&gt;
Once the bootable image, FILENAME.IMG, is extracted from the .exe, it can be booted directly through GRUB without the need of burning a CD, using the [http://syslinux.zytor.com/ SYSLINUX] image-loader '''[http://syslinux.zytor.com/memdisk.php memdisk]'''.&lt;br /&gt;
&lt;br /&gt;
Locate the '''memdisk''' file from the syslinux package. You can search for it with '''find''': &lt;br /&gt;
&lt;br /&gt;
{{cmdroot|find /usr -name memdisk}} #or just use &amp;quot;dlocate memdisk&amp;quot; or &amp;quot;locate memdisk&amp;quot; if these programs are installed&lt;br /&gt;
&lt;br /&gt;
If {{path|/usr/.../memdisk}} is not present, syslinux is not installed.  You will need to install it to boot a .IMG from GRUB.&lt;br /&gt;
&lt;br /&gt;
Copy both the '''FILENAME.IMG''' and '''memdisk''' files into {{path|/boot}} directory.  For example:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|cp ./FILENAME.IMG /usr/share/syslinux/memdisk /boot/}}&lt;br /&gt;
&lt;br /&gt;
Open {{path|/boot/grub/menu.lst}} in your favourite editor.  '''Copy''' the active section into a '''new section''', and edit the new section:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Parameter&lt;br /&gt;
! Instructions&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| ''title''  || Pick a name for the new section.  This will show up in the GRUB boot menu. || &amp;lt;tt&amp;gt;title IBM ECP Update&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| ''root''   || Do not change.  This is the partition containing the {{path|/boot}} directory       || &amp;lt;tt&amp;gt;root (hd0,0)&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| ''kernel'' || '''/boot/memdisk''' will allow you to boot an image file.                  || &amp;lt;tt&amp;gt;kernel /boot/memdisk&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| ''initrd'' || This is the name of the firmware-updater image file, e.g., 1IUJ13US.IMG    || &amp;lt;tt&amp;gt;initrd /boot/1IUJ13US.IMG&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Do '''not''' modify the original section in {{path|/boot/grub/menu.lst}}, or you might not be able to boot back to the operating system.&lt;br /&gt;
&lt;br /&gt;
If you have [[#Two_Firmwares:_BIOS_and_ECP|two firmware updates to do]], you will need a section for each firmware's FILENAME.IMG in {{path|/boot/grub/menu.lst}}.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|If both BIOS and ECP are to be updated, be sure to update them in the [[#Proper_Order|proper order]].}}&lt;br /&gt;
&lt;br /&gt;
{{WARN|By following any of the instructions here you are accepting the '''very real risk''' of turning your ThinkPad into a big expensive paper weight, as a firmware update gone wrong can create unfix-able problems.  '''Proceed at your own risk!'''}}&lt;br /&gt;
&lt;br /&gt;
Reboot your computer, entering the GRUB menu and selecting ''IBM BIOS Update'', or whatever you named the new section in {{path|/boot/grub/menu.lst}}.&lt;br /&gt;
&lt;br /&gt;
==== GRUB2 ====&lt;br /&gt;
With grub2, one would ''append'' the following to ''/boot/grub/grub.cfg'' :&lt;br /&gt;
 menuentry &amp;quot;My BIOS Upgrade&amp;quot; {&lt;br /&gt;
 set root=(hd0,0) #should match the others in your grub.cfg&lt;br /&gt;
 linux /boot/memdisk&lt;br /&gt;
 initrd /boot/1WUJ25US.IMG #or whatever yours is&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==== Successful tests ====&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; style=&amp;quot;font-size: 80%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Model&lt;br /&gt;
! BIOS&lt;br /&gt;
! ECP&lt;br /&gt;
! Tested by&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| {{R30}} 2656-64G || v.1.40            ||                   || [[User:english.voodoo|Yuri Spirin]] ||&lt;br /&gt;
|-&lt;br /&gt;
| {{R40}} 2723     || 1OHJ11WW.IMG      || 1PUJ25US.IMG      || [[User:qunying|Qunying]] || memdisk from syslinux 3.70 (slackware 12.1)&lt;br /&gt;
|-&lt;br /&gt;
| {{R50e}} 1834NV1 || 1WUJ25US.IMG      ||                   || [[User:Jidanni|Jidanni]] || memdisk from syslinux-common 2:3.84+dfsg-1 (Debian), grub2 (1.96+20080724-16)&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} 2888     ||                   ||                   ||                          || &lt;br /&gt;
|-&lt;br /&gt;
| {{T40}} 2373     || 1RUJ37US.IMG      || 1RHJ10U2.IMG      || [[User:Euphoria|Euphoria]] || memdisk from syslinux 1:3.31-4 (Debian package version)&lt;br /&gt;
|-&lt;br /&gt;
| {{T40}} 2373     || 1RHJ10U2.IMG&amp;lt;br /&amp;gt;(3.04, 2004-11-15) || 1RUJ37US.IMG&amp;lt;br /&amp;gt;(3.23, 2007-07-03) || [[User:Morphics|Morphics]] || cabextract and memdisk from syslinux 3:1.36-4ubuntu5&lt;br /&gt;
|-&lt;br /&gt;
| {{T41}} 2373     || 1RUJ37US.IMG&amp;lt;br /&amp;gt;(3.23, 2007-07-03) || || [[User:Tonko|Tonko]] || Fedora 12&lt;br /&gt;
|-&lt;br /&gt;
| {{T41p}} 2373    || 1RUJ37US.IMG&amp;lt;br /&amp;gt;(3.23, 2007-07-03) ||  || [[User:Deggel|Deggel]] || cabextract and memdisk from syslinux 3.71 on gentoo &lt;br /&gt;
|-&lt;br /&gt;
| {{T41p}} 2373    ||  ||  || [[User:MrStaticVoid|James Lee]]   || &lt;br /&gt;
|-&lt;br /&gt;
| {{X31}} 2673-CBU ||  ||  || [[User:JanTopinski|Jan Topinski]] || &lt;br /&gt;
|-&lt;br /&gt;
| {{X31}} 2672-CXU ||  ||  || [[User:TheAnarcat|TheAnarcat]]    || &lt;br /&gt;
|-&lt;br /&gt;
| {{X31}} 2673-58G ||  ||  || [[User:FaUl|FaUl]]                || &lt;br /&gt;
|-&lt;br /&gt;
| {{X31}} 2672-PG9 ||  ||  || [[User:Starox|Starox]]            || a big moment between starting update and the updating window &lt;br /&gt;
|-&lt;br /&gt;
| {{X40}} 2371     || 2.07 1uuj21us.exe || 1.62 1uhj10us.exe || [[User:Antialize|Jakob Truelsen]] || Worked on two X40-2371 &lt;br /&gt;
|-&lt;br /&gt;
| {{X40}} 2386     || 2.08 1uuj22us.exe || 1.62 1uhj10us.exe || [[User:Antialize|Galen Seitz]] || memdisk from syslinux 3.61&lt;br /&gt;
|}&lt;br /&gt;
(More successful grub tests are scattered in the previous table too.)&lt;br /&gt;
==== Unsuccessful tests ====&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; style=&amp;quot;font-size: 80%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Model&lt;br /&gt;
!  style=&amp;quot;width:10em;&amp;quot; | BIOS&lt;br /&gt;
! ECP&lt;br /&gt;
! Tested by&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}} 2668-F7G || 1.29 1YUJ18US.IMG ||  || [[User:Maus3273|Maus3273]] || I got into the bios program, but the machine never restarts after initiating the upgrade.&lt;br /&gt;
|-&lt;br /&gt;
| {{X41}} 2525-FAG || 2.09 74UJ15US     ||  || [[User:Ukleinek|Uwe Kleine-König]] || booted fine (Debian syslinux 2:3.71+dfsg-5), but didn't succeed to write, just hang at &amp;quot;Don't restart or remove diskette etc. pp&amp;quot; (not bricked).  Worked fine via CD method.&lt;br /&gt;
|- &lt;br /&gt;
| {{X41}} 2525-F8G || 2.06 74UJ12US.IMG&amp;lt;br /&amp;gt;2.07 74UJ13US.IMG&amp;lt;br /&amp;gt;2.09 74UJ15US.IMG ||  || [[User:ladoga|Lauri Koponen]] || hangs while initializing the actual BIOS flashing process&amp;lt;br /&amp;gt; ECP: 1.02 74HJ03US.IMG works&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Booting from a Floppy ===&lt;br /&gt;
{{WARN|Using a floppy disk '''is NOT recommended'''.}}&lt;br /&gt;
&lt;br /&gt;
This is how IBM/Lenovo intended it.  Use their .exe files to create a bootable floppy with the flash update on it.  Boot from the floppy and there you go.&lt;br /&gt;
&lt;br /&gt;
So, why is it not recommended?&lt;br /&gt;
# If something goes wrong, your ThinkPad may be permanently damaged&lt;br /&gt;
# Floppy disk drives are not reliable&lt;br /&gt;
# Floppy disks are not reliable&lt;br /&gt;
# It only works with /dev/fd0, meaning it won't work with a USB floppy&lt;br /&gt;
&lt;br /&gt;
So, even though Lenovo is now offering &amp;quot;Linux diskette&amp;quot; updaters, that will create a bootable floppy under Linux, using a floppy is still not recommended.  Besides, many people don't even ''have'' a floppy drive on their ThinkPad.&lt;br /&gt;
&lt;br /&gt;
If you really want to do it with a floppy, some tips:&lt;br /&gt;
* Use a clean (in the physical sense) floppy drive&lt;br /&gt;
* Use new floppies&lt;br /&gt;
* Test floppies for errors before starting update process&lt;br /&gt;
* Have multiple copies of the update disks ready--if one should fail, replace it with a copy&lt;br /&gt;
* Should DOS complain of a read error, '''only''' respond wth &amp;quot;Retry&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{NOTE|Should the system encounter a disk read error during the flash process, and you select &amp;quot;Abort&amp;quot;, your system could be permanently damaged.}}&lt;br /&gt;
&lt;br /&gt;
=== Booting from a USB Flash drive ===&lt;br /&gt;
{{HELP|Has anyone tested booting a firmware update image from a USB flash drive?  Perhaps using [http://unetbootin.sourceforge.net/ UNetbootin]?}}&lt;br /&gt;
&lt;br /&gt;
== Booting from a Network Boot Image ==&lt;br /&gt;
BIOS, ECP, CD/DVD and Harddisk firmware disks can be booted over the network with [http://syslinux.zytor.com/pxe.php PXELINX] as part of the [http://syslinux.zytor.com/ SYSLINUX] package.  This requires that you have a DHCP and tftp server configured and setup properly on your network, and is probably not for the faint of heart.&lt;br /&gt;
&lt;br /&gt;
Make sure the firmware bootdisk is in linux 'dd' format, as the self-extracting .exe disks from the IBM website cannot be booted directly as such.&lt;br /&gt;
&lt;br /&gt;
This worked on the {{R31}}, {{X22}}, {{T21}}, {{T30}} and {{T41p}} with various firmware updates.  On the {{X22}}, it worked with ECP 1.30 but '''not''' with BIOS 1.32&lt;br /&gt;
&lt;br /&gt;
=After updating=&lt;br /&gt;
Lenovo recommends reseting your BIOS settings to their factory defaults after a firmware update.&lt;br /&gt;
&lt;br /&gt;
==DMI IDs==&lt;br /&gt;
Please consider updating the [[List of DMI IDs]] after updating your BIOS.&lt;br /&gt;
&lt;br /&gt;
= Special Cases =&lt;br /&gt;
* In one case, see ([[APM setup on a type 2379 ThinkPad T40]]), it was not possible to upgrade the BIOS from Windows XP; a downgrade to Windows 98 was required to successfully run the BIOS upgrade app. The symptoms in this case were that, once the files had been extracted to the hard disk, and the machine was to reboot into the upgrade app, it would beep and hang just before reboot, requiring a power cycle. Once the power was cycled, it would simply reboot back into XP without performing any BIOS upgrade actions. So even if you have Windows, you may still need to use the info on this page.&lt;br /&gt;
&lt;br /&gt;
== Updating Thinkpad X Series ==&lt;br /&gt;
The special update instructions for {{X_Series}} Thinkpads are quite long. You can find them at the page [[BIOS_Upgrade/X_Series]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{{footnotes|&lt;br /&gt;
# For lots of detail on making and burning .iso files, see The Linux Documentation Project (tldp.org): [http://tldp.org/HOWTO/CD-Writing-HOWTO-3.html#ss3.1 3.1 Writing CD-ROMs (pure data)].&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Jidanni</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=User:Jidanni&amp;diff=45419</id>
		<title>User:Jidanni</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=User:Jidanni&amp;diff=45419"/>
		<updated>2010-01-22T06:41:32Z</updated>

		<summary type="html">&lt;p&gt;Jidanni: URL&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See http://jidanni.org/ .&lt;/div&gt;</summary>
		<author><name>Jidanni</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=BIOS_Upgrade&amp;diff=45418</id>
		<title>BIOS Upgrade</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=BIOS_Upgrade&amp;diff=45418"/>
		<updated>2010-01-22T06:38:22Z</updated>

		<summary type="html">&lt;p&gt;Jidanni: /* Booting from a CD */ genisoimage&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;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
This page is meant to describe ways to update the BIOS on a ThinkPad that only runs Linux for users that don't have ready access to Windows. If you have Windows on your ThinkPad you can just boot into it and follow instructions on the Lenovo website.&lt;br /&gt;
&lt;br /&gt;
Updating the BIOS in Linux (with few exceptions) '''is not officially supported''' by Lenovo.  However there are work arounds.&lt;br /&gt;
&lt;br /&gt;
{{WARN|By following any of the instructions here you are accepting the '''very real risk''' of turning your ThinkPad into a big expensive paper weight, as a firmware update gone wrong can create unfix-able problems.&lt;br /&gt;
&lt;br /&gt;
'''Proceed at your own risk!'''}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Downloading New Firmware =&lt;br /&gt;
{{WARN|Flashing the wrong firmware for your hardware may cause permanent damage to your ThinkPad.  It is up to you to confirm that the firmware you are using is correct.}}&lt;br /&gt;
&lt;br /&gt;
A list of links to firmware downloads can be found at [[BIOS Upgrade Downloads]] for most Thinkpad models.  You can also check the Lenovo Support website's [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=TPAD-MATRIX|ThinkPad driver matrix].&lt;br /&gt;
&lt;br /&gt;
Lenovo provides firmware upgrades in a variety of packages:&lt;br /&gt;
* Diskette&lt;br /&gt;
* Non-diskette&lt;br /&gt;
* Linux diskette&lt;br /&gt;
* BIOS Utility&lt;br /&gt;
* Bootable CD&lt;br /&gt;
&lt;br /&gt;
Not every type of package is available for every model.&lt;br /&gt;
&lt;br /&gt;
The ''BIOS Utility'' and ''Bootable CD'' packages combine the BIOS and ECP firmwares.  For the other packages, there is one for each firmware.&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; style=&amp;quot;width:20em;&amp;quot;&lt;br /&gt;
| {{HELP|Can an image be extracted from a &amp;quot;Linux diskette&amp;quot; .exe file?}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The ''Linux diskette'' is just the ''Diskette'' package that runs on Linux instead of Windows/DOS.  It's unknown if a boot image can be extracted from it.  &lt;br /&gt;
&lt;br /&gt;
You may need to try different packages to find the one from which you can extract a boot image.&lt;br /&gt;
&lt;br /&gt;
== Two Firmwares: BIOS and ECP ==&lt;br /&gt;
{{WARN|Flashing incompatible firmwares, or flashing them in the wrong order, may cause permanent damage to your ThinkPad.}}&lt;br /&gt;
&lt;br /&gt;
It is important to understand that Thinkpads from IBM have two separate firmwares: the BIOS, and the Embedded Controller Program (ECP).&lt;br /&gt;
&lt;br /&gt;
A given BIOS version will require a certain version of the ECP.  You must read the Lenovo website and/or .txt files to confirm which BIOS is compatible with which ECP, and '''the order in which to update them'''.  &lt;br /&gt;
&lt;br /&gt;
=== Update Order ===&lt;br /&gt;
{|align=&amp;quot;right&amp;quot; style=&amp;quot;width:20em; font-size:80%;&amp;quot;&lt;br /&gt;
|{{HELP|Is the order really that important?  And why do the ECP first by default?}}&lt;br /&gt;
|}&lt;br /&gt;
The IBM documentation is sometimes unclear about the order in which these two firmwares should be updated.  When in doubt, '''update the ECP first, and then the BIOS'''.  Also, make sure to do the two updates '''immediately one after the other'''.&lt;br /&gt;
&lt;br /&gt;
Odd, I see [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-55001 IBM saying]&lt;br /&gt;
:''If you need to update Embedded Controller Program as well as the BIOS, update the BIOS first.''&lt;br /&gt;
&lt;br /&gt;
(Updaters for newer models do both the ECP and the BIOS at the same time, so you don't have to worry about it.)&lt;br /&gt;
&lt;br /&gt;
== Installed Firmware ==&lt;br /&gt;
You can check the current BIOS and ECP versions on your ThinkPad by using '''dmidecode'''. For example:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|dmidecode -s bios-version}}&lt;br /&gt;
&lt;br /&gt;
 1RETDRWW (3.23 )&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|dmidecode -t 11}}&lt;br /&gt;
&lt;br /&gt;
 # dmidecode 2.9&lt;br /&gt;
 SMBIOS 2.33 present.&lt;br /&gt;
 Handle 0x0029, DMI type 11, 5 bytes&lt;br /&gt;
 OEM Strings&lt;br /&gt;
         String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&lt;br /&gt;
&lt;br /&gt;
Showing BIOS version 3.23 (1RETDRWW) and ECP version 3.04 (1RHT71WW).&lt;br /&gt;
&lt;br /&gt;
===DMI IDs===&lt;br /&gt;
Please consider updating the [[List of DMI IDs]] before (and after) updating your BIOS.&lt;br /&gt;
&lt;br /&gt;
= Updating Firmware =&lt;br /&gt;
&lt;br /&gt;
There are two basic steps to updating the firmware (either the BIOS or the ECP) on a ThinkPad not running Windows:&lt;br /&gt;
# Extract a bootable update image&lt;br /&gt;
# Boot from that image&lt;br /&gt;
&lt;br /&gt;
== Extracting an update image ==&lt;br /&gt;
{{WARN|Though this process has been successfully tested on many versions of .exe files found on IBMs website, that doesn't mean it will work for all of them.  '''Proceed at your own risk'''.  Consult the testing tables farther down of this page to see other users' experience with your model Thinkpad.}}&lt;br /&gt;
The various .exe installers from Lenovo all appear to be just a wrapper license program around Windows .cab files (see [[How_to_change_the_BIOS_bootsplash_screen|BIOS-Bootsplash]]).  If you install the Linux program [http://freshmeat.net/projects/cabextract/ '''cabextract'''] you can expand these .cab files directly.  For example, if you downloaded {{path|1iuj13us.exe}} from Lenovo:&lt;br /&gt;
&lt;br /&gt;
:{{cmduser|cabextract 1iuj13us.exe}}&lt;br /&gt;
&lt;br /&gt;
 Extracting cabinet: 1iuj13us.exe&lt;br /&gt;
  extracting 1IUJ13US.IMG&lt;br /&gt;
  extracting BIOSUPTP.EXE&lt;br /&gt;
  extracting DOBOOT.EXE&lt;br /&gt;
  extracting DOSBOOT.COM&lt;br /&gt;
  extracting DOSBOOT.SYS&lt;br /&gt;
  extracting DOSBOOT.VXD&lt;br /&gt;
  extracting DOSBOOT2.COM&lt;br /&gt;
  extracting ECTLUPTP.EXE&lt;br /&gt;
  extracting EFLASHAS.SYS&lt;br /&gt;
  extracting HDFWUPTP.EXE&lt;br /&gt;
  extracting IBMTPI.XML&lt;br /&gt;
 All done, no errors.&lt;br /&gt;
&lt;br /&gt;
The file we want is '''FILENAME.IMG''', with &amp;quot;FILENAME&amp;quot; being the .exe. you downloaded.  E.g., {{path|1IUJ13US.IMG}}.&lt;br /&gt;
&lt;br /&gt;
(If this does not work for the Non-diskette .exe, try it on the Diskette .exe.  It's reported, for example, that the Non-diskette .exe for BIOS version 3.23 for the T41p was not extractable, but the Diskette .exe worked perfectly, with {{cmduser|cabextract}} delivering a .IMG file.)&lt;br /&gt;
&lt;br /&gt;
==== Testing the Image ====&lt;br /&gt;
&lt;br /&gt;
You can test that FILENAME.IMG is really a floppy image by running:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|mkdir /tmp/mntfloppy}}&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|mount -o loop FILENAME.IMG /tmp/mntfloppy}}&lt;br /&gt;
&lt;br /&gt;
If a '''ls''' command on the image returns what looks like a DOS floppy, and no read errors were displayed, you have a pretty good chance that the image is usable.  For example:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|ls /tmp/mntfloppy}}&lt;br /&gt;
 $0195000.FL1  069580.PAT  06d2.HSH     IBMDOS.COM    TPCHKS.EXE&lt;br /&gt;
 0691.HSH      06D0.PAT    06d6.HSH     LOGO.BAT      UPDTFLSH.EXE&lt;br /&gt;
 0691.PAT      06D1.PAT    06d8.HSH     LOGO.SCR      UPDTMN.EXE&lt;br /&gt;
 0694.HSH      06D2.PAT    CHKBMP.EXE   PHLASH16.EXE  USERINT.EXE&lt;br /&gt;
 0694.PAT      06D6.PAT    COMMAND.COM  PREPARE.EXE   UTILINFO.EXE&lt;br /&gt;
 0695.HSH      06D8.PAT    CONFIG.SYS   PROD.dat      lcreflsh.bat&lt;br /&gt;
 0695.PAT      06d0.HSH    FLASH2.EXE   QKFLASH.EXE&lt;br /&gt;
 069580.HSH    06d1.HSH    IBMBIO.COM   README.TXT&lt;br /&gt;
&lt;br /&gt;
Unmount the image after you are done testing:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|umount /tmp/mntfloppy}}&lt;br /&gt;
&lt;br /&gt;
== Booting from update image ==&lt;br /&gt;
Now that you have a bootable image for the correct update for you hardware, you need to do is boot from that image to install the update.&lt;br /&gt;
&lt;br /&gt;
There are different ways to do that:&lt;br /&gt;
* [[#Booting from a CD|Boot from a CD]]&lt;br /&gt;
* [[#Booting_using_GRUB|Boot from the image, using GRUB]]&lt;br /&gt;
* [[#Booting_from_a_floppy|Boot from a floppy]]&lt;br /&gt;
* [[#Booting_from_a_USB_Flash_drive|Boot from a USB Flash drive]]&lt;br /&gt;
&lt;br /&gt;
=== Booting from a CD ===&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; style=&amp;quot;width:40em;&amp;quot;&lt;br /&gt;
|{{HINT|If there is a ''Bootable CD'' image available, e.g., FILENAME.iso, just download that, instead of mucking around with image files.}}&lt;br /&gt;
|}&lt;br /&gt;
If you are going to update the firmware by booting from a CD, you need to turn FILENAME.IMG that you extracted above into an .iso file.&lt;br /&gt;
&lt;br /&gt;
The [http://en.wikipedia.org/wiki/El_Torito_%28CD-ROM_standard%29 El Torito Bootable CD Specification] is a wonderful thing.  Thanks to it, a bootable CD can be made with a bootable floppy image in such as way that the CD believes that it is a 2.88 MB floppy drive.  This allows you to replace a boot floppy by a boot CD in nearly all situations.&lt;br /&gt;
&lt;br /&gt;
It is very easy to create such a bootable CD ISO image in Linux using the '''mkisofs''' tool{{footnote|1}}.  Run a command as follows:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|mkisofs -b bootfloppy.img -o bootcd.iso FILENAME.IMG}} #note: mkisofs is often now called '''genisoimage'''&lt;br /&gt;
&lt;br /&gt;
Where FILENAME.IMG is the name of the image file extracted above, for example {{path|1IUJ13US.IMG}}.  This creates a CD with one file on it and marks that file as the boot image.&lt;br /&gt;
&lt;br /&gt;
Note, following the above instructions, the user will end up with the error message&lt;br /&gt;
: Uh oh, I cant find the boot image 'bootfloppy.img' !&lt;br /&gt;
Therefore, please explain how the user is to acquire bootfloppy.img file.&lt;br /&gt;
&lt;br /&gt;
You can now burn the {{path|bootcd.iso}} to a CD in your favorite CD-burning program.&lt;br /&gt;
{{WARN|By following any of the instructions here you are accepting the '''very real risk''' of turning your ThinkPad into a big expensive paper weight, as a firmware update gone wrong can create unfix-able problems.  '''Proceed at your own risk!'''}}&lt;br /&gt;
&lt;br /&gt;
Boot from the CD to update your firmware.  Remember to have [[BIOS_Upgrade#Two_Firmwares:_BIOS_and_ECP|both BIOS and ECP firmware boot-CDs]] ready, as needed, and use them in the [[#Proper_Order|proper order]].&lt;br /&gt;
&lt;br /&gt;
==== Successful tests ====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; style=&amp;quot;font-size:80%; vertical-align:top;&amp;quot;&lt;br /&gt;
! Model&lt;br /&gt;
! Tested by, and comments&lt;br /&gt;
|-&lt;br /&gt;
| {{600E}} 2645-4AU ||&lt;br /&gt;
* George Tellalov &amp;lt;gtellalov_dontspamme@bigfoot.com&amp;gt;. BIOS 1.16 from spsdin36.exe worked perfectly with the method bootable cd from floppy image. I highly recommend this upgrade because it made my ibm-acpi module load (it wouldn't load before) and fixed some suspend to ram problems. Here's the [http://george.tellalov.info/bios_upgrade_600e_spsdin36.iso cd image] I used. Use at your own risk. You can send me a chocolate if it works for you ;)&lt;br /&gt;
|-&lt;br /&gt;
| {{600E}} 2645-5bU ||&lt;br /&gt;
* Mike Vincent&amp;lt;matchstc-putobvioushere.com&amp;gt;. Bios 1.16 from spsdin36.exe and then to the boot cd worked great for me. Thought I had bricked it three separate times using a &amp;quot;real&amp;quot; floppy! Each from different diskettes .The updater would start, give me the &amp;quot;going to take30 seconds&amp;quot; speech...and then access the HD for 10 minutes. Each time it would reboot fine. Did the cd as described above...worked great first time. Perhaps 10 year old seldom used floppy disc drives have some challenges?&lt;br /&gt;
|-&lt;br /&gt;
| {{600X}} 2645 ||&lt;br /&gt;
* Jonathan Byrne &amp;lt;jonathan@RemoveThisToMailMe.yamame.org&amp;gt;. BIOS 1.11 from spsuit55.exe worked perfectly using cabextract/CD method.&lt;br /&gt;
|-&lt;br /&gt;
| {{600X}} 2645 ||&lt;br /&gt;
* Andy Barnes &amp;lt;andy@RemoveThisToMailMe.itchypaws.co.uk&amp;gt;. As per Jonathan above, extracted BIOS 1.11 from spsuit55.exe using cabextract, created a CD boot image and burnt to CD.  Worked flawlessly - thanks to everyone who contributed to this article!&lt;br /&gt;
|-&lt;br /&gt;
| {{A20p}} 2629-6VU ||&lt;br /&gt;
* Chris Pickett http://www.sable.mcgill.ca/~cpicke/. BIOS 1.11 flashed fine with cabextract/CD method.&lt;br /&gt;
|-&lt;br /&gt;
| {{A21e}} 2628-JXU ||&lt;br /&gt;
* Amit Gurdasani &amp;lt;gurdasani at yahoo dot com&amp;gt;. BIOS 1.13 flashed fine with cabextract/CD method. Alarmingly, after the BIOS update, the laptop beeped but did not shut down as was indicated onscreen -- that was frozen on the &amp;quot;do not shut down the laptop&amp;quot; screen. On power down and up again, the BIOS setup showed the newer BIOS image running, and Linux booted up fine. Linux ACPI didn't complain about the BIOS being too old either.&lt;br /&gt;
|-&lt;br /&gt;
| {{A31p}} 2653 ||&lt;br /&gt;
* Matthias Meinke largeeddy@gmx.at, BIOS 1.09 1NET15WW flashed fine with cabextract/CD method.&lt;br /&gt;
|-&lt;br /&gt;
| {{A31}} 2652 ||&lt;br /&gt;
* [[User:Wnoise|Aaron Denney]], BIOS 1.13 flashed fine with cabextract/CD method.  The cabextract/CD method also worked for BIOS 1.10.&lt;br /&gt;
|-&lt;br /&gt;
| {{R30}} ||&lt;br /&gt;
* Jarrod, 30 August 2007, Thinkpad R30 Type 2656-E0M. BIOS updated to 1.40 (1CETF0WW) using floppy disk/mkisofs/cdrecord. Worked fine, no problems.&lt;br /&gt;
|-&lt;br /&gt;
| {{R31}} ||&lt;br /&gt;
* [http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/1998-January/009743.html Mathias Dalheimer]&lt;br /&gt;
* Sebastian Sauer (with cabextract/CD method)&lt;br /&gt;
|-&lt;br /&gt;
| {{R40}} ||&lt;br /&gt;
* Matthew Lambie, http://lambie.org&lt;br /&gt;
|-&lt;br /&gt;
| {{R50}} 1836-3SU ||&lt;br /&gt;
* jlbartos &amp;lt;jlbartos at hotmail dot com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{R50e}} 1834-PTG ||&lt;br /&gt;
* item &amp;lt;item at freemail dot hu&amp;gt; : successfully finished with cabextract/CD method for &amp;quot;1wuj25us.exe&amp;quot; (BIOS version 1WET90WW (2.10), Release Date: 2006/12/22)&lt;br /&gt;
* Christos Nouskas &amp;lt;nouskas at gmail dot com&amp;gt;: upgraded to BIOS version 1WET90WW (2.10) and EC version 1VHT28WW (1.04) using GRUB (BIOS first / EC second)&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} 1829 ||&lt;br /&gt;
* Robert Uhl &amp;lt;rob dot uhl at gmx dot de&amp;gt;, Jellby &amp;lt;jellby at yahoo dot com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} 1830-RM7 ||&lt;br /&gt;
* Will Parker &amp;lt;stardotstar at sourcepoint dot com dot au&amp;gt; successfully flashed 3.20 using existing 3.04 ECP and retained custom boot splash.&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} 2887 ||&lt;br /&gt;
* Ingo van Lil &amp;lt;inguin at gmx dot de&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} 1858 ||&lt;br /&gt;
* Stuart McCord &amp;lt;stuart dot mccord at gmail dot com&amp;gt; flashed both BIOS and ECP using cabextract, BIOS flashed first as on IBM website&lt;br /&gt;
|-&lt;br /&gt;
| {{T20}} ||&lt;br /&gt;
* Franz Hassels &amp;lt;fhassel at suse dot com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{T22}} ||&lt;br /&gt;
* Daniel Maier &amp;lt;nusse teamidiot de&amp;gt;&lt;br /&gt;
* Mathias Behrle (with cabextract/CD method, Version 1.07 =&amp;gt; 1.12) --[[User:Mathiasb|Mathiasb]] 11:58, 14 December 2006 (CET)&lt;br /&gt;
* Bob Skaroff (cabextract/CD), 1.06 =&amp;gt; 1.12&lt;br /&gt;
* Leo Butler (cabextract/CD), 1.11 =&amp;gt; 1.12&lt;br /&gt;
|-&lt;br /&gt;
| {{T23}} ||&lt;br /&gt;
* Bart Snapp &amp;lt;snapp at uiuc dot edu&amp;gt; Note: I followed IBM's instructions to flash the BIOS '''first''' and the Embedded Controller '''second'''.&lt;br /&gt;
* Moy Easwaran: BIOS 1.18 / EC 1.06a via cabextract and CD-boot.  The BIOS-update exe generated errors in Windows 2000.&lt;br /&gt;
* Joe Renes: BIOS 1.18 / EC 1.06a on 2006-03-20 via cabextract and CD-boot. Piece of cake.&lt;br /&gt;
* Raphael Errani: BIOS 1.20 / EC 1.06a on 2006-11-06 via cabextract and CD-boot (using mkisofs). Worked without errors. 1st Bios, 2nd EC&lt;br /&gt;
* Myron Getman: BIOS 1.20 / EC 1.06a on 9/10/08 via cabextract --&amp;gt; k3b --&amp;gt; CD-boot.  Worked like a charm.  First BIOS update with Linux!&lt;br /&gt;
* Leo Butler: BIOS 1.13 / EC 1.04 to 1.20/1.06a via cabextract and syslinux/memdisk boot through grub. Worked like a charm and no wasted CD.&lt;br /&gt;
|-&lt;br /&gt;
| {{T30}} ||&lt;br /&gt;
* Martin GÃ¼hring &amp;lt;guehring at gmail.com&amp;gt; BIOS 2.10 via cabextract the Non-Diskette BIOS -&amp;gt; mkisofs '''in the directory the exe was extracted''' to generate the iso -&amp;gt; burn the iso -&amp;gt; boot the CD&lt;br /&gt;
|-&lt;br /&gt;
| {{T40}} ||&lt;br /&gt;
* Sean Dague, http://dague.net&lt;br /&gt;
* Justin Mason, http://jmason.org&lt;br /&gt;
* Ivanhoe (Bios 3.19)&lt;br /&gt;
* Alessandro Raulino (roger_2) EC 3.04 &amp;amp; BIOS 3.23 flashed with cabextract/CD method&lt;br /&gt;
* Nick Jenkins, using BIOS 3.23 with the '''Non-diskette updater + cabextract method''', then [[#Creating_a_Bootable_CD_from_a_Floppy_Image|created a bootable CD from the cabextracted .IMG file]], then boot that ISO, and it worked great!&lt;br /&gt;
|-&lt;br /&gt;
| {{T40p}} ||&lt;br /&gt;
* Lukas KrÃ¤henbÃ¼hl, ismo at pop dot agri dot ch&lt;br /&gt;
* Thomas Achtemichuk, tom at tomchuk dot com. BIOS 3.15 flashed fine with cabextract/CD method&lt;br /&gt;
|-&lt;br /&gt;
| {{T41}} ||&lt;br /&gt;
* Lev Givon (Bios 3.15 / EC 3.04) &amp;lt;lev at columbia dot edu&amp;gt;&lt;br /&gt;
* Ernesto HernÃ¡ndez-Novich (Bios 3.19 / CP 3.04) &amp;lt; emhn at usb dot ve &amp;gt;&lt;br /&gt;
* [http://maebmij.org James Ballantine] (Bios 3.21 / CP 3.04) using nondisk/cabextract/CDRW&lt;br /&gt;
|-&lt;br /&gt;
| {{T41p}} ||&lt;br /&gt;
* Nils Newman, work great. (Version: Bios 3.14 / Embedded Controller 3.04)&lt;br /&gt;
|-&lt;br /&gt;
| {{T42}} 2373-JXG ||&lt;br /&gt;
* magarzo &amp;lt;mdr.magarzo at gmail.com&amp;gt; (BIOS v.3.23 / Embedded Controller v.3.04 / both with cabextract to non-diskette v. plus Bootable CD)&lt;br /&gt;
|-&lt;br /&gt;
| {{T42}} ||&lt;br /&gt;
* Dan (BIOS 3.20 / EC 3.04, cabextract/CD method) &amp;lt;tronic171 at evilphb.org&amp;gt;&lt;br /&gt;
* Hirosh Dabui &amp;lt;hirosh@dabui.de&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{T42p}} ||&lt;br /&gt;
* Robert Schiele &amp;lt;rschiele@uni-mannheim.de&amp;gt;, Joern Heissler &amp;lt;joern@heissler.de&amp;gt;, Hirosh Dabui &amp;lt;hirosh@dabui.de&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}} 1871-W34 ||&lt;br /&gt;
* Florian Boucault &amp;lt;florian at boucault dot ath dot cx&amp;gt; (Version: Bios 1.23 / Embedded Controller 1.03)&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}} 2886 ||&lt;br /&gt;
* Till Heikamp &amp;lt;t dot heikamp at geniusbytes dot com&amp;gt; (Bios 1.22 to 1.29, Embedded Controller 1.03 to 1.06)&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}} ||&lt;br /&gt;
* Conrad Rentsch &amp;lt;Conrad dot Rentsch at t-online dot de&amp;gt; (Version: Bios 1.29 / Embedded Controller 1.06)&lt;br /&gt;
* Tom Heady &amp;lt;tom-thinkwiki.org@punch.net&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{T60}} 1951 ||&lt;br /&gt;
* Roman Komkov &amp;lt;roman  at komkov dot org dot ru&amp;gt; (Bios 1.07 to 2.13) Successfully upgraded from CD Image&lt;br /&gt;
|-&lt;br /&gt;
| {{T61}}  ||&lt;br /&gt;
* Kai Weber &amp;lt;kai.weber  at glorybox dot org&amp;gt; (Bios 1.06 to 1.26) Successfully upgraded from CD Image&lt;br /&gt;
|-&lt;br /&gt;
| {{X20}} ||&lt;br /&gt;
* Neil Caunt &amp;lt;retardis at gmail dot com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{X21}} ||&lt;br /&gt;
* Patrick Leickner &amp;lt;ranma at web dot de&amp;gt;, (BIOS 2.21-&amp;gt;2.25 / EC 1.31-&amp;gt;1.36) via non-disk/cabextract/mkisofs/cdrecord&lt;br /&gt;
|-&lt;br /&gt;
| {{X22}} ||&lt;br /&gt;
* David Emery &amp;lt;dave at skiddlydee dot com&amp;gt;,  (EC 1.30, BIOS 1.32 using non-disk/cabextract/CD method)&lt;br /&gt;
|-&lt;br /&gt;
| {{X23}} ||&lt;br /&gt;
* Nils Faerber &amp;lt;nils dot faerber at kernelconcepts dot de&amp;gt; (Embedded Controller 1.30, BIOS 1.32 with cabextract/CD method)&lt;br /&gt;
|-&lt;br /&gt;
| {{X30}} ||&lt;br /&gt;
* Hella Breitkopf, [http://www.unixwitch.de/ www]  (Embedded Controller 1.04, BIOS 1.07 with cabextract/CD method)&lt;br /&gt;
* William Roe &amp;lt;willroe at gmail dot com&amp;gt; (Embedded Controller 1.06, BIOS 1.09 - cabextract/mkisofs/wodim)&lt;br /&gt;
|-&lt;br /&gt;
| {{X31}} ||&lt;br /&gt;
* Grzegorz KuÅ›nierz &amp;lt;koniu at sheket dot org&amp;gt;  (Embedded Controller 1.08, BIOS 3.01 with cabextract/CD method)&lt;br /&gt;
|-&lt;br /&gt;
| {{X40}} ||&lt;br /&gt;
* Robbie Stone &amp;lt;robbie@serendipity.cx&amp;gt;&lt;br /&gt;
* Andy Shevchenko &amp;lt;andy.shevchenko@gmail.com&amp;gt;   (Fine by cabextract/CD method)&lt;br /&gt;
|-&lt;br /&gt;
| {{Z60m}} ||&lt;br /&gt;
* [[User:Morle|Morle]] 01:09, 17 Nov 2007 (CEST),  (Embedded Controller 1.18 and Bios 1.24 with cabextract/CD method)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Unsuccessful tests ====&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; style=&amp;quot;font-size:80%; vertical-align:top;&amp;quot;&lt;br /&gt;
! Model&lt;br /&gt;
! Tested by, and comments&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;pre&amp;gt;      &amp;lt;/pre&amp;gt; &amp;lt;!-- Placeholder --&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Booting using GRUB ===&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:75%&amp;quot; | {{WARN|Many have warned '''not''' to use the SYSLINUX image-loader '''memdisk''' to boot firmware update images.}}&lt;br /&gt;
| style=&amp;quot;font-size:80%&amp;quot; | {{HELP|Who are these &amp;quot;many&amp;quot;?  Link to a discussion?}}&lt;br /&gt;
|}&lt;br /&gt;
Once the bootable image, FILENAME.IMG, is extracted from the .exe, it can be booted directly through GRUB without the need of burning a CD, using the [http://syslinux.zytor.com/ SYSLINUX] image-loader '''[http://syslinux.zytor.com/memdisk.php memdisk]'''.&lt;br /&gt;
&lt;br /&gt;
Locate the '''memdisk''' file from the syslinux package. You can search for it with '''find''': &lt;br /&gt;
&lt;br /&gt;
{{cmdroot|find /usr -name memdisk}}&lt;br /&gt;
&lt;br /&gt;
If {{path|/usr/.../memdisk}} is not present, syslinux is not installed.  You will need to install it to boot a .IMG from GRUB.&lt;br /&gt;
&lt;br /&gt;
Copy both the '''FILENAME.IMG''' and '''memdisk''' files into {{path|/boot}} directory.  For example:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|cp ./FILENAME.IMG /usr/share/syslinux/memdisk /boot/}}&lt;br /&gt;
&lt;br /&gt;
Open {{path|/boot/grub/menu.lst}} in your favourite editor.  '''Copy''' the active section into a '''new section''', and edit the new section:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Parameter&lt;br /&gt;
! Instructions&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| ''title''  || Pick a name for the new section.  This will show up in the GRUB boot menu. || &amp;lt;tt&amp;gt;title IBM ECP Update&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| ''root''   || Do not change.  This is the partition containing the {{path|/boot}} directory       || &amp;lt;tt&amp;gt;root (hd0,0)&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| ''kernel'' || '''/boot/memdisk''' will allow you to boot an image file.                  || &amp;lt;tt&amp;gt;kernel /boot/memdisk&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| ''initrd'' || This is the name of the firmware-updater image file, e.g., 1IUJ13US.IMG    || &amp;lt;tt&amp;gt;initrd /boot/1IUJ13US.IMG&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Do '''not''' modify the original section in {{path|/boot/grub/menu.lst}}, or you might not be able to boot back to the operating system.&lt;br /&gt;
&lt;br /&gt;
If you have [[#Two_Firmwares:_BIOS_and_ECP|two firmware updates to do]], you will need a section for each firmware's FILENAME.IMG in {{path|/boot/grub/menu.lst}}.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|If both BIOS and ECP are to be updated, be sure to update them in the [[#Proper_Order|proper order]].}}&lt;br /&gt;
&lt;br /&gt;
{{WARN|By following any of the instructions here you are accepting the '''very real risk''' of turning your ThinkPad into a big expensive paper weight, as a firmware update gone wrong can create unfix-able problems.  '''Proceed at your own risk!'''}}&lt;br /&gt;
&lt;br /&gt;
Reboot your computer, entering the GRUB menu and selecting ''IBM BIOS Update'', or whatever you named the new section in {{path|/boot/grub/menu.lst}}.&lt;br /&gt;
&lt;br /&gt;
==== Successful tests ====&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; style=&amp;quot;font-size: 80%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Model&lt;br /&gt;
! BIOS&lt;br /&gt;
! ECP&lt;br /&gt;
! Tested by&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| {{R30}} 2656-64G || v.1.40            ||                   || [[User:english.voodoo|Yuri Spirin]] ||&lt;br /&gt;
|-&lt;br /&gt;
| {{R40}} 2723     || 1OHJ11WW.IMG      || 1PUJ25US.IMG      || [[User:qunying|Qunying]] || memdisk from syslinux 3.70 (slackware 12.1)&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} 2888     ||                   ||                   ||                          || &lt;br /&gt;
|-&lt;br /&gt;
| {{T40}} 2373     || 1RUJ37US.IMG      || 1RHJ10U2.IMG      || [[User:Euphoria|Euphoria]] || memdisk from syslinux 1:3.31-4 (Debian package version)&lt;br /&gt;
|-&lt;br /&gt;
| {{T40}} 2373     || 1RHJ10U2.IMG&amp;lt;br /&amp;gt;(3.04, 2004-11-15) || 1RUJ37US.IMG&amp;lt;br /&amp;gt;(3.23, 2007-07-03) || [[User:Morphics|Morphics]] || cabextract and memdisk from syslinux 3:1.36-4ubuntu5&lt;br /&gt;
|-&lt;br /&gt;
| {{T41}} 2373     || 1RUJ37US.IMG&amp;lt;br /&amp;gt;(3.23, 2007-07-03) || || [[User:Tonko|Tonko]] || Fedora 12&lt;br /&gt;
|-&lt;br /&gt;
| {{T41p}} 2373    || 1RUJ37US.IMG&amp;lt;br /&amp;gt;(3.23, 2007-07-03) ||  || [[User:Deggel|Deggel]] || cabextract and memdisk from syslinux 3.71 on gentoo &lt;br /&gt;
|-&lt;br /&gt;
| {{T41p}} 2373    ||  ||  || [[User:MrStaticVoid|James Lee]]   || &lt;br /&gt;
|-&lt;br /&gt;
| {{X31}} 2673-CBU ||  ||  || [[User:JanTopinski|Jan Topinski]] || &lt;br /&gt;
|-&lt;br /&gt;
| {{X31}} 2672-CXU ||  ||  || [[User:TheAnarcat|TheAnarcat]]    || &lt;br /&gt;
|-&lt;br /&gt;
| {{X31}} 2673-58G ||  ||  || [[User:FaUl|FaUl]]                || &lt;br /&gt;
|-&lt;br /&gt;
| {{X31}} 2672-PG9 ||  ||  || [[User:Starox|Starox]]            || a big moment between starting update and the updating window &lt;br /&gt;
|-&lt;br /&gt;
| {{X40}} 2371     || 2.07 1uuj21us.exe || 1.62 1uhj10us.exe || [[User:Antialize|Jakob Truelsen]] || Worked on two X40-2371 &lt;br /&gt;
|-&lt;br /&gt;
| {{X40}} 2386     || 2.08 1uuj22us.exe || 1.62 1uhj10us.exe || [[User:Antialize|Galen Seitz]] || memdisk from syslinux 3.61&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Unsuccessful tests ====&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; style=&amp;quot;font-size: 80%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Model&lt;br /&gt;
!  style=&amp;quot;width:10em;&amp;quot; | BIOS&lt;br /&gt;
! ECP&lt;br /&gt;
! Tested by&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}} 2668-F7G || 1.29 1YUJ18US.IMG ||  || [[User:Maus3273|Maus3273]] || I got into the bios program, but the machine never restarts after initiating the upgrade.&lt;br /&gt;
|-&lt;br /&gt;
| {{X41}} 2525-FAG || 2.09 74UJ15US     ||  || [[User:Ukleinek|Uwe Kleine-König]] || booted fine (Debian syslinux 2:3.71+dfsg-5), but didn't succeed to write, just hang at &amp;quot;Don't restart or remove diskette etc. pp&amp;quot; (not bricked).  Worked fine via CD method.&lt;br /&gt;
|- &lt;br /&gt;
| {{X41}} 2525-F8G || 2.06 74UJ12US.IMG&amp;lt;br /&amp;gt;2.07 74UJ13US.IMG&amp;lt;br /&amp;gt;2.09 74UJ15US.IMG ||  || [[User:ladoga|Lauri Koponen]] || hangs while initializing the actual BIOS flashing process&amp;lt;br /&amp;gt; ECP: 1.02 74HJ03US.IMG works&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Booting from a Floppy ===&lt;br /&gt;
{{WARN|Using a floppy disk '''is NOT recommended'''.}}&lt;br /&gt;
&lt;br /&gt;
This is how IBM/Lenovo intended it.  Use their .exe files to create a bootable floppy with the flash update on it.  Boot from the floppy and there you go.&lt;br /&gt;
&lt;br /&gt;
So, why is it not recommended?&lt;br /&gt;
# If something goes wrong, your ThinkPad may be permanently damaged&lt;br /&gt;
# Floppy disk drives are not reliable&lt;br /&gt;
# Floppy disks are not reliable&lt;br /&gt;
# It only works with /dev/fd0, meaning it won't work with a USB floppy&lt;br /&gt;
&lt;br /&gt;
So, even though Lenovo is now offering &amp;quot;Linux diskette&amp;quot; updaters, that will create a bootable floppy under Linux, using a floppy is still not recommended.  Besides, many people don't even ''have'' a floppy drive on their ThinkPad.&lt;br /&gt;
&lt;br /&gt;
If you really want to do it with a floppy, some tips:&lt;br /&gt;
* Use a clean (in the physical sense) floppy drive&lt;br /&gt;
* Use new floppies&lt;br /&gt;
* Test floppies for errors before starting update process&lt;br /&gt;
* Have multiple copies of the update disks ready--if one should fail, replace it with a copy&lt;br /&gt;
* Should DOS complain of a read error, '''only''' respond wth &amp;quot;Retry&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{NOTE|Should the system encounter a disk read error during the flash process, and you select &amp;quot;Abort&amp;quot;, your system could be permanently damaged.}}&lt;br /&gt;
&lt;br /&gt;
=== Booting from a USB Flash drive ===&lt;br /&gt;
{{HELP|Has anyone tested booting a firmware update image from a USB flash drive?  Perhaps using [http://unetbootin.sourceforge.net/ UNetbootin]?}}&lt;br /&gt;
&lt;br /&gt;
== Booting from a Network Boot Image ==&lt;br /&gt;
BIOS, ECP, CD/DVD and Harddisk firmware disks can be booted over the network with [http://syslinux.zytor.com/pxe.php PXELINX] as part of the [http://syslinux.zytor.com/ SYSLINUX] package.  This requires that you have a DHCP and tftp server configured and setup properly on your network, and is probably not for the faint of heart.&lt;br /&gt;
&lt;br /&gt;
Make sure the firmware bootdisk is in linux 'dd' format, as the self-extracting .exe disks from the IBM website cannot be booted directly as such.&lt;br /&gt;
&lt;br /&gt;
This worked on the {{R31}}, {{X22}}, {{T21}}, {{T30}} and {{T41p}} with various firmware updates.  On the {{X22}}, it worked with ECP 1.30 but '''not''' with BIOS 1.32&lt;br /&gt;
&lt;br /&gt;
=After updating=&lt;br /&gt;
Lenovo recommends reseting your BIOS settings to their factory defaults after a firmware update.&lt;br /&gt;
&lt;br /&gt;
==DMI IDs==&lt;br /&gt;
Please consider updating the [[List of DMI IDs]] after updating your BIOS.&lt;br /&gt;
&lt;br /&gt;
= Special Cases =&lt;br /&gt;
* In one case, see ([[APM setup on a type 2379 ThinkPad T40]]), it was not possible to upgrade the BIOS from Windows XP; a downgrade to Windows 98 was required to successfully run the BIOS upgrade app. The symptoms in this case were that, once the files had been extracted to the hard disk, and the machine was to reboot into the upgrade app, it would beep and hang just before reboot, requiring a power cycle. Once the power was cycled, it would simply reboot back into XP without performing any BIOS upgrade actions. So even if you have Windows, you may still need to use the info on this page.&lt;br /&gt;
&lt;br /&gt;
== Updating Thinkpad X Series ==&lt;br /&gt;
The special update instructions for {{X_Series}} Thinkpads are quite long. You can find them at the page [[BIOS_Upgrade/X_Series]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{{footnotes|&lt;br /&gt;
# For lots of detail on making and burning .iso files, see The Linux Documentation Project (tldp.org): [http://tldp.org/HOWTO/CD-Writing-HOWTO-3.html#ss3.1 3.1 Writing CD-ROMs (pure data)].&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Jidanni</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=BIOS_Upgrade&amp;diff=45417</id>
		<title>BIOS Upgrade</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=BIOS_Upgrade&amp;diff=45417"/>
		<updated>2010-01-22T06:18:37Z</updated>

		<summary type="html">&lt;p&gt;Jidanni: /* Update Order */&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;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
This page is meant to describe ways to update the BIOS on a ThinkPad that only runs Linux for users that don't have ready access to Windows. If you have Windows on your ThinkPad you can just boot into it and follow instructions on the Lenovo website.&lt;br /&gt;
&lt;br /&gt;
Updating the BIOS in Linux (with few exceptions) '''is not officially supported''' by Lenovo.  However there are work arounds.&lt;br /&gt;
&lt;br /&gt;
{{WARN|By following any of the instructions here you are accepting the '''very real risk''' of turning your ThinkPad into a big expensive paper weight, as a firmware update gone wrong can create unfix-able problems.&lt;br /&gt;
&lt;br /&gt;
'''Proceed at your own risk!'''}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Downloading New Firmware =&lt;br /&gt;
{{WARN|Flashing the wrong firmware for your hardware may cause permanent damage to your ThinkPad.  It is up to you to confirm that the firmware you are using is correct.}}&lt;br /&gt;
&lt;br /&gt;
A list of links to firmware downloads can be found at [[BIOS Upgrade Downloads]] for most Thinkpad models.  You can also check the Lenovo Support website's [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=TPAD-MATRIX|ThinkPad driver matrix].&lt;br /&gt;
&lt;br /&gt;
Lenovo provides firmware upgrades in a variety of packages:&lt;br /&gt;
* Diskette&lt;br /&gt;
* Non-diskette&lt;br /&gt;
* Linux diskette&lt;br /&gt;
* BIOS Utility&lt;br /&gt;
* Bootable CD&lt;br /&gt;
&lt;br /&gt;
Not every type of package is available for every model.&lt;br /&gt;
&lt;br /&gt;
The ''BIOS Utility'' and ''Bootable CD'' packages combine the BIOS and ECP firmwares.  For the other packages, there is one for each firmware.&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; style=&amp;quot;width:20em;&amp;quot;&lt;br /&gt;
| {{HELP|Can an image be extracted from a &amp;quot;Linux diskette&amp;quot; .exe file?}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The ''Linux diskette'' is just the ''Diskette'' package that runs on Linux instead of Windows/DOS.  It's unknown if a boot image can be extracted from it.  &lt;br /&gt;
&lt;br /&gt;
You may need to try different packages to find the one from which you can extract a boot image.&lt;br /&gt;
&lt;br /&gt;
== Two Firmwares: BIOS and ECP ==&lt;br /&gt;
{{WARN|Flashing incompatible firmwares, or flashing them in the wrong order, may cause permanent damage to your ThinkPad.}}&lt;br /&gt;
&lt;br /&gt;
It is important to understand that Thinkpads from IBM have two separate firmwares: the BIOS, and the Embedded Controller Program (ECP).&lt;br /&gt;
&lt;br /&gt;
A given BIOS version will require a certain version of the ECP.  You must read the Lenovo website and/or .txt files to confirm which BIOS is compatible with which ECP, and '''the order in which to update them'''.  &lt;br /&gt;
&lt;br /&gt;
=== Update Order ===&lt;br /&gt;
{|align=&amp;quot;right&amp;quot; style=&amp;quot;width:20em; font-size:80%;&amp;quot;&lt;br /&gt;
|{{HELP|Is the order really that important?  And why do the ECP first by default?}}&lt;br /&gt;
|}&lt;br /&gt;
The IBM documentation is sometimes unclear about the order in which these two firmwares should be updated.  When in doubt, '''update the ECP first, and then the BIOS'''.  Also, make sure to do the two updates '''immediately one after the other'''.&lt;br /&gt;
&lt;br /&gt;
Odd, I see [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-55001 IBM saying]&lt;br /&gt;
:''If you need to update Embedded Controller Program as well as the BIOS, update the BIOS first.''&lt;br /&gt;
&lt;br /&gt;
(Updaters for newer models do both the ECP and the BIOS at the same time, so you don't have to worry about it.)&lt;br /&gt;
&lt;br /&gt;
== Installed Firmware ==&lt;br /&gt;
You can check the current BIOS and ECP versions on your ThinkPad by using '''dmidecode'''. For example:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|dmidecode -s bios-version}}&lt;br /&gt;
&lt;br /&gt;
 1RETDRWW (3.23 )&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|dmidecode -t 11}}&lt;br /&gt;
&lt;br /&gt;
 # dmidecode 2.9&lt;br /&gt;
 SMBIOS 2.33 present.&lt;br /&gt;
 Handle 0x0029, DMI type 11, 5 bytes&lt;br /&gt;
 OEM Strings&lt;br /&gt;
         String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&lt;br /&gt;
&lt;br /&gt;
Showing BIOS version 3.23 (1RETDRWW) and ECP version 3.04 (1RHT71WW).&lt;br /&gt;
&lt;br /&gt;
===DMI IDs===&lt;br /&gt;
Please consider updating the [[List of DMI IDs]] before (and after) updating your BIOS.&lt;br /&gt;
&lt;br /&gt;
= Updating Firmware =&lt;br /&gt;
&lt;br /&gt;
There are two basic steps to updating the firmware (either the BIOS or the ECP) on a ThinkPad not running Windows:&lt;br /&gt;
# Extract a bootable update image&lt;br /&gt;
# Boot from that image&lt;br /&gt;
&lt;br /&gt;
== Extracting an update image ==&lt;br /&gt;
{{WARN|Though this process has been successfully tested on many versions of .exe files found on IBMs website, that doesn't mean it will work for all of them.  '''Proceed at your own risk'''.  Consult the testing tables farther down of this page to see other users' experience with your model Thinkpad.}}&lt;br /&gt;
The various .exe installers from Lenovo all appear to be just a wrapper license program around Windows .cab files (see [[How_to_change_the_BIOS_bootsplash_screen|BIOS-Bootsplash]]).  If you install the Linux program [http://freshmeat.net/projects/cabextract/ '''cabextract'''] you can expand these .cab files directly.  For example, if you downloaded {{path|1iuj13us.exe}} from Lenovo:&lt;br /&gt;
&lt;br /&gt;
:{{cmduser|cabextract 1iuj13us.exe}}&lt;br /&gt;
&lt;br /&gt;
 Extracting cabinet: 1iuj13us.exe&lt;br /&gt;
  extracting 1IUJ13US.IMG&lt;br /&gt;
  extracting BIOSUPTP.EXE&lt;br /&gt;
  extracting DOBOOT.EXE&lt;br /&gt;
  extracting DOSBOOT.COM&lt;br /&gt;
  extracting DOSBOOT.SYS&lt;br /&gt;
  extracting DOSBOOT.VXD&lt;br /&gt;
  extracting DOSBOOT2.COM&lt;br /&gt;
  extracting ECTLUPTP.EXE&lt;br /&gt;
  extracting EFLASHAS.SYS&lt;br /&gt;
  extracting HDFWUPTP.EXE&lt;br /&gt;
  extracting IBMTPI.XML&lt;br /&gt;
 All done, no errors.&lt;br /&gt;
&lt;br /&gt;
The file we want is '''FILENAME.IMG''', with &amp;quot;FILENAME&amp;quot; being the .exe. you downloaded.  E.g., {{path|1IUJ13US.IMG}}.&lt;br /&gt;
&lt;br /&gt;
(If this does not work for the Non-diskette .exe, try it on the Diskette .exe.  It's reported, for example, that the Non-diskette .exe for BIOS version 3.23 for the T41p was not extractable, but the Diskette .exe worked perfectly, with {{cmduser|cabextract}} delivering a .IMG file.)&lt;br /&gt;
&lt;br /&gt;
==== Testing the Image ====&lt;br /&gt;
&lt;br /&gt;
You can test that FILENAME.IMG is really a floppy image by running:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|mkdir /tmp/mntfloppy}}&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|mount -o loop FILENAME.IMG /tmp/mntfloppy}}&lt;br /&gt;
&lt;br /&gt;
If a '''ls''' command on the image returns what looks like a DOS floppy, and no read errors were displayed, you have a pretty good chance that the image is usable.  For example:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|ls /tmp/mntfloppy}}&lt;br /&gt;
 $0195000.FL1  069580.PAT  06d2.HSH     IBMDOS.COM    TPCHKS.EXE&lt;br /&gt;
 0691.HSH      06D0.PAT    06d6.HSH     LOGO.BAT      UPDTFLSH.EXE&lt;br /&gt;
 0691.PAT      06D1.PAT    06d8.HSH     LOGO.SCR      UPDTMN.EXE&lt;br /&gt;
 0694.HSH      06D2.PAT    CHKBMP.EXE   PHLASH16.EXE  USERINT.EXE&lt;br /&gt;
 0694.PAT      06D6.PAT    COMMAND.COM  PREPARE.EXE   UTILINFO.EXE&lt;br /&gt;
 0695.HSH      06D8.PAT    CONFIG.SYS   PROD.dat      lcreflsh.bat&lt;br /&gt;
 0695.PAT      06d0.HSH    FLASH2.EXE   QKFLASH.EXE&lt;br /&gt;
 069580.HSH    06d1.HSH    IBMBIO.COM   README.TXT&lt;br /&gt;
&lt;br /&gt;
Unmount the image after you are done testing:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|umount /tmp/mntfloppy}}&lt;br /&gt;
&lt;br /&gt;
== Booting from update image ==&lt;br /&gt;
Now that you have a bootable image for the correct update for you hardware, you need to do is boot from that image to install the update.&lt;br /&gt;
&lt;br /&gt;
There are different ways to do that:&lt;br /&gt;
* [[#Booting from a CD|Boot from a CD]]&lt;br /&gt;
* [[#Booting_using_GRUB|Boot from the image, using GRUB]]&lt;br /&gt;
* [[#Booting_from_a_floppy|Boot from a floppy]]&lt;br /&gt;
* [[#Booting_from_a_USB_Flash_drive|Boot from a USB Flash drive]]&lt;br /&gt;
&lt;br /&gt;
=== Booting from a CD ===&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; style=&amp;quot;width:40em;&amp;quot;&lt;br /&gt;
|{{HINT|If there is a ''Bootable CD'' image available, e.g., FILENAME.iso, just download that, instead of mucking around with image files.}}&lt;br /&gt;
|}&lt;br /&gt;
If you are going to update the firmware by booting from a CD, you need to turn FILENAME.IMG that you extracted above into an .iso file.&lt;br /&gt;
&lt;br /&gt;
The [http://en.wikipedia.org/wiki/El_Torito_%28CD-ROM_standard%29 El Torito Bootable CD Specification] is a wonderful thing.  Thanks to it, a bootable CD can be made with a bootable floppy image in such as way that the CD believes that it is a 2.88 MB floppy drive.  This allows you to replace a boot floppy by a boot CD in nearly all situations.&lt;br /&gt;
&lt;br /&gt;
It is very easy to create such a bootable CD ISO image in Linux using the '''mkisofs''' tool{{footnote|1}}.  Run a command as follows:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|mkisofs -b bootfloppy.img -o bootcd.iso FILENAME.IMG}}&lt;br /&gt;
&lt;br /&gt;
Where FILENAME.IMG is the name of the image file extracted above, for example {{path|1IUJ13US.IMG}}.  This creates a CD with one file on it and marks that file as the boot image.  &lt;br /&gt;
&lt;br /&gt;
You can now burn the {{path|bootcd.iso}} to a CD in your favorite CD-burning program.&lt;br /&gt;
{{WARN|By following any of the instructions here you are accepting the '''very real risk''' of turning your ThinkPad into a big expensive paper weight, as a firmware update gone wrong can create unfix-able problems.  '''Proceed at your own risk!'''}}&lt;br /&gt;
&lt;br /&gt;
Boot from the CD to update your firmware.  Remember to have [[BIOS_Upgrade#Two_Firmwares:_BIOS_and_ECP|both BIOS and ECP firmware boot-CDs]] ready, as needed, and use them in the [[#Proper_Order|proper order]].&lt;br /&gt;
&lt;br /&gt;
==== Successful tests ====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; style=&amp;quot;font-size:80%; vertical-align:top;&amp;quot;&lt;br /&gt;
! Model&lt;br /&gt;
! Tested by, and comments&lt;br /&gt;
|-&lt;br /&gt;
| {{600E}} 2645-4AU ||&lt;br /&gt;
* George Tellalov &amp;lt;gtellalov_dontspamme@bigfoot.com&amp;gt;. BIOS 1.16 from spsdin36.exe worked perfectly with the method bootable cd from floppy image. I highly recommend this upgrade because it made my ibm-acpi module load (it wouldn't load before) and fixed some suspend to ram problems. Here's the [http://george.tellalov.info/bios_upgrade_600e_spsdin36.iso cd image] I used. Use at your own risk. You can send me a chocolate if it works for you ;)&lt;br /&gt;
|-&lt;br /&gt;
| {{600E}} 2645-5bU ||&lt;br /&gt;
* Mike Vincent&amp;lt;matchstc-putobvioushere.com&amp;gt;. Bios 1.16 from spsdin36.exe and then to the boot cd worked great for me. Thought I had bricked it three separate times using a &amp;quot;real&amp;quot; floppy! Each from different diskettes .The updater would start, give me the &amp;quot;going to take30 seconds&amp;quot; speech...and then access the HD for 10 minutes. Each time it would reboot fine. Did the cd as described above...worked great first time. Perhaps 10 year old seldom used floppy disc drives have some challenges?&lt;br /&gt;
|-&lt;br /&gt;
| {{600X}} 2645 ||&lt;br /&gt;
* Jonathan Byrne &amp;lt;jonathan@RemoveThisToMailMe.yamame.org&amp;gt;. BIOS 1.11 from spsuit55.exe worked perfectly using cabextract/CD method.&lt;br /&gt;
|-&lt;br /&gt;
| {{600X}} 2645 ||&lt;br /&gt;
* Andy Barnes &amp;lt;andy@RemoveThisToMailMe.itchypaws.co.uk&amp;gt;. As per Jonathan above, extracted BIOS 1.11 from spsuit55.exe using cabextract, created a CD boot image and burnt to CD.  Worked flawlessly - thanks to everyone who contributed to this article!&lt;br /&gt;
|-&lt;br /&gt;
| {{A20p}} 2629-6VU ||&lt;br /&gt;
* Chris Pickett http://www.sable.mcgill.ca/~cpicke/. BIOS 1.11 flashed fine with cabextract/CD method.&lt;br /&gt;
|-&lt;br /&gt;
| {{A21e}} 2628-JXU ||&lt;br /&gt;
* Amit Gurdasani &amp;lt;gurdasani at yahoo dot com&amp;gt;. BIOS 1.13 flashed fine with cabextract/CD method. Alarmingly, after the BIOS update, the laptop beeped but did not shut down as was indicated onscreen -- that was frozen on the &amp;quot;do not shut down the laptop&amp;quot; screen. On power down and up again, the BIOS setup showed the newer BIOS image running, and Linux booted up fine. Linux ACPI didn't complain about the BIOS being too old either.&lt;br /&gt;
|-&lt;br /&gt;
| {{A31p}} 2653 ||&lt;br /&gt;
* Matthias Meinke largeeddy@gmx.at, BIOS 1.09 1NET15WW flashed fine with cabextract/CD method.&lt;br /&gt;
|-&lt;br /&gt;
| {{A31}} 2652 ||&lt;br /&gt;
* [[User:Wnoise|Aaron Denney]], BIOS 1.13 flashed fine with cabextract/CD method.  The cabextract/CD method also worked for BIOS 1.10.&lt;br /&gt;
|-&lt;br /&gt;
| {{R30}} ||&lt;br /&gt;
* Jarrod, 30 August 2007, Thinkpad R30 Type 2656-E0M. BIOS updated to 1.40 (1CETF0WW) using floppy disk/mkisofs/cdrecord. Worked fine, no problems. &lt;br /&gt;
|-&lt;br /&gt;
| {{R31}} ||&lt;br /&gt;
* [http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/1998-January/009743.html Mathias Dalheimer]&lt;br /&gt;
* Sebastian Sauer (with cabextract/CD method)&lt;br /&gt;
|-&lt;br /&gt;
| {{R40}} ||&lt;br /&gt;
* Matthew Lambie, http://lambie.org&lt;br /&gt;
|-&lt;br /&gt;
| {{R50}} 1836-3SU ||&lt;br /&gt;
* jlbartos &amp;lt;jlbartos at hotmail dot com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{R50e}} 1834-PTG ||&lt;br /&gt;
* item &amp;lt;item at freemail dot hu&amp;gt; : successfully finished with cabextract/CD method for &amp;quot;1wuj25us.exe&amp;quot; (BIOS version 1WET90WW (2.10), Release Date: 2006/12/22)&lt;br /&gt;
* Christos Nouskas &amp;lt;nouskas at gmail dot com&amp;gt;: upgraded to BIOS version 1WET90WW (2.10) and EC version 1VHT28WW (1.04) using GRUB (BIOS first / EC second)&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} 1829 ||&lt;br /&gt;
* Robert Uhl &amp;lt;rob dot uhl at gmx dot de&amp;gt;, Jellby &amp;lt;jellby at yahoo dot com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} 1830-RM7 ||&lt;br /&gt;
* Will Parker &amp;lt;stardotstar at sourcepoint dot com dot au&amp;gt; successfully flashed 3.20 using existing 3.04 ECP and retained custom boot splash.&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} 2887 ||&lt;br /&gt;
* Ingo van Lil &amp;lt;inguin at gmx dot de&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} 1858 ||&lt;br /&gt;
* Stuart McCord &amp;lt;stuart dot mccord at gmail dot com&amp;gt; flashed both BIOS and ECP using cabextract, BIOS flashed first as on IBM website&lt;br /&gt;
|-&lt;br /&gt;
| {{T20}} ||&lt;br /&gt;
* Franz Hassels &amp;lt;fhassel at suse dot com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{T22}} ||&lt;br /&gt;
* Daniel Maier &amp;lt;nusse teamidiot de&amp;gt;&lt;br /&gt;
* Mathias Behrle (with cabextract/CD method, Version 1.07 =&amp;gt; 1.12) --[[User:Mathiasb|Mathiasb]] 11:58, 14 December 2006 (CET)&lt;br /&gt;
* Bob Skaroff (cabextract/CD), 1.06 =&amp;gt; 1.12&lt;br /&gt;
* Leo Butler (cabextract/CD), 1.11 =&amp;gt; 1.12 &lt;br /&gt;
|-&lt;br /&gt;
| {{T23}} ||&lt;br /&gt;
* Bart Snapp &amp;lt;snapp at uiuc dot edu&amp;gt; Note: I followed IBM's instructions to flash the BIOS '''first''' and the Embedded Controller '''second'''.&lt;br /&gt;
* Moy Easwaran: BIOS 1.18 / EC 1.06a via cabextract and CD-boot.  The BIOS-update exe generated errors in Windows 2000.&lt;br /&gt;
* Joe Renes: BIOS 1.18 / EC 1.06a on 2006-03-20 via cabextract and CD-boot. Piece of cake.&lt;br /&gt;
* Raphael Errani: BIOS 1.20 / EC 1.06a on 2006-11-06 via cabextract and CD-boot (using mkisofs). Worked without errors. 1st Bios, 2nd EC&lt;br /&gt;
* Myron Getman: BIOS 1.20 / EC 1.06a on 9/10/08 via cabextract --&amp;gt; k3b --&amp;gt; CD-boot.  Worked like a charm.  First BIOS update with Linux!&lt;br /&gt;
* Leo Butler: BIOS 1.13 / EC 1.04 to 1.20/1.06a via cabextract and syslinux/memdisk boot through grub. Worked like a charm and no wasted CD.&lt;br /&gt;
|-&lt;br /&gt;
| {{T30}} ||&lt;br /&gt;
* Martin GÃ¼hring &amp;lt;guehring at gmail.com&amp;gt; BIOS 2.10 via cabextract the Non-Diskette BIOS -&amp;gt; mkisofs '''in the directory the exe was extracted''' to generate the iso -&amp;gt; burn the iso -&amp;gt; boot the CD&lt;br /&gt;
|-&lt;br /&gt;
| {{T40}} ||&lt;br /&gt;
* Sean Dague, http://dague.net&lt;br /&gt;
* Justin Mason, http://jmason.org&lt;br /&gt;
* Ivanhoe (Bios 3.19)&lt;br /&gt;
* Alessandro Raulino (roger_2) EC 3.04 &amp;amp; BIOS 3.23 flashed with cabextract/CD method&lt;br /&gt;
* Nick Jenkins, using BIOS 3.23 with the '''Non-diskette updater + cabextract method''', then [[#Creating_a_Bootable_CD_from_a_Floppy_Image|created a bootable CD from the cabextracted .IMG file]], then boot that ISO, and it worked great!&lt;br /&gt;
|-&lt;br /&gt;
| {{T40p}} ||&lt;br /&gt;
* Lukas KrÃ¤henbÃ¼hl, ismo at pop dot agri dot ch&lt;br /&gt;
* Thomas Achtemichuk, tom at tomchuk dot com. BIOS 3.15 flashed fine with cabextract/CD method&lt;br /&gt;
|-&lt;br /&gt;
| {{T41}} ||&lt;br /&gt;
* Lev Givon (Bios 3.15 / EC 3.04) &amp;lt;lev at columbia dot edu&amp;gt;&lt;br /&gt;
* Ernesto HernÃ¡ndez-Novich (Bios 3.19 / CP 3.04) &amp;lt; emhn at usb dot ve &amp;gt;&lt;br /&gt;
* [http://maebmij.org James Ballantine] (Bios 3.21 / CP 3.04) using nondisk/cabextract/CDRW&lt;br /&gt;
|-&lt;br /&gt;
| {{T41p}} ||&lt;br /&gt;
* Nils Newman, work great. (Version: Bios 3.14 / Embedded Controller 3.04)&lt;br /&gt;
|-&lt;br /&gt;
| {{T42}} 2373-JXG ||&lt;br /&gt;
* magarzo &amp;lt;mdr.magarzo at gmail.com&amp;gt; (BIOS v.3.23 / Embedded Controller v.3.04 / both with cabextract to non-diskette v. plus Bootable CD)&lt;br /&gt;
|-&lt;br /&gt;
| {{T42}} ||&lt;br /&gt;
* Dan (BIOS 3.20 / EC 3.04, cabextract/CD method) &amp;lt;tronic171 at evilphb.org&amp;gt;&lt;br /&gt;
* Hirosh Dabui &amp;lt;hirosh@dabui.de&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{T42p}} ||&lt;br /&gt;
* Robert Schiele &amp;lt;rschiele@uni-mannheim.de&amp;gt;, Joern Heissler &amp;lt;joern@heissler.de&amp;gt;, Hirosh Dabui &amp;lt;hirosh@dabui.de&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}} 1871-W34 ||&lt;br /&gt;
* Florian Boucault &amp;lt;florian at boucault dot ath dot cx&amp;gt; (Version: Bios 1.23 / Embedded Controller 1.03)&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}} 2886 ||&lt;br /&gt;
* Till Heikamp &amp;lt;t dot heikamp at geniusbytes dot com&amp;gt; (Bios 1.22 to 1.29, Embedded Controller 1.03 to 1.06)&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}} ||&lt;br /&gt;
* Conrad Rentsch &amp;lt;Conrad dot Rentsch at t-online dot de&amp;gt; (Version: Bios 1.29 / Embedded Controller 1.06)&lt;br /&gt;
* Tom Heady &amp;lt;tom-thinkwiki.org@punch.net&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{T60}} 1951 ||&lt;br /&gt;
* Roman Komkov &amp;lt;roman  at komkov dot org dot ru&amp;gt; (Bios 1.07 to 2.13) Successfully upgraded from CD Image&lt;br /&gt;
|-&lt;br /&gt;
| {{T61}}  ||&lt;br /&gt;
* Kai Weber &amp;lt;kai.weber  at glorybox dot org&amp;gt; (Bios 1.06 to 1.26) Successfully upgraded from CD Image&lt;br /&gt;
|-&lt;br /&gt;
| {{X20}} ||&lt;br /&gt;
* Neil Caunt &amp;lt;retardis at gmail dot com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{X21}} ||&lt;br /&gt;
* Patrick Leickner &amp;lt;ranma at web dot de&amp;gt;, (BIOS 2.21-&amp;gt;2.25 / EC 1.31-&amp;gt;1.36) via non-disk/cabextract/mkisofs/cdrecord&lt;br /&gt;
|-&lt;br /&gt;
| {{X22}} ||&lt;br /&gt;
* David Emery &amp;lt;dave at skiddlydee dot com&amp;gt;,  (EC 1.30, BIOS 1.32 using non-disk/cabextract/CD method)&lt;br /&gt;
|-&lt;br /&gt;
| {{X23}} ||&lt;br /&gt;
* Nils Faerber &amp;lt;nils dot faerber at kernelconcepts dot de&amp;gt; (Embedded Controller 1.30, BIOS 1.32 with cabextract/CD method)&lt;br /&gt;
|-&lt;br /&gt;
| {{X30}} ||&lt;br /&gt;
* Hella Breitkopf, [http://www.unixwitch.de/ www]  (Embedded Controller 1.04, BIOS 1.07 with cabextract/CD method)&lt;br /&gt;
* William Roe &amp;lt;willroe at gmail dot com&amp;gt; (Embedded Controller 1.06, BIOS 1.09 - cabextract/mkisofs/wodim)&lt;br /&gt;
|-&lt;br /&gt;
| {{X31}} ||&lt;br /&gt;
* Grzegorz KuÅ›nierz &amp;lt;koniu at sheket dot org&amp;gt;  (Embedded Controller 1.08, BIOS 3.01 with cabextract/CD method)&lt;br /&gt;
|-&lt;br /&gt;
| {{X40}} ||&lt;br /&gt;
* Robbie Stone &amp;lt;robbie@serendipity.cx&amp;gt;&lt;br /&gt;
* Andy Shevchenko &amp;lt;andy.shevchenko@gmail.com&amp;gt;   (Fine by cabextract/CD method)&lt;br /&gt;
|-&lt;br /&gt;
| {{Z60m}} ||&lt;br /&gt;
* [[User:Morle|Morle]] 01:09, 17 Nov 2007 (CEST),  (Embedded Controller 1.18 and Bios 1.24 with cabextract/CD method)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Unsuccessful tests ====&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; style=&amp;quot;font-size:80%; vertical-align:top;&amp;quot;&lt;br /&gt;
! Model&lt;br /&gt;
! Tested by, and comments&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;pre&amp;gt;      &amp;lt;/pre&amp;gt; &amp;lt;!-- Placeholder --&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Booting using GRUB ===&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:75%&amp;quot; | {{WARN|Many have warned '''not''' to use the SYSLINUX image-loader '''memdisk''' to boot firmware update images.}}&lt;br /&gt;
| style=&amp;quot;font-size:80%&amp;quot; | {{HELP|Who are these &amp;quot;many&amp;quot;?  Link to a discussion?}}&lt;br /&gt;
|}&lt;br /&gt;
Once the bootable image, FILENAME.IMG, is extracted from the .exe, it can be booted directly through GRUB without the need of burning a CD, using the [http://syslinux.zytor.com/ SYSLINUX] image-loader '''[http://syslinux.zytor.com/memdisk.php memdisk]'''.&lt;br /&gt;
&lt;br /&gt;
Locate the '''memdisk''' file from the syslinux package. You can search for it with '''find''': &lt;br /&gt;
&lt;br /&gt;
{{cmdroot|find /usr -name memdisk}}&lt;br /&gt;
&lt;br /&gt;
If {{path|/usr/.../memdisk}} is not present, syslinux is not installed.  You will need to install it to boot a .IMG from GRUB.&lt;br /&gt;
&lt;br /&gt;
Copy both the '''FILENAME.IMG''' and '''memdisk''' files into {{path|/boot}} directory.  For example:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|cp ./FILENAME.IMG /usr/share/syslinux/memdisk /boot/}}&lt;br /&gt;
&lt;br /&gt;
Open {{path|/boot/grub/menu.lst}} in your favourite editor.  '''Copy''' the active section into a '''new section''', and edit the new section:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Parameter&lt;br /&gt;
! Instructions&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| ''title''  || Pick a name for the new section.  This will show up in the GRUB boot menu. || &amp;lt;tt&amp;gt;title IBM ECP Update&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| ''root''   || Do not change.  This is the partition containing the {{path|/boot}} directory       || &amp;lt;tt&amp;gt;root (hd0,0)&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| ''kernel'' || '''/boot/memdisk''' will allow you to boot an image file.                  || &amp;lt;tt&amp;gt;kernel /boot/memdisk&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| ''initrd'' || This is the name of the firmware-updater image file, e.g., 1IUJ13US.IMG    || &amp;lt;tt&amp;gt;initrd /boot/1IUJ13US.IMG&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Do '''not''' modify the original section in {{path|/boot/grub/menu.lst}}, or you might not be able to boot back to the operating system.&lt;br /&gt;
&lt;br /&gt;
If you have [[#Two_Firmwares:_BIOS_and_ECP|two firmware updates to do]], you will need a section for each firmware's FILENAME.IMG in {{path|/boot/grub/menu.lst}}.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|If both BIOS and ECP are to be updated, be sure to update them in the [[#Proper_Order|proper order]].}}&lt;br /&gt;
&lt;br /&gt;
{{WARN|By following any of the instructions here you are accepting the '''very real risk''' of turning your ThinkPad into a big expensive paper weight, as a firmware update gone wrong can create unfix-able problems.  '''Proceed at your own risk!'''}}&lt;br /&gt;
&lt;br /&gt;
Reboot your computer, entering the GRUB menu and selecting ''IBM BIOS Update'', or whatever you named the new section in {{path|/boot/grub/menu.lst}}.&lt;br /&gt;
&lt;br /&gt;
==== Successful tests ====&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; style=&amp;quot;font-size: 80%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Model&lt;br /&gt;
! BIOS&lt;br /&gt;
! ECP&lt;br /&gt;
! Tested by&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| {{R30}} 2656-64G || v.1.40            ||                   || [[User:english.voodoo|Yuri Spirin]] ||&lt;br /&gt;
|-&lt;br /&gt;
| {{R40}} 2723     || 1OHJ11WW.IMG      || 1PUJ25US.IMG      || [[User:qunying|Qunying]] || memdisk from syslinux 3.70 (slackware 12.1)&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} 2888     ||                   ||                   ||                          || &lt;br /&gt;
|-&lt;br /&gt;
| {{T40}} 2373     || 1RUJ37US.IMG      || 1RHJ10U2.IMG      || [[User:Euphoria|Euphoria]] || memdisk from syslinux 1:3.31-4 (Debian package version)&lt;br /&gt;
|-&lt;br /&gt;
| {{T40}} 2373     || 1RHJ10U2.IMG&amp;lt;br /&amp;gt;(3.04, 2004-11-15) || 1RUJ37US.IMG&amp;lt;br /&amp;gt;(3.23, 2007-07-03) || [[User:Morphics|Morphics]] || cabextract and memdisk from syslinux 3:1.36-4ubuntu5&lt;br /&gt;
|-&lt;br /&gt;
| {{T41}} 2373     || 1RUJ37US.IMG&amp;lt;br /&amp;gt;(3.23, 2007-07-03) || || [[User:Tonko|Tonko]] || Fedora 12&lt;br /&gt;
|-&lt;br /&gt;
| {{T41p}} 2373    || 1RUJ37US.IMG&amp;lt;br /&amp;gt;(3.23, 2007-07-03) ||  || [[User:Deggel|Deggel]] || cabextract and memdisk from syslinux 3.71 on gentoo &lt;br /&gt;
|-&lt;br /&gt;
| {{T41p}} 2373    ||  ||  || [[User:MrStaticVoid|James Lee]]   || &lt;br /&gt;
|-&lt;br /&gt;
| {{X31}} 2673-CBU ||  ||  || [[User:JanTopinski|Jan Topinski]] || &lt;br /&gt;
|-&lt;br /&gt;
| {{X31}} 2672-CXU ||  ||  || [[User:TheAnarcat|TheAnarcat]]    || &lt;br /&gt;
|-&lt;br /&gt;
| {{X31}} 2673-58G ||  ||  || [[User:FaUl|FaUl]]                || &lt;br /&gt;
|-&lt;br /&gt;
| {{X31}} 2672-PG9 ||  ||  || [[User:Starox|Starox]]            || a big moment between starting update and the updating window &lt;br /&gt;
|-&lt;br /&gt;
| {{X40}} 2371     || 2.07 1uuj21us.exe || 1.62 1uhj10us.exe || [[User:Antialize|Jakob Truelsen]] || Worked on two X40-2371 &lt;br /&gt;
|-&lt;br /&gt;
| {{X40}} 2386     || 2.08 1uuj22us.exe || 1.62 1uhj10us.exe || [[User:Antialize|Galen Seitz]] || memdisk from syslinux 3.61&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Unsuccessful tests ====&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; style=&amp;quot;font-size: 80%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Model&lt;br /&gt;
!  style=&amp;quot;width:10em;&amp;quot; | BIOS&lt;br /&gt;
! ECP&lt;br /&gt;
! Tested by&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}} 2668-F7G || 1.29 1YUJ18US.IMG ||  || [[User:Maus3273|Maus3273]] || I got into the bios program, but the machine never restarts after initiating the upgrade.&lt;br /&gt;
|-&lt;br /&gt;
| {{X41}} 2525-FAG || 2.09 74UJ15US     ||  || [[User:Ukleinek|Uwe Kleine-König]] || booted fine (Debian syslinux 2:3.71+dfsg-5), but didn't succeed to write, just hang at &amp;quot;Don't restart or remove diskette etc. pp&amp;quot; (not bricked).  Worked fine via CD method.&lt;br /&gt;
|- &lt;br /&gt;
| {{X41}} 2525-F8G || 2.06 74UJ12US.IMG&amp;lt;br /&amp;gt;2.07 74UJ13US.IMG&amp;lt;br /&amp;gt;2.09 74UJ15US.IMG ||  || [[User:ladoga|Lauri Koponen]] || hangs while initializing the actual BIOS flashing process&amp;lt;br /&amp;gt; ECP: 1.02 74HJ03US.IMG works&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Booting from a Floppy ===&lt;br /&gt;
{{WARN|Using a floppy disk '''is NOT recommended'''.}}&lt;br /&gt;
&lt;br /&gt;
This is how IBM/Lenovo intended it.  Use their .exe files to create a bootable floppy with the flash update on it.  Boot from the floppy and there you go.&lt;br /&gt;
&lt;br /&gt;
So, why is it not recommended?&lt;br /&gt;
# If something goes wrong, your ThinkPad may be permanently damaged&lt;br /&gt;
# Floppy disk drives are not reliable&lt;br /&gt;
# Floppy disks are not reliable&lt;br /&gt;
# It only works with /dev/fd0, meaning it won't work with a USB floppy&lt;br /&gt;
&lt;br /&gt;
So, even though Lenovo is now offering &amp;quot;Linux diskette&amp;quot; updaters, that will create a bootable floppy under Linux, using a floppy is still not recommended.  Besides, many people don't even ''have'' a floppy drive on their ThinkPad.&lt;br /&gt;
&lt;br /&gt;
If you really want to do it with a floppy, some tips:&lt;br /&gt;
* Use a clean (in the physical sense) floppy drive&lt;br /&gt;
* Use new floppies&lt;br /&gt;
* Test floppies for errors before starting update process&lt;br /&gt;
* Have multiple copies of the update disks ready--if one should fail, replace it with a copy&lt;br /&gt;
* Should DOS complain of a read error, '''only''' respond wth &amp;quot;Retry&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{NOTE|Should the system encounter a disk read error during the flash process, and you select &amp;quot;Abort&amp;quot;, your system could be permanently damaged.}}&lt;br /&gt;
&lt;br /&gt;
=== Booting from a USB Flash drive ===&lt;br /&gt;
{{HELP|Has anyone tested booting a firmware update image from a USB flash drive?  Perhaps using [http://unetbootin.sourceforge.net/ UNetbootin]?}}&lt;br /&gt;
&lt;br /&gt;
== Booting from a Network Boot Image ==&lt;br /&gt;
BIOS, ECP, CD/DVD and Harddisk firmware disks can be booted over the network with [http://syslinux.zytor.com/pxe.php PXELINX] as part of the [http://syslinux.zytor.com/ SYSLINUX] package.  This requires that you have a DHCP and tftp server configured and setup properly on your network, and is probably not for the faint of heart.&lt;br /&gt;
&lt;br /&gt;
Make sure the firmware bootdisk is in linux 'dd' format, as the self-extracting .exe disks from the IBM website cannot be booted directly as such.&lt;br /&gt;
&lt;br /&gt;
This worked on the {{R31}}, {{X22}}, {{T21}}, {{T30}} and {{T41p}} with various firmware updates.  On the {{X22}}, it worked with ECP 1.30 but '''not''' with BIOS 1.32&lt;br /&gt;
&lt;br /&gt;
=After updating=&lt;br /&gt;
Lenovo recommends reseting your BIOS settings to their factory defaults after a firmware update.&lt;br /&gt;
&lt;br /&gt;
==DMI IDs==&lt;br /&gt;
Please consider updating the [[List of DMI IDs]] after updating your BIOS.&lt;br /&gt;
&lt;br /&gt;
= Special Cases =&lt;br /&gt;
* In one case, see ([[APM setup on a type 2379 ThinkPad T40]]), it was not possible to upgrade the BIOS from Windows XP; a downgrade to Windows 98 was required to successfully run the BIOS upgrade app. The symptoms in this case were that, once the files had been extracted to the hard disk, and the machine was to reboot into the upgrade app, it would beep and hang just before reboot, requiring a power cycle. Once the power was cycled, it would simply reboot back into XP without performing any BIOS upgrade actions. So even if you have Windows, you may still need to use the info on this page.&lt;br /&gt;
&lt;br /&gt;
== Updating Thinkpad X Series ==&lt;br /&gt;
The special update instructions for {{X_Series}} Thinkpads are quite long. You can find them at the page [[BIOS_Upgrade/X_Series]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{{footnotes|&lt;br /&gt;
# For lots of detail on making and burning .iso files, see The Linux Documentation Project (tldp.org): [http://tldp.org/HOWTO/CD-Writing-HOWTO-3.html#ss3.1 3.1 Writing CD-ROMs (pure data)].&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Jidanni</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=BIOS_Upgrade&amp;diff=45416</id>
		<title>BIOS Upgrade</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=BIOS_Upgrade&amp;diff=45416"/>
		<updated>2010-01-22T06:16:26Z</updated>

		<summary type="html">&lt;p&gt;Jidanni: /* Booting from a CD */&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;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
This page is meant to describe ways to update the BIOS on a ThinkPad that only runs Linux for users that don't have ready access to Windows. If you have Windows on your ThinkPad you can just boot into it and follow instructions on the Lenovo website.&lt;br /&gt;
&lt;br /&gt;
Updating the BIOS in Linux (with few exceptions) '''is not officially supported''' by Lenovo.  However there are work arounds.&lt;br /&gt;
&lt;br /&gt;
{{WARN|By following any of the instructions here you are accepting the '''very real risk''' of turning your ThinkPad into a big expensive paper weight, as a firmware update gone wrong can create unfix-able problems.&lt;br /&gt;
&lt;br /&gt;
'''Proceed at your own risk!'''}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Downloading New Firmware =&lt;br /&gt;
{{WARN|Flashing the wrong firmware for your hardware may cause permanent damage to your ThinkPad.  It is up to you to confirm that the firmware you are using is correct.}}&lt;br /&gt;
&lt;br /&gt;
A list of links to firmware downloads can be found at [[BIOS Upgrade Downloads]] for most Thinkpad models.  You can also check the Lenovo Support website's [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=TPAD-MATRIX|ThinkPad driver matrix].&lt;br /&gt;
&lt;br /&gt;
Lenovo provides firmware upgrades in a variety of packages:&lt;br /&gt;
* Diskette&lt;br /&gt;
* Non-diskette&lt;br /&gt;
* Linux diskette&lt;br /&gt;
* BIOS Utility&lt;br /&gt;
* Bootable CD&lt;br /&gt;
&lt;br /&gt;
Not every type of package is available for every model.&lt;br /&gt;
&lt;br /&gt;
The ''BIOS Utility'' and ''Bootable CD'' packages combine the BIOS and ECP firmwares.  For the other packages, there is one for each firmware.&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; style=&amp;quot;width:20em;&amp;quot;&lt;br /&gt;
| {{HELP|Can an image be extracted from a &amp;quot;Linux diskette&amp;quot; .exe file?}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The ''Linux diskette'' is just the ''Diskette'' package that runs on Linux instead of Windows/DOS.  It's unknown if a boot image can be extracted from it.  &lt;br /&gt;
&lt;br /&gt;
You may need to try different packages to find the one from which you can extract a boot image.&lt;br /&gt;
&lt;br /&gt;
== Two Firmwares: BIOS and ECP ==&lt;br /&gt;
{{WARN|Flashing incompatible firmwares, or flashing them in the wrong order, may cause permanent damage to your ThinkPad.}}&lt;br /&gt;
&lt;br /&gt;
It is important to understand that Thinkpads from IBM have two separate firmwares: the BIOS, and the Embedded Controller Program (ECP).&lt;br /&gt;
&lt;br /&gt;
A given BIOS version will require a certain version of the ECP.  You must read the Lenovo website and/or .txt files to confirm which BIOS is compatible with which ECP, and '''the order in which to update them'''.  &lt;br /&gt;
&lt;br /&gt;
=== Update Order ===&lt;br /&gt;
{|align=&amp;quot;right&amp;quot; style=&amp;quot;width:20em; font-size:80%;&amp;quot;&lt;br /&gt;
|{{HELP|Is the order really that important?  And why do the ECP first by default?}}&lt;br /&gt;
|}&lt;br /&gt;
The IBM documentation is sometimes unclear about the order in which these two firmwares should be updated.  When in doubt, '''update the ECP first, and then the BIOS'''.  Also, make sure to do the two updates '''immediately one after the other'''.&lt;br /&gt;
&lt;br /&gt;
Odd, I see on www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-55001 , IBM saying&lt;br /&gt;
:''If you need to update Embedded Controller Program as well as the BIOS, update the BIOS first.''&lt;br /&gt;
&lt;br /&gt;
(Updaters for newer models do both the ECP and the BIOS at the same time, so you don't have to worry about it.)&lt;br /&gt;
&lt;br /&gt;
== Installed Firmware ==&lt;br /&gt;
You can check the current BIOS and ECP versions on your ThinkPad by using '''dmidecode'''. For example:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|dmidecode -s bios-version}}&lt;br /&gt;
&lt;br /&gt;
 1RETDRWW (3.23 )&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|dmidecode -t 11}}&lt;br /&gt;
&lt;br /&gt;
 # dmidecode 2.9&lt;br /&gt;
 SMBIOS 2.33 present.&lt;br /&gt;
 Handle 0x0029, DMI type 11, 5 bytes&lt;br /&gt;
 OEM Strings&lt;br /&gt;
         String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&lt;br /&gt;
&lt;br /&gt;
Showing BIOS version 3.23 (1RETDRWW) and ECP version 3.04 (1RHT71WW).&lt;br /&gt;
&lt;br /&gt;
===DMI IDs===&lt;br /&gt;
Please consider updating the [[List of DMI IDs]] before (and after) updating your BIOS.&lt;br /&gt;
&lt;br /&gt;
= Updating Firmware =&lt;br /&gt;
&lt;br /&gt;
There are two basic steps to updating the firmware (either the BIOS or the ECP) on a ThinkPad not running Windows:&lt;br /&gt;
# Extract a bootable update image&lt;br /&gt;
# Boot from that image&lt;br /&gt;
&lt;br /&gt;
== Extracting an update image ==&lt;br /&gt;
{{WARN|Though this process has been successfully tested on many versions of .exe files found on IBMs website, that doesn't mean it will work for all of them.  '''Proceed at your own risk'''.  Consult the testing tables farther down of this page to see other users' experience with your model Thinkpad.}}&lt;br /&gt;
The various .exe installers from Lenovo all appear to be just a wrapper license program around Windows .cab files (see [[How_to_change_the_BIOS_bootsplash_screen|BIOS-Bootsplash]]).  If you install the Linux program [http://freshmeat.net/projects/cabextract/ '''cabextract'''] you can expand these .cab files directly.  For example, if you downloaded {{path|1iuj13us.exe}} from Lenovo:&lt;br /&gt;
&lt;br /&gt;
:{{cmduser|cabextract 1iuj13us.exe}}&lt;br /&gt;
&lt;br /&gt;
 Extracting cabinet: 1iuj13us.exe&lt;br /&gt;
  extracting 1IUJ13US.IMG&lt;br /&gt;
  extracting BIOSUPTP.EXE&lt;br /&gt;
  extracting DOBOOT.EXE&lt;br /&gt;
  extracting DOSBOOT.COM&lt;br /&gt;
  extracting DOSBOOT.SYS&lt;br /&gt;
  extracting DOSBOOT.VXD&lt;br /&gt;
  extracting DOSBOOT2.COM&lt;br /&gt;
  extracting ECTLUPTP.EXE&lt;br /&gt;
  extracting EFLASHAS.SYS&lt;br /&gt;
  extracting HDFWUPTP.EXE&lt;br /&gt;
  extracting IBMTPI.XML&lt;br /&gt;
 All done, no errors.&lt;br /&gt;
&lt;br /&gt;
The file we want is '''FILENAME.IMG''', with &amp;quot;FILENAME&amp;quot; being the .exe. you downloaded.  E.g., {{path|1IUJ13US.IMG}}.&lt;br /&gt;
&lt;br /&gt;
(If this does not work for the Non-diskette .exe, try it on the Diskette .exe.  It's reported, for example, that the Non-diskette .exe for BIOS version 3.23 for the T41p was not extractable, but the Diskette .exe worked perfectly, with {{cmduser|cabextract}} delivering a .IMG file.)&lt;br /&gt;
&lt;br /&gt;
==== Testing the Image ====&lt;br /&gt;
&lt;br /&gt;
You can test that FILENAME.IMG is really a floppy image by running:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|mkdir /tmp/mntfloppy}}&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|mount -o loop FILENAME.IMG /tmp/mntfloppy}}&lt;br /&gt;
&lt;br /&gt;
If a '''ls''' command on the image returns what looks like a DOS floppy, and no read errors were displayed, you have a pretty good chance that the image is usable.  For example:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|ls /tmp/mntfloppy}}&lt;br /&gt;
 $0195000.FL1  069580.PAT  06d2.HSH     IBMDOS.COM    TPCHKS.EXE&lt;br /&gt;
 0691.HSH      06D0.PAT    06d6.HSH     LOGO.BAT      UPDTFLSH.EXE&lt;br /&gt;
 0691.PAT      06D1.PAT    06d8.HSH     LOGO.SCR      UPDTMN.EXE&lt;br /&gt;
 0694.HSH      06D2.PAT    CHKBMP.EXE   PHLASH16.EXE  USERINT.EXE&lt;br /&gt;
 0694.PAT      06D6.PAT    COMMAND.COM  PREPARE.EXE   UTILINFO.EXE&lt;br /&gt;
 0695.HSH      06D8.PAT    CONFIG.SYS   PROD.dat      lcreflsh.bat&lt;br /&gt;
 0695.PAT      06d0.HSH    FLASH2.EXE   QKFLASH.EXE&lt;br /&gt;
 069580.HSH    06d1.HSH    IBMBIO.COM   README.TXT&lt;br /&gt;
&lt;br /&gt;
Unmount the image after you are done testing:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|umount /tmp/mntfloppy}}&lt;br /&gt;
&lt;br /&gt;
== Booting from update image ==&lt;br /&gt;
Now that you have a bootable image for the correct update for you hardware, you need to do is boot from that image to install the update.&lt;br /&gt;
&lt;br /&gt;
There are different ways to do that:&lt;br /&gt;
* [[#Booting from a CD|Boot from a CD]]&lt;br /&gt;
* [[#Booting_using_GRUB|Boot from the image, using GRUB]]&lt;br /&gt;
* [[#Booting_from_a_floppy|Boot from a floppy]]&lt;br /&gt;
* [[#Booting_from_a_USB_Flash_drive|Boot from a USB Flash drive]]&lt;br /&gt;
&lt;br /&gt;
=== Booting from a CD ===&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; style=&amp;quot;width:40em;&amp;quot;&lt;br /&gt;
|{{HINT|If there is a ''Bootable CD'' image available, e.g., FILENAME.iso, just download that, instead of mucking around with image files.}}&lt;br /&gt;
|}&lt;br /&gt;
If you are going to update the firmware by booting from a CD, you need to turn FILENAME.IMG that you extracted above into an .iso file.&lt;br /&gt;
&lt;br /&gt;
The [http://en.wikipedia.org/wiki/El_Torito_%28CD-ROM_standard%29 El Torito Bootable CD Specification] is a wonderful thing.  Thanks to it, a bootable CD can be made with a bootable floppy image in such as way that the CD believes that it is a 2.88 MB floppy drive.  This allows you to replace a boot floppy by a boot CD in nearly all situations.&lt;br /&gt;
&lt;br /&gt;
It is very easy to create such a bootable CD ISO image in Linux using the '''mkisofs''' tool{{footnote|1}}.  Run a command as follows:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|mkisofs -b bootfloppy.img -o bootcd.iso FILENAME.IMG}}&lt;br /&gt;
&lt;br /&gt;
Where FILENAME.IMG is the name of the image file extracted above, for example {{path|1IUJ13US.IMG}}.  This creates a CD with one file on it and marks that file as the boot image.  &lt;br /&gt;
&lt;br /&gt;
You can now burn the {{path|bootcd.iso}} to a CD in your favorite CD-burning program.&lt;br /&gt;
{{WARN|By following any of the instructions here you are accepting the '''very real risk''' of turning your ThinkPad into a big expensive paper weight, as a firmware update gone wrong can create unfix-able problems.  '''Proceed at your own risk!'''}}&lt;br /&gt;
&lt;br /&gt;
Boot from the CD to update your firmware.  Remember to have [[BIOS_Upgrade#Two_Firmwares:_BIOS_and_ECP|both BIOS and ECP firmware boot-CDs]] ready, as needed, and use them in the [[#Proper_Order|proper order]].&lt;br /&gt;
&lt;br /&gt;
==== Successful tests ====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; style=&amp;quot;font-size:80%; vertical-align:top;&amp;quot;&lt;br /&gt;
! Model&lt;br /&gt;
! Tested by, and comments&lt;br /&gt;
|-&lt;br /&gt;
| {{600E}} 2645-4AU ||&lt;br /&gt;
* George Tellalov &amp;lt;gtellalov_dontspamme@bigfoot.com&amp;gt;. BIOS 1.16 from spsdin36.exe worked perfectly with the method bootable cd from floppy image. I highly recommend this upgrade because it made my ibm-acpi module load (it wouldn't load before) and fixed some suspend to ram problems. Here's the [http://george.tellalov.info/bios_upgrade_600e_spsdin36.iso cd image] I used. Use at your own risk. You can send me a chocolate if it works for you ;)&lt;br /&gt;
|-&lt;br /&gt;
| {{600E}} 2645-5bU ||&lt;br /&gt;
* Mike Vincent&amp;lt;matchstc-putobvioushere.com&amp;gt;. Bios 1.16 from spsdin36.exe and then to the boot cd worked great for me. Thought I had bricked it three separate times using a &amp;quot;real&amp;quot; floppy! Each from different diskettes .The updater would start, give me the &amp;quot;going to take30 seconds&amp;quot; speech...and then access the HD for 10 minutes. Each time it would reboot fine. Did the cd as described above...worked great first time. Perhaps 10 year old seldom used floppy disc drives have some challenges?&lt;br /&gt;
|-&lt;br /&gt;
| {{600X}} 2645 ||&lt;br /&gt;
* Jonathan Byrne &amp;lt;jonathan@RemoveThisToMailMe.yamame.org&amp;gt;. BIOS 1.11 from spsuit55.exe worked perfectly using cabextract/CD method.&lt;br /&gt;
|-&lt;br /&gt;
| {{600X}} 2645 ||&lt;br /&gt;
* Andy Barnes &amp;lt;andy@RemoveThisToMailMe.itchypaws.co.uk&amp;gt;. As per Jonathan above, extracted BIOS 1.11 from spsuit55.exe using cabextract, created a CD boot image and burnt to CD.  Worked flawlessly - thanks to everyone who contributed to this article!&lt;br /&gt;
|-&lt;br /&gt;
| {{A20p}} 2629-6VU ||&lt;br /&gt;
* Chris Pickett http://www.sable.mcgill.ca/~cpicke/. BIOS 1.11 flashed fine with cabextract/CD method.&lt;br /&gt;
|-&lt;br /&gt;
| {{A21e}} 2628-JXU ||&lt;br /&gt;
* Amit Gurdasani &amp;lt;gurdasani at yahoo dot com&amp;gt;. BIOS 1.13 flashed fine with cabextract/CD method. Alarmingly, after the BIOS update, the laptop beeped but did not shut down as was indicated onscreen -- that was frozen on the &amp;quot;do not shut down the laptop&amp;quot; screen. On power down and up again, the BIOS setup showed the newer BIOS image running, and Linux booted up fine. Linux ACPI didn't complain about the BIOS being too old either.&lt;br /&gt;
|-&lt;br /&gt;
| {{A31p}} 2653 ||&lt;br /&gt;
* Matthias Meinke largeeddy@gmx.at, BIOS 1.09 1NET15WW flashed fine with cabextract/CD method.&lt;br /&gt;
|-&lt;br /&gt;
| {{A31}} 2652 ||&lt;br /&gt;
* [[User:Wnoise|Aaron Denney]], BIOS 1.13 flashed fine with cabextract/CD method.  The cabextract/CD method also worked for BIOS 1.10.&lt;br /&gt;
|-&lt;br /&gt;
| {{R30}} ||&lt;br /&gt;
* Jarrod, 30 August 2007, Thinkpad R30 Type 2656-E0M. BIOS updated to 1.40 (1CETF0WW) using floppy disk/mkisofs/cdrecord. Worked fine, no problems. &lt;br /&gt;
|-&lt;br /&gt;
| {{R31}} ||&lt;br /&gt;
* [http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/1998-January/009743.html Mathias Dalheimer]&lt;br /&gt;
* Sebastian Sauer (with cabextract/CD method)&lt;br /&gt;
|-&lt;br /&gt;
| {{R40}} ||&lt;br /&gt;
* Matthew Lambie, http://lambie.org&lt;br /&gt;
|-&lt;br /&gt;
| {{R50}} 1836-3SU ||&lt;br /&gt;
* jlbartos &amp;lt;jlbartos at hotmail dot com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{R50e}} 1834-PTG ||&lt;br /&gt;
* item &amp;lt;item at freemail dot hu&amp;gt; : successfully finished with cabextract/CD method for &amp;quot;1wuj25us.exe&amp;quot; (BIOS version 1WET90WW (2.10), Release Date: 2006/12/22)&lt;br /&gt;
* Christos Nouskas &amp;lt;nouskas at gmail dot com&amp;gt;: upgraded to BIOS version 1WET90WW (2.10) and EC version 1VHT28WW (1.04) using GRUB (BIOS first / EC second)&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} 1829 ||&lt;br /&gt;
* Robert Uhl &amp;lt;rob dot uhl at gmx dot de&amp;gt;, Jellby &amp;lt;jellby at yahoo dot com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} 1830-RM7 ||&lt;br /&gt;
* Will Parker &amp;lt;stardotstar at sourcepoint dot com dot au&amp;gt; successfully flashed 3.20 using existing 3.04 ECP and retained custom boot splash.&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} 2887 ||&lt;br /&gt;
* Ingo van Lil &amp;lt;inguin at gmx dot de&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} 1858 ||&lt;br /&gt;
* Stuart McCord &amp;lt;stuart dot mccord at gmail dot com&amp;gt; flashed both BIOS and ECP using cabextract, BIOS flashed first as on IBM website&lt;br /&gt;
|-&lt;br /&gt;
| {{T20}} ||&lt;br /&gt;
* Franz Hassels &amp;lt;fhassel at suse dot com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{T22}} ||&lt;br /&gt;
* Daniel Maier &amp;lt;nusse teamidiot de&amp;gt;&lt;br /&gt;
* Mathias Behrle (with cabextract/CD method, Version 1.07 =&amp;gt; 1.12) --[[User:Mathiasb|Mathiasb]] 11:58, 14 December 2006 (CET)&lt;br /&gt;
* Bob Skaroff (cabextract/CD), 1.06 =&amp;gt; 1.12&lt;br /&gt;
* Leo Butler (cabextract/CD), 1.11 =&amp;gt; 1.12 &lt;br /&gt;
|-&lt;br /&gt;
| {{T23}} ||&lt;br /&gt;
* Bart Snapp &amp;lt;snapp at uiuc dot edu&amp;gt; Note: I followed IBM's instructions to flash the BIOS '''first''' and the Embedded Controller '''second'''.&lt;br /&gt;
* Moy Easwaran: BIOS 1.18 / EC 1.06a via cabextract and CD-boot.  The BIOS-update exe generated errors in Windows 2000.&lt;br /&gt;
* Joe Renes: BIOS 1.18 / EC 1.06a on 2006-03-20 via cabextract and CD-boot. Piece of cake.&lt;br /&gt;
* Raphael Errani: BIOS 1.20 / EC 1.06a on 2006-11-06 via cabextract and CD-boot (using mkisofs). Worked without errors. 1st Bios, 2nd EC&lt;br /&gt;
* Myron Getman: BIOS 1.20 / EC 1.06a on 9/10/08 via cabextract --&amp;gt; k3b --&amp;gt; CD-boot.  Worked like a charm.  First BIOS update with Linux!&lt;br /&gt;
* Leo Butler: BIOS 1.13 / EC 1.04 to 1.20/1.06a via cabextract and syslinux/memdisk boot through grub. Worked like a charm and no wasted CD.&lt;br /&gt;
|-&lt;br /&gt;
| {{T30}} ||&lt;br /&gt;
* Martin GÃ¼hring &amp;lt;guehring at gmail.com&amp;gt; BIOS 2.10 via cabextract the Non-Diskette BIOS -&amp;gt; mkisofs '''in the directory the exe was extracted''' to generate the iso -&amp;gt; burn the iso -&amp;gt; boot the CD&lt;br /&gt;
|-&lt;br /&gt;
| {{T40}} ||&lt;br /&gt;
* Sean Dague, http://dague.net&lt;br /&gt;
* Justin Mason, http://jmason.org&lt;br /&gt;
* Ivanhoe (Bios 3.19)&lt;br /&gt;
* Alessandro Raulino (roger_2) EC 3.04 &amp;amp; BIOS 3.23 flashed with cabextract/CD method&lt;br /&gt;
* Nick Jenkins, using BIOS 3.23 with the '''Non-diskette updater + cabextract method''', then [[#Creating_a_Bootable_CD_from_a_Floppy_Image|created a bootable CD from the cabextracted .IMG file]], then boot that ISO, and it worked great!&lt;br /&gt;
|-&lt;br /&gt;
| {{T40p}} ||&lt;br /&gt;
* Lukas KrÃ¤henbÃ¼hl, ismo at pop dot agri dot ch&lt;br /&gt;
* Thomas Achtemichuk, tom at tomchuk dot com. BIOS 3.15 flashed fine with cabextract/CD method&lt;br /&gt;
|-&lt;br /&gt;
| {{T41}} ||&lt;br /&gt;
* Lev Givon (Bios 3.15 / EC 3.04) &amp;lt;lev at columbia dot edu&amp;gt;&lt;br /&gt;
* Ernesto HernÃ¡ndez-Novich (Bios 3.19 / CP 3.04) &amp;lt; emhn at usb dot ve &amp;gt;&lt;br /&gt;
* [http://maebmij.org James Ballantine] (Bios 3.21 / CP 3.04) using nondisk/cabextract/CDRW&lt;br /&gt;
|-&lt;br /&gt;
| {{T41p}} ||&lt;br /&gt;
* Nils Newman, work great. (Version: Bios 3.14 / Embedded Controller 3.04)&lt;br /&gt;
|-&lt;br /&gt;
| {{T42}} 2373-JXG ||&lt;br /&gt;
* magarzo &amp;lt;mdr.magarzo at gmail.com&amp;gt; (BIOS v.3.23 / Embedded Controller v.3.04 / both with cabextract to non-diskette v. plus Bootable CD)&lt;br /&gt;
|-&lt;br /&gt;
| {{T42}} ||&lt;br /&gt;
* Dan (BIOS 3.20 / EC 3.04, cabextract/CD method) &amp;lt;tronic171 at evilphb.org&amp;gt;&lt;br /&gt;
* Hirosh Dabui &amp;lt;hirosh@dabui.de&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{T42p}} ||&lt;br /&gt;
* Robert Schiele &amp;lt;rschiele@uni-mannheim.de&amp;gt;, Joern Heissler &amp;lt;joern@heissler.de&amp;gt;, Hirosh Dabui &amp;lt;hirosh@dabui.de&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}} 1871-W34 ||&lt;br /&gt;
* Florian Boucault &amp;lt;florian at boucault dot ath dot cx&amp;gt; (Version: Bios 1.23 / Embedded Controller 1.03)&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}} 2886 ||&lt;br /&gt;
* Till Heikamp &amp;lt;t dot heikamp at geniusbytes dot com&amp;gt; (Bios 1.22 to 1.29, Embedded Controller 1.03 to 1.06)&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}} ||&lt;br /&gt;
* Conrad Rentsch &amp;lt;Conrad dot Rentsch at t-online dot de&amp;gt; (Version: Bios 1.29 / Embedded Controller 1.06)&lt;br /&gt;
* Tom Heady &amp;lt;tom-thinkwiki.org@punch.net&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{T60}} 1951 ||&lt;br /&gt;
* Roman Komkov &amp;lt;roman  at komkov dot org dot ru&amp;gt; (Bios 1.07 to 2.13) Successfully upgraded from CD Image&lt;br /&gt;
|-&lt;br /&gt;
| {{T61}}  ||&lt;br /&gt;
* Kai Weber &amp;lt;kai.weber  at glorybox dot org&amp;gt; (Bios 1.06 to 1.26) Successfully upgraded from CD Image&lt;br /&gt;
|-&lt;br /&gt;
| {{X20}} ||&lt;br /&gt;
* Neil Caunt &amp;lt;retardis at gmail dot com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{X21}} ||&lt;br /&gt;
* Patrick Leickner &amp;lt;ranma at web dot de&amp;gt;, (BIOS 2.21-&amp;gt;2.25 / EC 1.31-&amp;gt;1.36) via non-disk/cabextract/mkisofs/cdrecord&lt;br /&gt;
|-&lt;br /&gt;
| {{X22}} ||&lt;br /&gt;
* David Emery &amp;lt;dave at skiddlydee dot com&amp;gt;,  (EC 1.30, BIOS 1.32 using non-disk/cabextract/CD method)&lt;br /&gt;
|-&lt;br /&gt;
| {{X23}} ||&lt;br /&gt;
* Nils Faerber &amp;lt;nils dot faerber at kernelconcepts dot de&amp;gt; (Embedded Controller 1.30, BIOS 1.32 with cabextract/CD method)&lt;br /&gt;
|-&lt;br /&gt;
| {{X30}} ||&lt;br /&gt;
* Hella Breitkopf, [http://www.unixwitch.de/ www]  (Embedded Controller 1.04, BIOS 1.07 with cabextract/CD method)&lt;br /&gt;
* William Roe &amp;lt;willroe at gmail dot com&amp;gt; (Embedded Controller 1.06, BIOS 1.09 - cabextract/mkisofs/wodim)&lt;br /&gt;
|-&lt;br /&gt;
| {{X31}} ||&lt;br /&gt;
* Grzegorz KuÅ›nierz &amp;lt;koniu at sheket dot org&amp;gt;  (Embedded Controller 1.08, BIOS 3.01 with cabextract/CD method)&lt;br /&gt;
|-&lt;br /&gt;
| {{X40}} ||&lt;br /&gt;
* Robbie Stone &amp;lt;robbie@serendipity.cx&amp;gt;&lt;br /&gt;
* Andy Shevchenko &amp;lt;andy.shevchenko@gmail.com&amp;gt;   (Fine by cabextract/CD method)&lt;br /&gt;
|-&lt;br /&gt;
| {{Z60m}} ||&lt;br /&gt;
* [[User:Morle|Morle]] 01:09, 17 Nov 2007 (CEST),  (Embedded Controller 1.18 and Bios 1.24 with cabextract/CD method)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Unsuccessful tests ====&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; style=&amp;quot;font-size:80%; vertical-align:top;&amp;quot;&lt;br /&gt;
! Model&lt;br /&gt;
! Tested by, and comments&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;pre&amp;gt;      &amp;lt;/pre&amp;gt; &amp;lt;!-- Placeholder --&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Booting using GRUB ===&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:75%&amp;quot; | {{WARN|Many have warned '''not''' to use the SYSLINUX image-loader '''memdisk''' to boot firmware update images.}}&lt;br /&gt;
| style=&amp;quot;font-size:80%&amp;quot; | {{HELP|Who are these &amp;quot;many&amp;quot;?  Link to a discussion?}}&lt;br /&gt;
|}&lt;br /&gt;
Once the bootable image, FILENAME.IMG, is extracted from the .exe, it can be booted directly through GRUB without the need of burning a CD, using the [http://syslinux.zytor.com/ SYSLINUX] image-loader '''[http://syslinux.zytor.com/memdisk.php memdisk]'''.&lt;br /&gt;
&lt;br /&gt;
Locate the '''memdisk''' file from the syslinux package. You can search for it with '''find''': &lt;br /&gt;
&lt;br /&gt;
{{cmdroot|find /usr -name memdisk}}&lt;br /&gt;
&lt;br /&gt;
If {{path|/usr/.../memdisk}} is not present, syslinux is not installed.  You will need to install it to boot a .IMG from GRUB.&lt;br /&gt;
&lt;br /&gt;
Copy both the '''FILENAME.IMG''' and '''memdisk''' files into {{path|/boot}} directory.  For example:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|cp ./FILENAME.IMG /usr/share/syslinux/memdisk /boot/}}&lt;br /&gt;
&lt;br /&gt;
Open {{path|/boot/grub/menu.lst}} in your favourite editor.  '''Copy''' the active section into a '''new section''', and edit the new section:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Parameter&lt;br /&gt;
! Instructions&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| ''title''  || Pick a name for the new section.  This will show up in the GRUB boot menu. || &amp;lt;tt&amp;gt;title IBM ECP Update&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| ''root''   || Do not change.  This is the partition containing the {{path|/boot}} directory       || &amp;lt;tt&amp;gt;root (hd0,0)&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| ''kernel'' || '''/boot/memdisk''' will allow you to boot an image file.                  || &amp;lt;tt&amp;gt;kernel /boot/memdisk&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| ''initrd'' || This is the name of the firmware-updater image file, e.g., 1IUJ13US.IMG    || &amp;lt;tt&amp;gt;initrd /boot/1IUJ13US.IMG&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Do '''not''' modify the original section in {{path|/boot/grub/menu.lst}}, or you might not be able to boot back to the operating system.&lt;br /&gt;
&lt;br /&gt;
If you have [[#Two_Firmwares:_BIOS_and_ECP|two firmware updates to do]], you will need a section for each firmware's FILENAME.IMG in {{path|/boot/grub/menu.lst}}.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|If both BIOS and ECP are to be updated, be sure to update them in the [[#Proper_Order|proper order]].}}&lt;br /&gt;
&lt;br /&gt;
{{WARN|By following any of the instructions here you are accepting the '''very real risk''' of turning your ThinkPad into a big expensive paper weight, as a firmware update gone wrong can create unfix-able problems.  '''Proceed at your own risk!'''}}&lt;br /&gt;
&lt;br /&gt;
Reboot your computer, entering the GRUB menu and selecting ''IBM BIOS Update'', or whatever you named the new section in {{path|/boot/grub/menu.lst}}.&lt;br /&gt;
&lt;br /&gt;
==== Successful tests ====&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; style=&amp;quot;font-size: 80%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Model&lt;br /&gt;
! BIOS&lt;br /&gt;
! ECP&lt;br /&gt;
! Tested by&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| {{R30}} 2656-64G || v.1.40            ||                   || [[User:english.voodoo|Yuri Spirin]] ||&lt;br /&gt;
|-&lt;br /&gt;
| {{R40}} 2723     || 1OHJ11WW.IMG      || 1PUJ25US.IMG      || [[User:qunying|Qunying]] || memdisk from syslinux 3.70 (slackware 12.1)&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} 2888     ||                   ||                   ||                          || &lt;br /&gt;
|-&lt;br /&gt;
| {{T40}} 2373     || 1RUJ37US.IMG      || 1RHJ10U2.IMG      || [[User:Euphoria|Euphoria]] || memdisk from syslinux 1:3.31-4 (Debian package version)&lt;br /&gt;
|-&lt;br /&gt;
| {{T40}} 2373     || 1RHJ10U2.IMG&amp;lt;br /&amp;gt;(3.04, 2004-11-15) || 1RUJ37US.IMG&amp;lt;br /&amp;gt;(3.23, 2007-07-03) || [[User:Morphics|Morphics]] || cabextract and memdisk from syslinux 3:1.36-4ubuntu5&lt;br /&gt;
|-&lt;br /&gt;
| {{T41}} 2373     || 1RUJ37US.IMG&amp;lt;br /&amp;gt;(3.23, 2007-07-03) || || [[User:Tonko|Tonko]] || Fedora 12&lt;br /&gt;
|-&lt;br /&gt;
| {{T41p}} 2373    || 1RUJ37US.IMG&amp;lt;br /&amp;gt;(3.23, 2007-07-03) ||  || [[User:Deggel|Deggel]] || cabextract and memdisk from syslinux 3.71 on gentoo &lt;br /&gt;
|-&lt;br /&gt;
| {{T41p}} 2373    ||  ||  || [[User:MrStaticVoid|James Lee]]   || &lt;br /&gt;
|-&lt;br /&gt;
| {{X31}} 2673-CBU ||  ||  || [[User:JanTopinski|Jan Topinski]] || &lt;br /&gt;
|-&lt;br /&gt;
| {{X31}} 2672-CXU ||  ||  || [[User:TheAnarcat|TheAnarcat]]    || &lt;br /&gt;
|-&lt;br /&gt;
| {{X31}} 2673-58G ||  ||  || [[User:FaUl|FaUl]]                || &lt;br /&gt;
|-&lt;br /&gt;
| {{X31}} 2672-PG9 ||  ||  || [[User:Starox|Starox]]            || a big moment between starting update and the updating window &lt;br /&gt;
|-&lt;br /&gt;
| {{X40}} 2371     || 2.07 1uuj21us.exe || 1.62 1uhj10us.exe || [[User:Antialize|Jakob Truelsen]] || Worked on two X40-2371 &lt;br /&gt;
|-&lt;br /&gt;
| {{X40}} 2386     || 2.08 1uuj22us.exe || 1.62 1uhj10us.exe || [[User:Antialize|Galen Seitz]] || memdisk from syslinux 3.61&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Unsuccessful tests ====&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; style=&amp;quot;font-size: 80%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Model&lt;br /&gt;
!  style=&amp;quot;width:10em;&amp;quot; | BIOS&lt;br /&gt;
! ECP&lt;br /&gt;
! Tested by&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}} 2668-F7G || 1.29 1YUJ18US.IMG ||  || [[User:Maus3273|Maus3273]] || I got into the bios program, but the machine never restarts after initiating the upgrade.&lt;br /&gt;
|-&lt;br /&gt;
| {{X41}} 2525-FAG || 2.09 74UJ15US     ||  || [[User:Ukleinek|Uwe Kleine-König]] || booted fine (Debian syslinux 2:3.71+dfsg-5), but didn't succeed to write, just hang at &amp;quot;Don't restart or remove diskette etc. pp&amp;quot; (not bricked).  Worked fine via CD method.&lt;br /&gt;
|- &lt;br /&gt;
| {{X41}} 2525-F8G || 2.06 74UJ12US.IMG&amp;lt;br /&amp;gt;2.07 74UJ13US.IMG&amp;lt;br /&amp;gt;2.09 74UJ15US.IMG ||  || [[User:ladoga|Lauri Koponen]] || hangs while initializing the actual BIOS flashing process&amp;lt;br /&amp;gt; ECP: 1.02 74HJ03US.IMG works&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Booting from a Floppy ===&lt;br /&gt;
{{WARN|Using a floppy disk '''is NOT recommended'''.}}&lt;br /&gt;
&lt;br /&gt;
This is how IBM/Lenovo intended it.  Use their .exe files to create a bootable floppy with the flash update on it.  Boot from the floppy and there you go.&lt;br /&gt;
&lt;br /&gt;
So, why is it not recommended?&lt;br /&gt;
# If something goes wrong, your ThinkPad may be permanently damaged&lt;br /&gt;
# Floppy disk drives are not reliable&lt;br /&gt;
# Floppy disks are not reliable&lt;br /&gt;
# It only works with /dev/fd0, meaning it won't work with a USB floppy&lt;br /&gt;
&lt;br /&gt;
So, even though Lenovo is now offering &amp;quot;Linux diskette&amp;quot; updaters, that will create a bootable floppy under Linux, using a floppy is still not recommended.  Besides, many people don't even ''have'' a floppy drive on their ThinkPad.&lt;br /&gt;
&lt;br /&gt;
If you really want to do it with a floppy, some tips:&lt;br /&gt;
* Use a clean (in the physical sense) floppy drive&lt;br /&gt;
* Use new floppies&lt;br /&gt;
* Test floppies for errors before starting update process&lt;br /&gt;
* Have multiple copies of the update disks ready--if one should fail, replace it with a copy&lt;br /&gt;
* Should DOS complain of a read error, '''only''' respond wth &amp;quot;Retry&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{NOTE|Should the system encounter a disk read error during the flash process, and you select &amp;quot;Abort&amp;quot;, your system could be permanently damaged.}}&lt;br /&gt;
&lt;br /&gt;
=== Booting from a USB Flash drive ===&lt;br /&gt;
{{HELP|Has anyone tested booting a firmware update image from a USB flash drive?  Perhaps using [http://unetbootin.sourceforge.net/ UNetbootin]?}}&lt;br /&gt;
&lt;br /&gt;
== Booting from a Network Boot Image ==&lt;br /&gt;
BIOS, ECP, CD/DVD and Harddisk firmware disks can be booted over the network with [http://syslinux.zytor.com/pxe.php PXELINX] as part of the [http://syslinux.zytor.com/ SYSLINUX] package.  This requires that you have a DHCP and tftp server configured and setup properly on your network, and is probably not for the faint of heart.&lt;br /&gt;
&lt;br /&gt;
Make sure the firmware bootdisk is in linux 'dd' format, as the self-extracting .exe disks from the IBM website cannot be booted directly as such.&lt;br /&gt;
&lt;br /&gt;
This worked on the {{R31}}, {{X22}}, {{T21}}, {{T30}} and {{T41p}} with various firmware updates.  On the {{X22}}, it worked with ECP 1.30 but '''not''' with BIOS 1.32&lt;br /&gt;
&lt;br /&gt;
=After updating=&lt;br /&gt;
Lenovo recommends reseting your BIOS settings to their factory defaults after a firmware update.&lt;br /&gt;
&lt;br /&gt;
==DMI IDs==&lt;br /&gt;
Please consider updating the [[List of DMI IDs]] after updating your BIOS.&lt;br /&gt;
&lt;br /&gt;
= Special Cases =&lt;br /&gt;
* In one case, see ([[APM setup on a type 2379 ThinkPad T40]]), it was not possible to upgrade the BIOS from Windows XP; a downgrade to Windows 98 was required to successfully run the BIOS upgrade app. The symptoms in this case were that, once the files had been extracted to the hard disk, and the machine was to reboot into the upgrade app, it would beep and hang just before reboot, requiring a power cycle. Once the power was cycled, it would simply reboot back into XP without performing any BIOS upgrade actions. So even if you have Windows, you may still need to use the info on this page.&lt;br /&gt;
&lt;br /&gt;
== Updating Thinkpad X Series ==&lt;br /&gt;
The special update instructions for {{X_Series}} Thinkpads are quite long. You can find them at the page [[BIOS_Upgrade/X_Series]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{{footnotes|&lt;br /&gt;
# For lots of detail on making and burning .iso files, see The Linux Documentation Project (tldp.org): [http://tldp.org/HOWTO/CD-Writing-HOWTO-3.html#ss3.1 3.1 Writing CD-ROMs (pure data)].&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Jidanni</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=BIOS_Upgrade&amp;diff=45415</id>
		<title>BIOS Upgrade</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=BIOS_Upgrade&amp;diff=45415"/>
		<updated>2010-01-22T05:01:25Z</updated>

		<summary type="html">&lt;p&gt;Jidanni: /* Testing the Image */DOS names are capital&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;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
This page is meant to describe ways to update the BIOS on a ThinkPad that only runs Linux for users that don't have ready access to Windows. If you have Windows on your ThinkPad you can just boot into it and follow instructions on the Lenovo website.&lt;br /&gt;
&lt;br /&gt;
Updating the BIOS in Linux (with few exceptions) '''is not officially supported''' by Lenovo.  However there are work arounds.&lt;br /&gt;
&lt;br /&gt;
{{WARN|By following any of the instructions here you are accepting the '''very real risk''' of turning your ThinkPad into a big expensive paper weight, as a firmware update gone wrong can create unfix-able problems.&lt;br /&gt;
&lt;br /&gt;
'''Proceed at your own risk!'''}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Downloading New Firmware =&lt;br /&gt;
{{WARN|Flashing the wrong firmware for your hardware may cause permanent damage to your ThinkPad.  It is up to you to confirm that the firmware you are using is correct.}}&lt;br /&gt;
&lt;br /&gt;
A list of links to firmware downloads can be found at [[BIOS Upgrade Downloads]] for most Thinkpad models.  You can also check the Lenovo Support website's [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=TPAD-MATRIX|ThinkPad driver matrix].&lt;br /&gt;
&lt;br /&gt;
Lenovo provides firmware upgrades in a variety of packages:&lt;br /&gt;
* Diskette&lt;br /&gt;
* Non-diskette&lt;br /&gt;
* Linux diskette&lt;br /&gt;
* BIOS Utility&lt;br /&gt;
* Bootable CD&lt;br /&gt;
&lt;br /&gt;
Not every type of package is available for every model.&lt;br /&gt;
&lt;br /&gt;
The ''BIOS Utility'' and ''Bootable CD'' packages combine the BIOS and ECP firmwares.  For the other packages, there is one for each firmware.&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; style=&amp;quot;width:20em;&amp;quot;&lt;br /&gt;
| {{HELP|Can an image be extracted from a &amp;quot;Linux diskette&amp;quot; .exe file?}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The ''Linux diskette'' is just the ''Diskette'' package that runs on Linux instead of Windows/DOS.  It's unknown if a boot image can be extracted from it.  &lt;br /&gt;
&lt;br /&gt;
You may need to try different packages to find the one from which you can extract a boot image.&lt;br /&gt;
&lt;br /&gt;
== Two Firmwares: BIOS and ECP ==&lt;br /&gt;
{{WARN|Flashing incompatible firmwares, or flashing them in the wrong order, may cause permanent damage to your ThinkPad.}}&lt;br /&gt;
&lt;br /&gt;
It is important to understand that Thinkpads from IBM have two separate firmwares: the BIOS, and the Embedded Controller Program (ECP).&lt;br /&gt;
&lt;br /&gt;
A given BIOS version will require a certain version of the ECP.  You must read the Lenovo website and/or .txt files to confirm which BIOS is compatible with which ECP, and '''the order in which to update them'''.  &lt;br /&gt;
&lt;br /&gt;
=== Update Order ===&lt;br /&gt;
{|align=&amp;quot;right&amp;quot; style=&amp;quot;width:20em; font-size:80%;&amp;quot;&lt;br /&gt;
|{{HELP|Is the order really that important?  And why do the ECP first by default?}}&lt;br /&gt;
|}&lt;br /&gt;
The IBM documentation is sometimes unclear about the order in which these two firmwares should be updated.  When in doubt, '''update the ECP first, and then the BIOS'''.  Also, make sure to do the two updates '''immediately one after the other'''.&lt;br /&gt;
&lt;br /&gt;
Odd, I see on www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-55001 , IBM saying&lt;br /&gt;
:''If you need to update Embedded Controller Program as well as the BIOS, update the BIOS first.''&lt;br /&gt;
&lt;br /&gt;
(Updaters for newer models do both the ECP and the BIOS at the same time, so you don't have to worry about it.)&lt;br /&gt;
&lt;br /&gt;
== Installed Firmware ==&lt;br /&gt;
You can check the current BIOS and ECP versions on your ThinkPad by using '''dmidecode'''. For example:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|dmidecode -s bios-version}}&lt;br /&gt;
&lt;br /&gt;
 1RETDRWW (3.23 )&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|dmidecode -t 11}}&lt;br /&gt;
&lt;br /&gt;
 # dmidecode 2.9&lt;br /&gt;
 SMBIOS 2.33 present.&lt;br /&gt;
 Handle 0x0029, DMI type 11, 5 bytes&lt;br /&gt;
 OEM Strings&lt;br /&gt;
         String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&lt;br /&gt;
&lt;br /&gt;
Showing BIOS version 3.23 (1RETDRWW) and ECP version 3.04 (1RHT71WW).&lt;br /&gt;
&lt;br /&gt;
===DMI IDs===&lt;br /&gt;
Please consider updating the [[List of DMI IDs]] before (and after) updating your BIOS.&lt;br /&gt;
&lt;br /&gt;
= Updating Firmware =&lt;br /&gt;
&lt;br /&gt;
There are two basic steps to updating the firmware (either the BIOS or the ECP) on a ThinkPad not running Windows:&lt;br /&gt;
# Extract a bootable update image&lt;br /&gt;
# Boot from that image&lt;br /&gt;
&lt;br /&gt;
== Extracting an update image ==&lt;br /&gt;
{{WARN|Though this process has been successfully tested on many versions of .exe files found on IBMs website, that doesn't mean it will work for all of them.  '''Proceed at your own risk'''.  Consult the testing tables farther down of this page to see other users' experience with your model Thinkpad.}}&lt;br /&gt;
The various .exe installers from Lenovo all appear to be just a wrapper license program around Windows .cab files (see [[How_to_change_the_BIOS_bootsplash_screen|BIOS-Bootsplash]]).  If you install the Linux program [http://freshmeat.net/projects/cabextract/ '''cabextract'''] you can expand these .cab files directly.  For example, if you downloaded {{path|1iuj13us.exe}} from Lenovo:&lt;br /&gt;
&lt;br /&gt;
:{{cmduser|cabextract 1iuj13us.exe}}&lt;br /&gt;
&lt;br /&gt;
 Extracting cabinet: 1iuj13us.exe&lt;br /&gt;
  extracting 1IUJ13US.IMG&lt;br /&gt;
  extracting BIOSUPTP.EXE&lt;br /&gt;
  extracting DOBOOT.EXE&lt;br /&gt;
  extracting DOSBOOT.COM&lt;br /&gt;
  extracting DOSBOOT.SYS&lt;br /&gt;
  extracting DOSBOOT.VXD&lt;br /&gt;
  extracting DOSBOOT2.COM&lt;br /&gt;
  extracting ECTLUPTP.EXE&lt;br /&gt;
  extracting EFLASHAS.SYS&lt;br /&gt;
  extracting HDFWUPTP.EXE&lt;br /&gt;
  extracting IBMTPI.XML&lt;br /&gt;
 All done, no errors.&lt;br /&gt;
&lt;br /&gt;
The file we want is '''FILENAME.IMG''', with &amp;quot;FILENAME&amp;quot; being the .exe. you downloaded.  E.g., {{path|1IUJ13US.IMG}}.&lt;br /&gt;
&lt;br /&gt;
(If this does not work for the Non-diskette .exe, try it on the Diskette .exe.  It's reported, for example, that the Non-diskette .exe for BIOS version 3.23 for the T41p was not extractable, but the Diskette .exe worked perfectly, with {{cmduser|cabextract}} delivering a .IMG file.)&lt;br /&gt;
&lt;br /&gt;
==== Testing the Image ====&lt;br /&gt;
&lt;br /&gt;
You can test that FILENAME.IMG is really a floppy image by running:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|mkdir /tmp/mntfloppy}}&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|mount -o loop FILENAME.IMG /tmp/mntfloppy}}&lt;br /&gt;
&lt;br /&gt;
If a '''ls''' command on the image returns what looks like a DOS floppy, and no read errors were displayed, you have a pretty good chance that the image is usable.  For example:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|ls /tmp/mntfloppy}}&lt;br /&gt;
 $0195000.FL1  069580.PAT  06d2.HSH     IBMDOS.COM    TPCHKS.EXE&lt;br /&gt;
 0691.HSH      06D0.PAT    06d6.HSH     LOGO.BAT      UPDTFLSH.EXE&lt;br /&gt;
 0691.PAT      06D1.PAT    06d8.HSH     LOGO.SCR      UPDTMN.EXE&lt;br /&gt;
 0694.HSH      06D2.PAT    CHKBMP.EXE   PHLASH16.EXE  USERINT.EXE&lt;br /&gt;
 0694.PAT      06D6.PAT    COMMAND.COM  PREPARE.EXE   UTILINFO.EXE&lt;br /&gt;
 0695.HSH      06D8.PAT    CONFIG.SYS   PROD.dat      lcreflsh.bat&lt;br /&gt;
 0695.PAT      06d0.HSH    FLASH2.EXE   QKFLASH.EXE&lt;br /&gt;
 069580.HSH    06d1.HSH    IBMBIO.COM   README.TXT&lt;br /&gt;
&lt;br /&gt;
Unmount the image after you are done testing:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|umount /tmp/mntfloppy}}&lt;br /&gt;
&lt;br /&gt;
== Booting from update image ==&lt;br /&gt;
Now that you have a bootable image for the correct update for you hardware, you need to do is boot from that image to install the update.&lt;br /&gt;
&lt;br /&gt;
There are different ways to do that:&lt;br /&gt;
* [[#Booting from a CD|Boot from a CD]]&lt;br /&gt;
* [[#Booting_using_GRUB|Boot from the image, using GRUB]]&lt;br /&gt;
* [[#Booting_from_a_floppy|Boot from a floppy]]&lt;br /&gt;
* [[#Booting_from_a_USB_Flash_drive|Boot from a USB Flash drive]]&lt;br /&gt;
&lt;br /&gt;
=== Booting from a CD ===&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; style=&amp;quot;width:40em;&amp;quot;&lt;br /&gt;
|{{HINT|If there is a ''Bootable CD'' image available, e.g., FILENAME.iso, just download that, instead of mucking around with image files.}}&lt;br /&gt;
|}&lt;br /&gt;
If you are going to update the firmware by booting from a CD, you need to turn FILENAME.IMG that you extracted above into an .iso file.&lt;br /&gt;
&lt;br /&gt;
The [http://en.wikipedia.org/wiki/El_Torito_%28CD-ROM_standard%29|El Torito Bootable CD Specification] is a wonderful thing.  Thanks to it, a bootable CD can be made with a bootable floppy image in such as way that the CD believes that it is a 2.88 MB floppy drive.  This allows you to replace a boot floppy by a boot CD in nearly all situations.&lt;br /&gt;
&lt;br /&gt;
It is very easy to create such a bootable CD ISO image in Linux using the '''mkisofs''' tool{{footnote|1}}.  Run a command as follows:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|mkisofs -b bootfloppy.img -o bootcd.iso FILENAME.IMG}}&lt;br /&gt;
&lt;br /&gt;
Where FILENAME.IMG is the name of the image file extracted above, for example {{path|1IUJ13US.IMG}}.  This creates a CD with one file on it and marks that file as the boot image.  &lt;br /&gt;
&lt;br /&gt;
You can now burn the {{path|bootcd.iso}} to a CD in your favorite CD-burning program.&lt;br /&gt;
{{WARN|By following any of the instructions here you are accepting the '''very real risk''' of turning your ThinkPad into a big expensive paper weight, as a firmware update gone wrong can create unfix-able problems.  '''Proceed at your own risk!'''}}&lt;br /&gt;
&lt;br /&gt;
Boot from the CD to update your firmware.  Remember to have [[BIOS_Upgrade#Two_Firmwares:_BIOS_and_ECP|both BIOS and ECP firmware boot-CDs]] ready, as needed, and use them in the [[#Proper_Order|proper order]].&lt;br /&gt;
&lt;br /&gt;
==== Successful tests ====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; style=&amp;quot;font-size:80%; vertical-align:top;&amp;quot;&lt;br /&gt;
! Model&lt;br /&gt;
! Tested by, and comments&lt;br /&gt;
|-&lt;br /&gt;
| {{600E}} 2645-4AU ||&lt;br /&gt;
* George Tellalov &amp;lt;gtellalov_dontspamme@bigfoot.com&amp;gt;. BIOS 1.16 from spsdin36.exe worked perfectly with the method bootable cd from floppy image. I highly recommend this upgrade because it made my ibm-acpi module load (it wouldn't load before) and fixed some suspend to ram problems. Here's the [http://george.tellalov.info/bios_upgrade_600e_spsdin36.iso cd image] I used. Use at your own risk. You can send me a chocolate if it works for you ;)&lt;br /&gt;
|-&lt;br /&gt;
| {{600E}} 2645-5bU ||&lt;br /&gt;
* Mike Vincent&amp;lt;matchstc-putobvioushere.com&amp;gt;. Bios 1.16 from spsdin36.exe and then to the boot cd worked great for me. Thought I had bricked it three separate times using a &amp;quot;real&amp;quot; floppy! Each from different diskettes .The updater would start, give me the &amp;quot;going to take30 seconds&amp;quot; speech...and then access the HD for 10 minutes. Each time it would reboot fine. Did the cd as described above...worked great first time. Perhaps 10 year old seldom used floppy disc drives have some challenges?&lt;br /&gt;
|-&lt;br /&gt;
| {{600X}} 2645 ||&lt;br /&gt;
* Jonathan Byrne &amp;lt;jonathan@RemoveThisToMailMe.yamame.org&amp;gt;. BIOS 1.11 from spsuit55.exe worked perfectly using cabextract/CD method.&lt;br /&gt;
|-&lt;br /&gt;
| {{600X}} 2645 ||&lt;br /&gt;
* Andy Barnes &amp;lt;andy@RemoveThisToMailMe.itchypaws.co.uk&amp;gt;. As per Jonathan above, extracted BIOS 1.11 from spsuit55.exe using cabextract, created a CD boot image and burnt to CD.  Worked flawlessly - thanks to everyone who contributed to this article!&lt;br /&gt;
|-&lt;br /&gt;
| {{A20p}} 2629-6VU ||&lt;br /&gt;
* Chris Pickett http://www.sable.mcgill.ca/~cpicke/. BIOS 1.11 flashed fine with cabextract/CD method.&lt;br /&gt;
|-&lt;br /&gt;
| {{A21e}} 2628-JXU ||&lt;br /&gt;
* Amit Gurdasani &amp;lt;gurdasani at yahoo dot com&amp;gt;. BIOS 1.13 flashed fine with cabextract/CD method. Alarmingly, after the BIOS update, the laptop beeped but did not shut down as was indicated onscreen -- that was frozen on the &amp;quot;do not shut down the laptop&amp;quot; screen. On power down and up again, the BIOS setup showed the newer BIOS image running, and Linux booted up fine. Linux ACPI didn't complain about the BIOS being too old either.&lt;br /&gt;
|-&lt;br /&gt;
| {{A31p}} 2653 ||&lt;br /&gt;
* Matthias Meinke largeeddy@gmx.at, BIOS 1.09 1NET15WW flashed fine with cabextract/CD method.&lt;br /&gt;
|-&lt;br /&gt;
| {{A31}} 2652 ||&lt;br /&gt;
* [[User:Wnoise|Aaron Denney]], BIOS 1.13 flashed fine with cabextract/CD method.  The cabextract/CD method also worked for BIOS 1.10.&lt;br /&gt;
|-&lt;br /&gt;
| {{R30}} ||&lt;br /&gt;
* Jarrod, 30 August 2007, Thinkpad R30 Type 2656-E0M. BIOS updated to 1.40 (1CETF0WW) using floppy disk/mkisofs/cdrecord. Worked fine, no problems. &lt;br /&gt;
|-&lt;br /&gt;
| {{R31}} ||&lt;br /&gt;
* [http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/1998-January/009743.html Mathias Dalheimer]&lt;br /&gt;
* Sebastian Sauer (with cabextract/CD method)&lt;br /&gt;
|-&lt;br /&gt;
| {{R40}} ||&lt;br /&gt;
* Matthew Lambie, http://lambie.org&lt;br /&gt;
|-&lt;br /&gt;
| {{R50}} 1836-3SU ||&lt;br /&gt;
* jlbartos &amp;lt;jlbartos at hotmail dot com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{R50e}} 1834-PTG ||&lt;br /&gt;
* item &amp;lt;item at freemail dot hu&amp;gt; : successfully finished with cabextract/CD method for &amp;quot;1wuj25us.exe&amp;quot; (BIOS version 1WET90WW (2.10), Release Date: 2006/12/22)&lt;br /&gt;
* Christos Nouskas &amp;lt;nouskas at gmail dot com&amp;gt;: upgraded to BIOS version 1WET90WW (2.10) and EC version 1VHT28WW (1.04) using GRUB (BIOS first / EC second)&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} 1829 ||&lt;br /&gt;
* Robert Uhl &amp;lt;rob dot uhl at gmx dot de&amp;gt;, Jellby &amp;lt;jellby at yahoo dot com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} 1830-RM7 ||&lt;br /&gt;
* Will Parker &amp;lt;stardotstar at sourcepoint dot com dot au&amp;gt; successfully flashed 3.20 using existing 3.04 ECP and retained custom boot splash.&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} 2887 ||&lt;br /&gt;
* Ingo van Lil &amp;lt;inguin at gmx dot de&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} 1858 ||&lt;br /&gt;
* Stuart McCord &amp;lt;stuart dot mccord at gmail dot com&amp;gt; flashed both BIOS and ECP using cabextract, BIOS flashed first as on IBM website&lt;br /&gt;
|-&lt;br /&gt;
| {{T20}} ||&lt;br /&gt;
* Franz Hassels &amp;lt;fhassel at suse dot com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{T22}} ||&lt;br /&gt;
* Daniel Maier &amp;lt;nusse teamidiot de&amp;gt;&lt;br /&gt;
* Mathias Behrle (with cabextract/CD method, Version 1.07 =&amp;gt; 1.12) --[[User:Mathiasb|Mathiasb]] 11:58, 14 December 2006 (CET)&lt;br /&gt;
* Bob Skaroff (cabextract/CD), 1.06 =&amp;gt; 1.12&lt;br /&gt;
* Leo Butler (cabextract/CD), 1.11 =&amp;gt; 1.12 &lt;br /&gt;
|-&lt;br /&gt;
| {{T23}} ||&lt;br /&gt;
* Bart Snapp &amp;lt;snapp at uiuc dot edu&amp;gt; Note: I followed IBM's instructions to flash the BIOS '''first''' and the Embedded Controller '''second'''.&lt;br /&gt;
* Moy Easwaran: BIOS 1.18 / EC 1.06a via cabextract and CD-boot.  The BIOS-update exe generated errors in Windows 2000.&lt;br /&gt;
* Joe Renes: BIOS 1.18 / EC 1.06a on 2006-03-20 via cabextract and CD-boot. Piece of cake.&lt;br /&gt;
* Raphael Errani: BIOS 1.20 / EC 1.06a on 2006-11-06 via cabextract and CD-boot (using mkisofs). Worked without errors. 1st Bios, 2nd EC&lt;br /&gt;
* Myron Getman: BIOS 1.20 / EC 1.06a on 9/10/08 via cabextract --&amp;gt; k3b --&amp;gt; CD-boot.  Worked like a charm.  First BIOS update with Linux!&lt;br /&gt;
* Leo Butler: BIOS 1.13 / EC 1.04 to 1.20/1.06a via cabextract and syslinux/memdisk boot through grub. Worked like a charm and no wasted CD.&lt;br /&gt;
|-&lt;br /&gt;
| {{T30}} ||&lt;br /&gt;
* Martin GÃ¼hring &amp;lt;guehring at gmail.com&amp;gt; BIOS 2.10 via cabextract the Non-Diskette BIOS -&amp;gt; mkisofs '''in the directory the exe was extracted''' to generate the iso -&amp;gt; burn the iso -&amp;gt; boot the CD&lt;br /&gt;
|-&lt;br /&gt;
| {{T40}} ||&lt;br /&gt;
* Sean Dague, http://dague.net&lt;br /&gt;
* Justin Mason, http://jmason.org&lt;br /&gt;
* Ivanhoe (Bios 3.19)&lt;br /&gt;
* Alessandro Raulino (roger_2) EC 3.04 &amp;amp; BIOS 3.23 flashed with cabextract/CD method&lt;br /&gt;
* Nick Jenkins, using BIOS 3.23 with the '''Non-diskette updater + cabextract method''', then [[#Creating_a_Bootable_CD_from_a_Floppy_Image|created a bootable CD from the cabextracted .IMG file]], then boot that ISO, and it worked great!&lt;br /&gt;
|-&lt;br /&gt;
| {{T40p}} ||&lt;br /&gt;
* Lukas KrÃ¤henbÃ¼hl, ismo at pop dot agri dot ch&lt;br /&gt;
* Thomas Achtemichuk, tom at tomchuk dot com. BIOS 3.15 flashed fine with cabextract/CD method&lt;br /&gt;
|-&lt;br /&gt;
| {{T41}} ||&lt;br /&gt;
* Lev Givon (Bios 3.15 / EC 3.04) &amp;lt;lev at columbia dot edu&amp;gt;&lt;br /&gt;
* Ernesto HernÃ¡ndez-Novich (Bios 3.19 / CP 3.04) &amp;lt; emhn at usb dot ve &amp;gt;&lt;br /&gt;
* [http://maebmij.org James Ballantine] (Bios 3.21 / CP 3.04) using nondisk/cabextract/CDRW&lt;br /&gt;
|-&lt;br /&gt;
| {{T41p}} ||&lt;br /&gt;
* Nils Newman, work great. (Version: Bios 3.14 / Embedded Controller 3.04)&lt;br /&gt;
|-&lt;br /&gt;
| {{T42}} 2373-JXG ||&lt;br /&gt;
* magarzo &amp;lt;mdr.magarzo at gmail.com&amp;gt; (BIOS v.3.23 / Embedded Controller v.3.04 / both with cabextract to non-diskette v. plus Bootable CD)&lt;br /&gt;
|-&lt;br /&gt;
| {{T42}} ||&lt;br /&gt;
* Dan (BIOS 3.20 / EC 3.04, cabextract/CD method) &amp;lt;tronic171 at evilphb.org&amp;gt;&lt;br /&gt;
* Hirosh Dabui &amp;lt;hirosh@dabui.de&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{T42p}} ||&lt;br /&gt;
* Robert Schiele &amp;lt;rschiele@uni-mannheim.de&amp;gt;, Joern Heissler &amp;lt;joern@heissler.de&amp;gt;, Hirosh Dabui &amp;lt;hirosh@dabui.de&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}} 1871-W34 ||&lt;br /&gt;
* Florian Boucault &amp;lt;florian at boucault dot ath dot cx&amp;gt; (Version: Bios 1.23 / Embedded Controller 1.03)&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}} 2886 ||&lt;br /&gt;
* Till Heikamp &amp;lt;t dot heikamp at geniusbytes dot com&amp;gt; (Bios 1.22 to 1.29, Embedded Controller 1.03 to 1.06)&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}} ||&lt;br /&gt;
* Conrad Rentsch &amp;lt;Conrad dot Rentsch at t-online dot de&amp;gt; (Version: Bios 1.29 / Embedded Controller 1.06)&lt;br /&gt;
* Tom Heady &amp;lt;tom-thinkwiki.org@punch.net&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{T60}} 1951 ||&lt;br /&gt;
* Roman Komkov &amp;lt;roman  at komkov dot org dot ru&amp;gt; (Bios 1.07 to 2.13) Successfully upgraded from CD Image&lt;br /&gt;
|-&lt;br /&gt;
| {{T61}}  ||&lt;br /&gt;
* Kai Weber &amp;lt;kai.weber  at glorybox dot org&amp;gt; (Bios 1.06 to 1.26) Successfully upgraded from CD Image&lt;br /&gt;
|-&lt;br /&gt;
| {{X20}} ||&lt;br /&gt;
* Neil Caunt &amp;lt;retardis at gmail dot com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{X21}} ||&lt;br /&gt;
* Patrick Leickner &amp;lt;ranma at web dot de&amp;gt;, (BIOS 2.21-&amp;gt;2.25 / EC 1.31-&amp;gt;1.36) via non-disk/cabextract/mkisofs/cdrecord&lt;br /&gt;
|-&lt;br /&gt;
| {{X22}} ||&lt;br /&gt;
* David Emery &amp;lt;dave at skiddlydee dot com&amp;gt;,  (EC 1.30, BIOS 1.32 using non-disk/cabextract/CD method)&lt;br /&gt;
|-&lt;br /&gt;
| {{X23}} ||&lt;br /&gt;
* Nils Faerber &amp;lt;nils dot faerber at kernelconcepts dot de&amp;gt; (Embedded Controller 1.30, BIOS 1.32 with cabextract/CD method)&lt;br /&gt;
|-&lt;br /&gt;
| {{X30}} ||&lt;br /&gt;
* Hella Breitkopf, [http://www.unixwitch.de/ www]  (Embedded Controller 1.04, BIOS 1.07 with cabextract/CD method)&lt;br /&gt;
* William Roe &amp;lt;willroe at gmail dot com&amp;gt; (Embedded Controller 1.06, BIOS 1.09 - cabextract/mkisofs/wodim)&lt;br /&gt;
|-&lt;br /&gt;
| {{X31}} ||&lt;br /&gt;
* Grzegorz KuÅ›nierz &amp;lt;koniu at sheket dot org&amp;gt;  (Embedded Controller 1.08, BIOS 3.01 with cabextract/CD method)&lt;br /&gt;
|-&lt;br /&gt;
| {{X40}} ||&lt;br /&gt;
* Robbie Stone &amp;lt;robbie@serendipity.cx&amp;gt;&lt;br /&gt;
* Andy Shevchenko &amp;lt;andy.shevchenko@gmail.com&amp;gt;   (Fine by cabextract/CD method)&lt;br /&gt;
|-&lt;br /&gt;
| {{Z60m}} ||&lt;br /&gt;
* [[User:Morle|Morle]] 01:09, 17 Nov 2007 (CEST),  (Embedded Controller 1.18 and Bios 1.24 with cabextract/CD method)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Unsuccessful tests ====&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; style=&amp;quot;font-size:80%; vertical-align:top;&amp;quot;&lt;br /&gt;
! Model&lt;br /&gt;
! Tested by, and comments&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;pre&amp;gt;      &amp;lt;/pre&amp;gt; &amp;lt;!-- Placeholder --&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Booting using GRUB ===&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:75%&amp;quot; | {{WARN|Many have warned '''not''' to use the SYSLINUX image-loader '''memdisk''' to boot firmware update images.}}&lt;br /&gt;
| style=&amp;quot;font-size:80%&amp;quot; | {{HELP|Who are these &amp;quot;many&amp;quot;?  Link to a discussion?}}&lt;br /&gt;
|}&lt;br /&gt;
Once the bootable image, FILENAME.IMG, is extracted from the .exe, it can be booted directly through GRUB without the need of burning a CD, using the [http://syslinux.zytor.com/ SYSLINUX] image-loader '''[http://syslinux.zytor.com/memdisk.php memdisk]'''.&lt;br /&gt;
&lt;br /&gt;
Locate the '''memdisk''' file from the syslinux package. You can search for it with '''find''': &lt;br /&gt;
&lt;br /&gt;
{{cmdroot|find /usr -name memdisk}}&lt;br /&gt;
&lt;br /&gt;
If {{path|/usr/.../memdisk}} is not present, syslinux is not installed.  You will need to install it to boot a .IMG from GRUB.&lt;br /&gt;
&lt;br /&gt;
Copy both the '''FILENAME.IMG''' and '''memdisk''' files into {{path|/boot}} directory.  For example:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|cp ./FILENAME.IMG /usr/share/syslinux/memdisk /boot/}}&lt;br /&gt;
&lt;br /&gt;
Open {{path|/boot/grub/menu.lst}} in your favourite editor.  '''Copy''' the active section into a '''new section''', and edit the new section:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Parameter&lt;br /&gt;
! Instructions&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| ''title''  || Pick a name for the new section.  This will show up in the GRUB boot menu. || &amp;lt;tt&amp;gt;title IBM ECP Update&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| ''root''   || Do not change.  This is the partition containing the {{path|/boot}} directory       || &amp;lt;tt&amp;gt;root (hd0,0)&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| ''kernel'' || '''/boot/memdisk''' will allow you to boot an image file.                  || &amp;lt;tt&amp;gt;kernel /boot/memdisk&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| ''initrd'' || This is the name of the firmware-updater image file, e.g., 1IUJ13US.IMG    || &amp;lt;tt&amp;gt;initrd /boot/1IUJ13US.IMG&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Do '''not''' modify the original section in {{path|/boot/grub/menu.lst}}, or you might not be able to boot back to the operating system.&lt;br /&gt;
&lt;br /&gt;
If you have [[#Two_Firmwares:_BIOS_and_ECP|two firmware updates to do]], you will need a section for each firmware's FILENAME.IMG in {{path|/boot/grub/menu.lst}}.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|If both BIOS and ECP are to be updated, be sure to update them in the [[#Proper_Order|proper order]].}}&lt;br /&gt;
&lt;br /&gt;
{{WARN|By following any of the instructions here you are accepting the '''very real risk''' of turning your ThinkPad into a big expensive paper weight, as a firmware update gone wrong can create unfix-able problems.  '''Proceed at your own risk!'''}}&lt;br /&gt;
&lt;br /&gt;
Reboot your computer, entering the GRUB menu and selecting ''IBM BIOS Update'', or whatever you named the new section in {{path|/boot/grub/menu.lst}}.&lt;br /&gt;
&lt;br /&gt;
==== Successful tests ====&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; style=&amp;quot;font-size: 80%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Model&lt;br /&gt;
! BIOS&lt;br /&gt;
! ECP&lt;br /&gt;
! Tested by&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| {{R30}} 2656-64G || v.1.40            ||                   || [[User:english.voodoo|Yuri Spirin]] ||&lt;br /&gt;
|-&lt;br /&gt;
| {{R40}} 2723     || 1OHJ11WW.IMG      || 1PUJ25US.IMG      || [[User:qunying|Qunying]] || memdisk from syslinux 3.70 (slackware 12.1)&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} 2888     ||                   ||                   ||                          || &lt;br /&gt;
|-&lt;br /&gt;
| {{T40}} 2373     || 1RUJ37US.IMG      || 1RHJ10U2.IMG      || [[User:Euphoria|Euphoria]] || memdisk from syslinux 1:3.31-4 (Debian package version)&lt;br /&gt;
|-&lt;br /&gt;
| {{T40}} 2373     || 1RHJ10U2.IMG&amp;lt;br /&amp;gt;(3.04, 2004-11-15) || 1RUJ37US.IMG&amp;lt;br /&amp;gt;(3.23, 2007-07-03) || [[User:Morphics|Morphics]] || cabextract and memdisk from syslinux 3:1.36-4ubuntu5&lt;br /&gt;
|-&lt;br /&gt;
| {{T41}} 2373     || 1RUJ37US.IMG&amp;lt;br /&amp;gt;(3.23, 2007-07-03) || || [[User:Tonko|Tonko]] || Fedora 12&lt;br /&gt;
|-&lt;br /&gt;
| {{T41p}} 2373    || 1RUJ37US.IMG&amp;lt;br /&amp;gt;(3.23, 2007-07-03) ||  || [[User:Deggel|Deggel]] || cabextract and memdisk from syslinux 3.71 on gentoo &lt;br /&gt;
|-&lt;br /&gt;
| {{T41p}} 2373    ||  ||  || [[User:MrStaticVoid|James Lee]]   || &lt;br /&gt;
|-&lt;br /&gt;
| {{X31}} 2673-CBU ||  ||  || [[User:JanTopinski|Jan Topinski]] || &lt;br /&gt;
|-&lt;br /&gt;
| {{X31}} 2672-CXU ||  ||  || [[User:TheAnarcat|TheAnarcat]]    || &lt;br /&gt;
|-&lt;br /&gt;
| {{X31}} 2673-58G ||  ||  || [[User:FaUl|FaUl]]                || &lt;br /&gt;
|-&lt;br /&gt;
| {{X31}} 2672-PG9 ||  ||  || [[User:Starox|Starox]]            || a big moment between starting update and the updating window &lt;br /&gt;
|-&lt;br /&gt;
| {{X40}} 2371     || 2.07 1uuj21us.exe || 1.62 1uhj10us.exe || [[User:Antialize|Jakob Truelsen]] || Worked on two X40-2371 &lt;br /&gt;
|-&lt;br /&gt;
| {{X40}} 2386     || 2.08 1uuj22us.exe || 1.62 1uhj10us.exe || [[User:Antialize|Galen Seitz]] || memdisk from syslinux 3.61&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Unsuccessful tests ====&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; style=&amp;quot;font-size: 80%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Model&lt;br /&gt;
!  style=&amp;quot;width:10em;&amp;quot; | BIOS&lt;br /&gt;
! ECP&lt;br /&gt;
! Tested by&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}} 2668-F7G || 1.29 1YUJ18US.IMG ||  || [[User:Maus3273|Maus3273]] || I got into the bios program, but the machine never restarts after initiating the upgrade.&lt;br /&gt;
|-&lt;br /&gt;
| {{X41}} 2525-FAG || 2.09 74UJ15US     ||  || [[User:Ukleinek|Uwe Kleine-König]] || booted fine (Debian syslinux 2:3.71+dfsg-5), but didn't succeed to write, just hang at &amp;quot;Don't restart or remove diskette etc. pp&amp;quot; (not bricked).  Worked fine via CD method.&lt;br /&gt;
|- &lt;br /&gt;
| {{X41}} 2525-F8G || 2.06 74UJ12US.IMG&amp;lt;br /&amp;gt;2.07 74UJ13US.IMG&amp;lt;br /&amp;gt;2.09 74UJ15US.IMG ||  || [[User:ladoga|Lauri Koponen]] || hangs while initializing the actual BIOS flashing process&amp;lt;br /&amp;gt; ECP: 1.02 74HJ03US.IMG works&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Booting from a Floppy ===&lt;br /&gt;
{{WARN|Using a floppy disk '''is NOT recommended'''.}}&lt;br /&gt;
&lt;br /&gt;
This is how IBM/Lenovo intended it.  Use their .exe files to create a bootable floppy with the flash update on it.  Boot from the floppy and there you go.&lt;br /&gt;
&lt;br /&gt;
So, why is it not recommended?&lt;br /&gt;
# If something goes wrong, your ThinkPad may be permanently damaged&lt;br /&gt;
# Floppy disk drives are not reliable&lt;br /&gt;
# Floppy disks are not reliable&lt;br /&gt;
# It only works with /dev/fd0, meaning it won't work with a USB floppy&lt;br /&gt;
&lt;br /&gt;
So, even though Lenovo is now offering &amp;quot;Linux diskette&amp;quot; updaters, that will create a bootable floppy under Linux, using a floppy is still not recommended.  Besides, many people don't even ''have'' a floppy drive on their ThinkPad.&lt;br /&gt;
&lt;br /&gt;
If you really want to do it with a floppy, some tips:&lt;br /&gt;
* Use a clean (in the physical sense) floppy drive&lt;br /&gt;
* Use new floppies&lt;br /&gt;
* Test floppies for errors before starting update process&lt;br /&gt;
* Have multiple copies of the update disks ready--if one should fail, replace it with a copy&lt;br /&gt;
* Should DOS complain of a read error, '''only''' respond wth &amp;quot;Retry&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{NOTE|Should the system encounter a disk read error during the flash process, and you select &amp;quot;Abort&amp;quot;, your system could be permanently damaged.}}&lt;br /&gt;
&lt;br /&gt;
=== Booting from a USB Flash drive ===&lt;br /&gt;
{{HELP|Has anyone tested booting a firmware update image from a USB flash drive?  Perhaps using [http://unetbootin.sourceforge.net/ UNetbootin]?}}&lt;br /&gt;
&lt;br /&gt;
== Booting from a Network Boot Image ==&lt;br /&gt;
BIOS, ECP, CD/DVD and Harddisk firmware disks can be booted over the network with [http://syslinux.zytor.com/pxe.php PXELINX] as part of the [http://syslinux.zytor.com/ SYSLINUX] package.  This requires that you have a DHCP and tftp server configured and setup properly on your network, and is probably not for the faint of heart.&lt;br /&gt;
&lt;br /&gt;
Make sure the firmware bootdisk is in linux 'dd' format, as the self-extracting .exe disks from the IBM website cannot be booted directly as such.&lt;br /&gt;
&lt;br /&gt;
This worked on the {{R31}}, {{X22}}, {{T21}}, {{T30}} and {{T41p}} with various firmware updates.  On the {{X22}}, it worked with ECP 1.30 but '''not''' with BIOS 1.32&lt;br /&gt;
&lt;br /&gt;
=After updating=&lt;br /&gt;
Lenovo recommends reseting your BIOS settings to their factory defaults after a firmware update.&lt;br /&gt;
&lt;br /&gt;
==DMI IDs==&lt;br /&gt;
Please consider updating the [[List of DMI IDs]] after updating your BIOS.&lt;br /&gt;
&lt;br /&gt;
= Special Cases =&lt;br /&gt;
* In one case, see ([[APM setup on a type 2379 ThinkPad T40]]), it was not possible to upgrade the BIOS from Windows XP; a downgrade to Windows 98 was required to successfully run the BIOS upgrade app. The symptoms in this case were that, once the files had been extracted to the hard disk, and the machine was to reboot into the upgrade app, it would beep and hang just before reboot, requiring a power cycle. Once the power was cycled, it would simply reboot back into XP without performing any BIOS upgrade actions. So even if you have Windows, you may still need to use the info on this page.&lt;br /&gt;
&lt;br /&gt;
== Updating Thinkpad X Series ==&lt;br /&gt;
The special update instructions for {{X_Series}} Thinkpads are quite long. You can find them at the page [[BIOS_Upgrade/X_Series]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{{footnotes|&lt;br /&gt;
# For lots of detail on making and burning .iso files, see The Linux Documentation Project (tldp.org): [http://tldp.org/HOWTO/CD-Writing-HOWTO-3.html#ss3.1 3.1 Writing CD-ROMs (pure data)].&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Jidanni</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=BIOS_Upgrade&amp;diff=45414</id>
		<title>BIOS Upgrade</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=BIOS_Upgrade&amp;diff=45414"/>
		<updated>2010-01-22T04:35:41Z</updated>

		<summary type="html">&lt;p&gt;Jidanni: /* Update Order */IBM Says BIOS first&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;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
This page is meant to describe ways to update the BIOS on a ThinkPad that only runs Linux for users that don't have ready access to Windows. If you have Windows on your ThinkPad you can just boot into it and follow instructions on the Lenovo website.&lt;br /&gt;
&lt;br /&gt;
Updating the BIOS in Linux (with few exceptions) '''is not officially supported''' by Lenovo.  However there are work arounds.&lt;br /&gt;
&lt;br /&gt;
{{WARN|By following any of the instructions here you are accepting the '''very real risk''' of turning your ThinkPad into a big expensive paper weight, as a firmware update gone wrong can create unfix-able problems.&lt;br /&gt;
&lt;br /&gt;
'''Proceed at your own risk!'''}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Downloading New Firmware =&lt;br /&gt;
{{WARN|Flashing the wrong firmware for your hardware may cause permanent damage to your ThinkPad.  It is up to you to confirm that the firmware you are using is correct.}}&lt;br /&gt;
&lt;br /&gt;
A list of links to firmware downloads can be found at [[BIOS Upgrade Downloads]] for most Thinkpad models.  You can also check the Lenovo Support website's [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=TPAD-MATRIX|ThinkPad driver matrix].&lt;br /&gt;
&lt;br /&gt;
Lenovo provides firmware upgrades in a variety of packages:&lt;br /&gt;
* Diskette&lt;br /&gt;
* Non-diskette&lt;br /&gt;
* Linux diskette&lt;br /&gt;
* BIOS Utility&lt;br /&gt;
* Bootable CD&lt;br /&gt;
&lt;br /&gt;
Not every type of package is available for every model.&lt;br /&gt;
&lt;br /&gt;
The ''BIOS Utility'' and ''Bootable CD'' packages combine the BIOS and ECP firmwares.  For the other packages, there is one for each firmware.&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; style=&amp;quot;width:20em;&amp;quot;&lt;br /&gt;
| {{HELP|Can an image be extracted from a &amp;quot;Linux diskette&amp;quot; .exe file?}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The ''Linux diskette'' is just the ''Diskette'' package that runs on Linux instead of Windows/DOS.  It's unknown if a boot image can be extracted from it.  &lt;br /&gt;
&lt;br /&gt;
You may need to try different packages to find the one from which you can extract a boot image.&lt;br /&gt;
&lt;br /&gt;
== Two Firmwares: BIOS and ECP ==&lt;br /&gt;
{{WARN|Flashing incompatible firmwares, or flashing them in the wrong order, may cause permanent damage to your ThinkPad.}}&lt;br /&gt;
&lt;br /&gt;
It is important to understand that Thinkpads from IBM have two separate firmwares: the BIOS, and the Embedded Controller Program (ECP).&lt;br /&gt;
&lt;br /&gt;
A given BIOS version will require a certain version of the ECP.  You must read the Lenovo website and/or .txt files to confirm which BIOS is compatible with which ECP, and '''the order in which to update them'''.  &lt;br /&gt;
&lt;br /&gt;
=== Update Order ===&lt;br /&gt;
{|align=&amp;quot;right&amp;quot; style=&amp;quot;width:20em; font-size:80%;&amp;quot;&lt;br /&gt;
|{{HELP|Is the order really that important?  And why do the ECP first by default?}}&lt;br /&gt;
|}&lt;br /&gt;
The IBM documentation is sometimes unclear about the order in which these two firmwares should be updated.  When in doubt, '''update the ECP first, and then the BIOS'''.  Also, make sure to do the two updates '''immediately one after the other'''.&lt;br /&gt;
&lt;br /&gt;
Odd, I see on www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-55001 , IBM saying&lt;br /&gt;
:''If you need to update Embedded Controller Program as well as the BIOS, update the BIOS first.''&lt;br /&gt;
&lt;br /&gt;
(Updaters for newer models do both the ECP and the BIOS at the same time, so you don't have to worry about it.)&lt;br /&gt;
&lt;br /&gt;
== Installed Firmware ==&lt;br /&gt;
You can check the current BIOS and ECP versions on your ThinkPad by using '''dmidecode'''. For example:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|dmidecode -s bios-version}}&lt;br /&gt;
&lt;br /&gt;
 1RETDRWW (3.23 )&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|dmidecode -t 11}}&lt;br /&gt;
&lt;br /&gt;
 # dmidecode 2.9&lt;br /&gt;
 SMBIOS 2.33 present.&lt;br /&gt;
 Handle 0x0029, DMI type 11, 5 bytes&lt;br /&gt;
 OEM Strings&lt;br /&gt;
         String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&lt;br /&gt;
&lt;br /&gt;
Showing BIOS version 3.23 (1RETDRWW) and ECP version 3.04 (1RHT71WW).&lt;br /&gt;
&lt;br /&gt;
===DMI IDs===&lt;br /&gt;
Please consider updating the [[List of DMI IDs]] before (and after) updating your BIOS.&lt;br /&gt;
&lt;br /&gt;
= Updating Firmware =&lt;br /&gt;
&lt;br /&gt;
There are two basic steps to updating the firmware (either the BIOS or the ECP) on a ThinkPad not running Windows:&lt;br /&gt;
# Extract a bootable update image&lt;br /&gt;
# Boot from that image&lt;br /&gt;
&lt;br /&gt;
== Extracting an update image ==&lt;br /&gt;
{{WARN|Though this process has been successfully tested on many versions of .exe files found on IBMs website, that doesn't mean it will work for all of them.  '''Proceed at your own risk'''.  Consult the testing tables farther down of this page to see other users' experience with your model Thinkpad.}}&lt;br /&gt;
The various .exe installers from Lenovo all appear to be just a wrapper license program around Windows .cab files (see [[How_to_change_the_BIOS_bootsplash_screen|BIOS-Bootsplash]]).  If you install the Linux program [http://freshmeat.net/projects/cabextract/ '''cabextract'''] you can expand these .cab files directly.  For example, if you downloaded {{path|1iuj13us.exe}} from Lenovo:&lt;br /&gt;
&lt;br /&gt;
:{{cmduser|cabextract 1iuj13us.exe}}&lt;br /&gt;
&lt;br /&gt;
 Extracting cabinet: 1iuj13us.exe&lt;br /&gt;
  extracting 1IUJ13US.IMG&lt;br /&gt;
  extracting BIOSUPTP.EXE&lt;br /&gt;
  extracting DOBOOT.EXE&lt;br /&gt;
  extracting DOSBOOT.COM&lt;br /&gt;
  extracting DOSBOOT.SYS&lt;br /&gt;
  extracting DOSBOOT.VXD&lt;br /&gt;
  extracting DOSBOOT2.COM&lt;br /&gt;
  extracting ECTLUPTP.EXE&lt;br /&gt;
  extracting EFLASHAS.SYS&lt;br /&gt;
  extracting HDFWUPTP.EXE&lt;br /&gt;
  extracting IBMTPI.XML&lt;br /&gt;
 All done, no errors.&lt;br /&gt;
&lt;br /&gt;
The file we want is '''FILENAME.IMG''', with &amp;quot;FILENAME&amp;quot; being the .exe. you downloaded.  E.g., {{path|1IUJ13US.IMG}}.&lt;br /&gt;
&lt;br /&gt;
(If this does not work for the Non-diskette .exe, try it on the Diskette .exe.  It's reported, for example, that the Non-diskette .exe for BIOS version 3.23 for the T41p was not extractable, but the Diskette .exe worked perfectly, with {{cmduser|cabextract}} delivering a .IMG file.)&lt;br /&gt;
&lt;br /&gt;
==== Testing the Image ====&lt;br /&gt;
&lt;br /&gt;
You can test that FILENAME.IMG is really a floppy image by running:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|mkdir mntfloppy}}&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|mount -o loop FILENAME.IMG mntfloppy}}&lt;br /&gt;
&lt;br /&gt;
If a '''ls''' command on the image returns what looks like a DOS floppy, and no read errors were displayed, you have a pretty good chance that the image is usable.  For example:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|ls mntfloppy}}&lt;br /&gt;
 $0186000.fl1  0f24.hsh  0f29.pat     ibmdos.com    readme.txt    utilinfo.exe&lt;br /&gt;
 0f21.hsh      0f24.pat  command.com  lcreflsh.bat  tpchks.exe&lt;br /&gt;
 0f21.pat      0f27.hsh  config.sys   phlash16.exe  updtflsh.exe&lt;br /&gt;
 0f23.hsh      0f27.pat  flash2.exe   prod.dat      updtmn.exe&lt;br /&gt;
 0f23.pat      0f29.hsh  ibmbio.com   qkflash.exe   userint.exe&lt;br /&gt;
&lt;br /&gt;
Unmount the image after you are done testing:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|umount mntfloppy}}&lt;br /&gt;
&lt;br /&gt;
== Booting from update image ==&lt;br /&gt;
Now that you have a bootable image for the correct update for you hardware, you need to do is boot from that image to install the update.&lt;br /&gt;
&lt;br /&gt;
There are different ways to do that:&lt;br /&gt;
* [[#Booting from a CD|Boot from a CD]]&lt;br /&gt;
* [[#Booting_using_GRUB|Boot from the image, using GRUB]]&lt;br /&gt;
* [[#Booting_from_a_floppy|Boot from a floppy]]&lt;br /&gt;
* [[#Booting_from_a_USB_Flash_drive|Boot from a USB Flash drive]]&lt;br /&gt;
&lt;br /&gt;
=== Booting from a CD ===&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; style=&amp;quot;width:40em;&amp;quot;&lt;br /&gt;
|{{HINT|If there is a ''Bootable CD'' image available, e.g., FILENAME.iso, just download that, instead of mucking around with image files.}}&lt;br /&gt;
|}&lt;br /&gt;
If you are going to update the firmware by booting from a CD, you need to turn FILENAME.IMG that you extracted above into an .iso file.&lt;br /&gt;
&lt;br /&gt;
The [http://en.wikipedia.org/wiki/El_Torito_%28CD-ROM_standard%29|El Torito Bootable CD Specification] is a wonderful thing.  Thanks to it, a bootable CD can be made with a bootable floppy image in such as way that the CD believes that it is a 2.88 MB floppy drive.  This allows you to replace a boot floppy by a boot CD in nearly all situations.&lt;br /&gt;
&lt;br /&gt;
It is very easy to create such a bootable CD ISO image in Linux using the '''mkisofs''' tool{{footnote|1}}.  Run a command as follows:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|mkisofs -b bootfloppy.img -o bootcd.iso FILENAME.IMG}}&lt;br /&gt;
&lt;br /&gt;
Where FILENAME.IMG is the name of the image file extracted above, for example {{path|1IUJ13US.IMG}}.  This creates a CD with one file on it and marks that file as the boot image.  &lt;br /&gt;
&lt;br /&gt;
You can now burn the {{path|bootcd.iso}} to a CD in your favorite CD-burning program.&lt;br /&gt;
{{WARN|By following any of the instructions here you are accepting the '''very real risk''' of turning your ThinkPad into a big expensive paper weight, as a firmware update gone wrong can create unfix-able problems.  '''Proceed at your own risk!'''}}&lt;br /&gt;
&lt;br /&gt;
Boot from the CD to update your firmware.  Remember to have [[BIOS_Upgrade#Two_Firmwares:_BIOS_and_ECP|both BIOS and ECP firmware boot-CDs]] ready, as needed, and use them in the [[#Proper_Order|proper order]].&lt;br /&gt;
&lt;br /&gt;
==== Successful tests ====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; style=&amp;quot;font-size:80%; vertical-align:top;&amp;quot;&lt;br /&gt;
! Model&lt;br /&gt;
! Tested by, and comments&lt;br /&gt;
|-&lt;br /&gt;
| {{600E}} 2645-4AU ||&lt;br /&gt;
* George Tellalov &amp;lt;gtellalov_dontspamme@bigfoot.com&amp;gt;. BIOS 1.16 from spsdin36.exe worked perfectly with the method bootable cd from floppy image. I highly recommend this upgrade because it made my ibm-acpi module load (it wouldn't load before) and fixed some suspend to ram problems. Here's the [http://george.tellalov.info/bios_upgrade_600e_spsdin36.iso cd image] I used. Use at your own risk. You can send me a chocolate if it works for you ;)&lt;br /&gt;
|-&lt;br /&gt;
| {{600E}} 2645-5bU ||&lt;br /&gt;
* Mike Vincent&amp;lt;matchstc-putobvioushere.com&amp;gt;. Bios 1.16 from spsdin36.exe and then to the boot cd worked great for me. Thought I had bricked it three separate times using a &amp;quot;real&amp;quot; floppy! Each from different diskettes .The updater would start, give me the &amp;quot;going to take30 seconds&amp;quot; speech...and then access the HD for 10 minutes. Each time it would reboot fine. Did the cd as described above...worked great first time. Perhaps 10 year old seldom used floppy disc drives have some challenges?&lt;br /&gt;
|-&lt;br /&gt;
| {{600X}} 2645 ||&lt;br /&gt;
* Jonathan Byrne &amp;lt;jonathan@RemoveThisToMailMe.yamame.org&amp;gt;. BIOS 1.11 from spsuit55.exe worked perfectly using cabextract/CD method.&lt;br /&gt;
|-&lt;br /&gt;
| {{600X}} 2645 ||&lt;br /&gt;
* Andy Barnes &amp;lt;andy@RemoveThisToMailMe.itchypaws.co.uk&amp;gt;. As per Jonathan above, extracted BIOS 1.11 from spsuit55.exe using cabextract, created a CD boot image and burnt to CD.  Worked flawlessly - thanks to everyone who contributed to this article!&lt;br /&gt;
|-&lt;br /&gt;
| {{A20p}} 2629-6VU ||&lt;br /&gt;
* Chris Pickett http://www.sable.mcgill.ca/~cpicke/. BIOS 1.11 flashed fine with cabextract/CD method.&lt;br /&gt;
|-&lt;br /&gt;
| {{A21e}} 2628-JXU ||&lt;br /&gt;
* Amit Gurdasani &amp;lt;gurdasani at yahoo dot com&amp;gt;. BIOS 1.13 flashed fine with cabextract/CD method. Alarmingly, after the BIOS update, the laptop beeped but did not shut down as was indicated onscreen -- that was frozen on the &amp;quot;do not shut down the laptop&amp;quot; screen. On power down and up again, the BIOS setup showed the newer BIOS image running, and Linux booted up fine. Linux ACPI didn't complain about the BIOS being too old either.&lt;br /&gt;
|-&lt;br /&gt;
| {{A31p}} 2653 ||&lt;br /&gt;
* Matthias Meinke largeeddy@gmx.at, BIOS 1.09 1NET15WW flashed fine with cabextract/CD method.&lt;br /&gt;
|-&lt;br /&gt;
| {{A31}} 2652 ||&lt;br /&gt;
* [[User:Wnoise|Aaron Denney]], BIOS 1.13 flashed fine with cabextract/CD method.  The cabextract/CD method also worked for BIOS 1.10.&lt;br /&gt;
|-&lt;br /&gt;
| {{R30}} ||&lt;br /&gt;
* Jarrod, 30 August 2007, Thinkpad R30 Type 2656-E0M. BIOS updated to 1.40 (1CETF0WW) using floppy disk/mkisofs/cdrecord. Worked fine, no problems. &lt;br /&gt;
|-&lt;br /&gt;
| {{R31}} ||&lt;br /&gt;
* [http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/1998-January/009743.html Mathias Dalheimer]&lt;br /&gt;
* Sebastian Sauer (with cabextract/CD method)&lt;br /&gt;
|-&lt;br /&gt;
| {{R40}} ||&lt;br /&gt;
* Matthew Lambie, http://lambie.org&lt;br /&gt;
|-&lt;br /&gt;
| {{R50}} 1836-3SU ||&lt;br /&gt;
* jlbartos &amp;lt;jlbartos at hotmail dot com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{R50e}} 1834-PTG ||&lt;br /&gt;
* item &amp;lt;item at freemail dot hu&amp;gt; : successfully finished with cabextract/CD method for &amp;quot;1wuj25us.exe&amp;quot; (BIOS version 1WET90WW (2.10), Release Date: 2006/12/22)&lt;br /&gt;
* Christos Nouskas &amp;lt;nouskas at gmail dot com&amp;gt;: upgraded to BIOS version 1WET90WW (2.10) and EC version 1VHT28WW (1.04) using GRUB (BIOS first / EC second)&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} 1829 ||&lt;br /&gt;
* Robert Uhl &amp;lt;rob dot uhl at gmx dot de&amp;gt;, Jellby &amp;lt;jellby at yahoo dot com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} 1830-RM7 ||&lt;br /&gt;
* Will Parker &amp;lt;stardotstar at sourcepoint dot com dot au&amp;gt; successfully flashed 3.20 using existing 3.04 ECP and retained custom boot splash.&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} 2887 ||&lt;br /&gt;
* Ingo van Lil &amp;lt;inguin at gmx dot de&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} 1858 ||&lt;br /&gt;
* Stuart McCord &amp;lt;stuart dot mccord at gmail dot com&amp;gt; flashed both BIOS and ECP using cabextract, BIOS flashed first as on IBM website&lt;br /&gt;
|-&lt;br /&gt;
| {{T20}} ||&lt;br /&gt;
* Franz Hassels &amp;lt;fhassel at suse dot com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{T22}} ||&lt;br /&gt;
* Daniel Maier &amp;lt;nusse teamidiot de&amp;gt;&lt;br /&gt;
* Mathias Behrle (with cabextract/CD method, Version 1.07 =&amp;gt; 1.12) --[[User:Mathiasb|Mathiasb]] 11:58, 14 December 2006 (CET)&lt;br /&gt;
* Bob Skaroff (cabextract/CD), 1.06 =&amp;gt; 1.12&lt;br /&gt;
* Leo Butler (cabextract/CD), 1.11 =&amp;gt; 1.12 &lt;br /&gt;
|-&lt;br /&gt;
| {{T23}} ||&lt;br /&gt;
* Bart Snapp &amp;lt;snapp at uiuc dot edu&amp;gt; Note: I followed IBM's instructions to flash the BIOS '''first''' and the Embedded Controller '''second'''.&lt;br /&gt;
* Moy Easwaran: BIOS 1.18 / EC 1.06a via cabextract and CD-boot.  The BIOS-update exe generated errors in Windows 2000.&lt;br /&gt;
* Joe Renes: BIOS 1.18 / EC 1.06a on 2006-03-20 via cabextract and CD-boot. Piece of cake.&lt;br /&gt;
* Raphael Errani: BIOS 1.20 / EC 1.06a on 2006-11-06 via cabextract and CD-boot (using mkisofs). Worked without errors. 1st Bios, 2nd EC&lt;br /&gt;
* Myron Getman: BIOS 1.20 / EC 1.06a on 9/10/08 via cabextract --&amp;gt; k3b --&amp;gt; CD-boot.  Worked like a charm.  First BIOS update with Linux!&lt;br /&gt;
* Leo Butler: BIOS 1.13 / EC 1.04 to 1.20/1.06a via cabextract and syslinux/memdisk boot through grub. Worked like a charm and no wasted CD.&lt;br /&gt;
|-&lt;br /&gt;
| {{T30}} ||&lt;br /&gt;
* Martin GÃ¼hring &amp;lt;guehring at gmail.com&amp;gt; BIOS 2.10 via cabextract the Non-Diskette BIOS -&amp;gt; mkisofs '''in the directory the exe was extracted''' to generate the iso -&amp;gt; burn the iso -&amp;gt; boot the CD&lt;br /&gt;
|-&lt;br /&gt;
| {{T40}} ||&lt;br /&gt;
* Sean Dague, http://dague.net&lt;br /&gt;
* Justin Mason, http://jmason.org&lt;br /&gt;
* Ivanhoe (Bios 3.19)&lt;br /&gt;
* Alessandro Raulino (roger_2) EC 3.04 &amp;amp; BIOS 3.23 flashed with cabextract/CD method&lt;br /&gt;
* Nick Jenkins, using BIOS 3.23 with the '''Non-diskette updater + cabextract method''', then [[#Creating_a_Bootable_CD_from_a_Floppy_Image|created a bootable CD from the cabextracted .IMG file]], then boot that ISO, and it worked great!&lt;br /&gt;
|-&lt;br /&gt;
| {{T40p}} ||&lt;br /&gt;
* Lukas KrÃ¤henbÃ¼hl, ismo at pop dot agri dot ch&lt;br /&gt;
* Thomas Achtemichuk, tom at tomchuk dot com. BIOS 3.15 flashed fine with cabextract/CD method&lt;br /&gt;
|-&lt;br /&gt;
| {{T41}} ||&lt;br /&gt;
* Lev Givon (Bios 3.15 / EC 3.04) &amp;lt;lev at columbia dot edu&amp;gt;&lt;br /&gt;
* Ernesto HernÃ¡ndez-Novich (Bios 3.19 / CP 3.04) &amp;lt; emhn at usb dot ve &amp;gt;&lt;br /&gt;
* [http://maebmij.org James Ballantine] (Bios 3.21 / CP 3.04) using nondisk/cabextract/CDRW&lt;br /&gt;
|-&lt;br /&gt;
| {{T41p}} ||&lt;br /&gt;
* Nils Newman, work great. (Version: Bios 3.14 / Embedded Controller 3.04)&lt;br /&gt;
|-&lt;br /&gt;
| {{T42}} 2373-JXG ||&lt;br /&gt;
* magarzo &amp;lt;mdr.magarzo at gmail.com&amp;gt; (BIOS v.3.23 / Embedded Controller v.3.04 / both with cabextract to non-diskette v. plus Bootable CD)&lt;br /&gt;
|-&lt;br /&gt;
| {{T42}} ||&lt;br /&gt;
* Dan (BIOS 3.20 / EC 3.04, cabextract/CD method) &amp;lt;tronic171 at evilphb.org&amp;gt;&lt;br /&gt;
* Hirosh Dabui &amp;lt;hirosh@dabui.de&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{T42p}} ||&lt;br /&gt;
* Robert Schiele &amp;lt;rschiele@uni-mannheim.de&amp;gt;, Joern Heissler &amp;lt;joern@heissler.de&amp;gt;, Hirosh Dabui &amp;lt;hirosh@dabui.de&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}} 1871-W34 ||&lt;br /&gt;
* Florian Boucault &amp;lt;florian at boucault dot ath dot cx&amp;gt; (Version: Bios 1.23 / Embedded Controller 1.03)&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}} 2886 ||&lt;br /&gt;
* Till Heikamp &amp;lt;t dot heikamp at geniusbytes dot com&amp;gt; (Bios 1.22 to 1.29, Embedded Controller 1.03 to 1.06)&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}} ||&lt;br /&gt;
* Conrad Rentsch &amp;lt;Conrad dot Rentsch at t-online dot de&amp;gt; (Version: Bios 1.29 / Embedded Controller 1.06)&lt;br /&gt;
* Tom Heady &amp;lt;tom-thinkwiki.org@punch.net&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{T60}} 1951 ||&lt;br /&gt;
* Roman Komkov &amp;lt;roman  at komkov dot org dot ru&amp;gt; (Bios 1.07 to 2.13) Successfully upgraded from CD Image&lt;br /&gt;
|-&lt;br /&gt;
| {{T61}}  ||&lt;br /&gt;
* Kai Weber &amp;lt;kai.weber  at glorybox dot org&amp;gt; (Bios 1.06 to 1.26) Successfully upgraded from CD Image&lt;br /&gt;
|-&lt;br /&gt;
| {{X20}} ||&lt;br /&gt;
* Neil Caunt &amp;lt;retardis at gmail dot com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{X21}} ||&lt;br /&gt;
* Patrick Leickner &amp;lt;ranma at web dot de&amp;gt;, (BIOS 2.21-&amp;gt;2.25 / EC 1.31-&amp;gt;1.36) via non-disk/cabextract/mkisofs/cdrecord&lt;br /&gt;
|-&lt;br /&gt;
| {{X22}} ||&lt;br /&gt;
* David Emery &amp;lt;dave at skiddlydee dot com&amp;gt;,  (EC 1.30, BIOS 1.32 using non-disk/cabextract/CD method)&lt;br /&gt;
|-&lt;br /&gt;
| {{X23}} ||&lt;br /&gt;
* Nils Faerber &amp;lt;nils dot faerber at kernelconcepts dot de&amp;gt; (Embedded Controller 1.30, BIOS 1.32 with cabextract/CD method)&lt;br /&gt;
|-&lt;br /&gt;
| {{X30}} ||&lt;br /&gt;
* Hella Breitkopf, [http://www.unixwitch.de/ www]  (Embedded Controller 1.04, BIOS 1.07 with cabextract/CD method)&lt;br /&gt;
* William Roe &amp;lt;willroe at gmail dot com&amp;gt; (Embedded Controller 1.06, BIOS 1.09 - cabextract/mkisofs/wodim)&lt;br /&gt;
|-&lt;br /&gt;
| {{X31}} ||&lt;br /&gt;
* Grzegorz KuÅ›nierz &amp;lt;koniu at sheket dot org&amp;gt;  (Embedded Controller 1.08, BIOS 3.01 with cabextract/CD method)&lt;br /&gt;
|-&lt;br /&gt;
| {{X40}} ||&lt;br /&gt;
* Robbie Stone &amp;lt;robbie@serendipity.cx&amp;gt;&lt;br /&gt;
* Andy Shevchenko &amp;lt;andy.shevchenko@gmail.com&amp;gt;   (Fine by cabextract/CD method)&lt;br /&gt;
|-&lt;br /&gt;
| {{Z60m}} ||&lt;br /&gt;
* [[User:Morle|Morle]] 01:09, 17 Nov 2007 (CEST),  (Embedded Controller 1.18 and Bios 1.24 with cabextract/CD method)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Unsuccessful tests ====&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; style=&amp;quot;font-size:80%; vertical-align:top;&amp;quot;&lt;br /&gt;
! Model&lt;br /&gt;
! Tested by, and comments&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;pre&amp;gt;      &amp;lt;/pre&amp;gt; &amp;lt;!-- Placeholder --&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Booting using GRUB ===&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:75%&amp;quot; | {{WARN|Many have warned '''not''' to use the SYSLINUX image-loader '''memdisk''' to boot firmware update images.}}&lt;br /&gt;
| style=&amp;quot;font-size:80%&amp;quot; | {{HELP|Who are these &amp;quot;many&amp;quot;?  Link to a discussion?}}&lt;br /&gt;
|}&lt;br /&gt;
Once the bootable image, FILENAME.IMG, is extracted from the .exe, it can be booted directly through GRUB without the need of burning a CD, using the [http://syslinux.zytor.com/ SYSLINUX] image-loader '''[http://syslinux.zytor.com/memdisk.php memdisk]'''.&lt;br /&gt;
&lt;br /&gt;
Locate the '''memdisk''' file from the syslinux package. You can search for it with '''find''': &lt;br /&gt;
&lt;br /&gt;
{{cmdroot|find /usr -name memdisk}}&lt;br /&gt;
&lt;br /&gt;
If {{path|/usr/.../memdisk}} is not present, syslinux is not installed.  You will need to install it to boot a .IMG from GRUB.&lt;br /&gt;
&lt;br /&gt;
Copy both the '''FILENAME.IMG''' and '''memdisk''' files into {{path|/boot}} directory.  For example:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|cp ./FILENAME.IMG /usr/share/syslinux/memdisk /boot/}}&lt;br /&gt;
&lt;br /&gt;
Open {{path|/boot/grub/menu.lst}} in your favourite editor.  '''Copy''' the active section into a '''new section''', and edit the new section:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Parameter&lt;br /&gt;
! Instructions&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| ''title''  || Pick a name for the new section.  This will show up in the GRUB boot menu. || &amp;lt;tt&amp;gt;title IBM ECP Update&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| ''root''   || Do not change.  This is the partition containing the {{path|/boot}} directory       || &amp;lt;tt&amp;gt;root (hd0,0)&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| ''kernel'' || '''/boot/memdisk''' will allow you to boot an image file.                  || &amp;lt;tt&amp;gt;kernel /boot/memdisk&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| ''initrd'' || This is the name of the firmware-updater image file, e.g., 1IUJ13US.IMG    || &amp;lt;tt&amp;gt;initrd /boot/1IUJ13US.IMG&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Do '''not''' modify the original section in {{path|/boot/grub/menu.lst}}, or you might not be able to boot back to the operating system.&lt;br /&gt;
&lt;br /&gt;
If you have [[#Two_Firmwares:_BIOS_and_ECP|two firmware updates to do]], you will need a section for each firmware's FILENAME.IMG in {{path|/boot/grub/menu.lst}}.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|If both BIOS and ECP are to be updated, be sure to update them in the [[#Proper_Order|proper order]].}}&lt;br /&gt;
&lt;br /&gt;
{{WARN|By following any of the instructions here you are accepting the '''very real risk''' of turning your ThinkPad into a big expensive paper weight, as a firmware update gone wrong can create unfix-able problems.  '''Proceed at your own risk!'''}}&lt;br /&gt;
&lt;br /&gt;
Reboot your computer, entering the GRUB menu and selecting ''IBM BIOS Update'', or whatever you named the new section in {{path|/boot/grub/menu.lst}}.&lt;br /&gt;
&lt;br /&gt;
==== Successful tests ====&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; style=&amp;quot;font-size: 80%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Model&lt;br /&gt;
! BIOS&lt;br /&gt;
! ECP&lt;br /&gt;
! Tested by&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| {{R30}} 2656-64G || v.1.40            ||                   || [[User:english.voodoo|Yuri Spirin]] ||&lt;br /&gt;
|-&lt;br /&gt;
| {{R40}} 2723     || 1OHJ11WW.IMG      || 1PUJ25US.IMG      || [[User:qunying|Qunying]] || memdisk from syslinux 3.70 (slackware 12.1)&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} 2888     ||                   ||                   ||                          || &lt;br /&gt;
|-&lt;br /&gt;
| {{T40}} 2373     || 1RUJ37US.IMG      || 1RHJ10U2.IMG      || [[User:Euphoria|Euphoria]] || memdisk from syslinux 1:3.31-4 (Debian package version)&lt;br /&gt;
|-&lt;br /&gt;
| {{T40}} 2373     || 1RHJ10U2.IMG&amp;lt;br /&amp;gt;(3.04, 2004-11-15) || 1RUJ37US.IMG&amp;lt;br /&amp;gt;(3.23, 2007-07-03) || [[User:Morphics|Morphics]] || cabextract and memdisk from syslinux 3:1.36-4ubuntu5&lt;br /&gt;
|-&lt;br /&gt;
| {{T41}} 2373     || 1RUJ37US.IMG&amp;lt;br /&amp;gt;(3.23, 2007-07-03) || || [[User:Tonko|Tonko]] || Fedora 12&lt;br /&gt;
|-&lt;br /&gt;
| {{T41p}} 2373    || 1RUJ37US.IMG&amp;lt;br /&amp;gt;(3.23, 2007-07-03) ||  || [[User:Deggel|Deggel]] || cabextract and memdisk from syslinux 3.71 on gentoo &lt;br /&gt;
|-&lt;br /&gt;
| {{T41p}} 2373    ||  ||  || [[User:MrStaticVoid|James Lee]]   || &lt;br /&gt;
|-&lt;br /&gt;
| {{X31}} 2673-CBU ||  ||  || [[User:JanTopinski|Jan Topinski]] || &lt;br /&gt;
|-&lt;br /&gt;
| {{X31}} 2672-CXU ||  ||  || [[User:TheAnarcat|TheAnarcat]]    || &lt;br /&gt;
|-&lt;br /&gt;
| {{X31}} 2673-58G ||  ||  || [[User:FaUl|FaUl]]                || &lt;br /&gt;
|-&lt;br /&gt;
| {{X31}} 2672-PG9 ||  ||  || [[User:Starox|Starox]]            || a big moment between starting update and the updating window &lt;br /&gt;
|-&lt;br /&gt;
| {{X40}} 2371     || 2.07 1uuj21us.exe || 1.62 1uhj10us.exe || [[User:Antialize|Jakob Truelsen]] || Worked on two X40-2371 &lt;br /&gt;
|-&lt;br /&gt;
| {{X40}} 2386     || 2.08 1uuj22us.exe || 1.62 1uhj10us.exe || [[User:Antialize|Galen Seitz]] || memdisk from syslinux 3.61&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Unsuccessful tests ====&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; style=&amp;quot;font-size: 80%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Model&lt;br /&gt;
!  style=&amp;quot;width:10em;&amp;quot; | BIOS&lt;br /&gt;
! ECP&lt;br /&gt;
! Tested by&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}} 2668-F7G || 1.29 1YUJ18US.IMG ||  || [[User:Maus3273|Maus3273]] || I got into the bios program, but the machine never restarts after initiating the upgrade.&lt;br /&gt;
|-&lt;br /&gt;
| {{X41}} 2525-FAG || 2.09 74UJ15US     ||  || [[User:Ukleinek|Uwe Kleine-König]] || booted fine (Debian syslinux 2:3.71+dfsg-5), but didn't succeed to write, just hang at &amp;quot;Don't restart or remove diskette etc. pp&amp;quot; (not bricked).  Worked fine via CD method.&lt;br /&gt;
|- &lt;br /&gt;
| {{X41}} 2525-F8G || 2.06 74UJ12US.IMG&amp;lt;br /&amp;gt;2.07 74UJ13US.IMG&amp;lt;br /&amp;gt;2.09 74UJ15US.IMG ||  || [[User:ladoga|Lauri Koponen]] || hangs while initializing the actual BIOS flashing process&amp;lt;br /&amp;gt; ECP: 1.02 74HJ03US.IMG works&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Booting from a Floppy ===&lt;br /&gt;
{{WARN|Using a floppy disk '''is NOT recommended'''.}}&lt;br /&gt;
&lt;br /&gt;
This is how IBM/Lenovo intended it.  Use their .exe files to create a bootable floppy with the flash update on it.  Boot from the floppy and there you go.&lt;br /&gt;
&lt;br /&gt;
So, why is it not recommended?&lt;br /&gt;
# If something goes wrong, your ThinkPad may be permanently damaged&lt;br /&gt;
# Floppy disk drives are not reliable&lt;br /&gt;
# Floppy disks are not reliable&lt;br /&gt;
# It only works with /dev/fd0, meaning it won't work with a USB floppy&lt;br /&gt;
&lt;br /&gt;
So, even though Lenovo is now offering &amp;quot;Linux diskette&amp;quot; updaters, that will create a bootable floppy under Linux, using a floppy is still not recommended.  Besides, many people don't even ''have'' a floppy drive on their ThinkPad.&lt;br /&gt;
&lt;br /&gt;
If you really want to do it with a floppy, some tips:&lt;br /&gt;
* Use a clean (in the physical sense) floppy drive&lt;br /&gt;
* Use new floppies&lt;br /&gt;
* Test floppies for errors before starting update process&lt;br /&gt;
* Have multiple copies of the update disks ready--if one should fail, replace it with a copy&lt;br /&gt;
* Should DOS complain of a read error, '''only''' respond wth &amp;quot;Retry&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{NOTE|Should the system encounter a disk read error during the flash process, and you select &amp;quot;Abort&amp;quot;, your system could be permanently damaged.}}&lt;br /&gt;
&lt;br /&gt;
=== Booting from a USB Flash drive ===&lt;br /&gt;
{{HELP|Has anyone tested booting a firmware update image from a USB flash drive?  Perhaps using [http://unetbootin.sourceforge.net/ UNetbootin]?}}&lt;br /&gt;
&lt;br /&gt;
== Booting from a Network Boot Image ==&lt;br /&gt;
BIOS, ECP, CD/DVD and Harddisk firmware disks can be booted over the network with [http://syslinux.zytor.com/pxe.php PXELINX] as part of the [http://syslinux.zytor.com/ SYSLINUX] package.  This requires that you have a DHCP and tftp server configured and setup properly on your network, and is probably not for the faint of heart.&lt;br /&gt;
&lt;br /&gt;
Make sure the firmware bootdisk is in linux 'dd' format, as the self-extracting .exe disks from the IBM website cannot be booted directly as such.&lt;br /&gt;
&lt;br /&gt;
This worked on the {{R31}}, {{X22}}, {{T21}}, {{T30}} and {{T41p}} with various firmware updates.  On the {{X22}}, it worked with ECP 1.30 but '''not''' with BIOS 1.32&lt;br /&gt;
&lt;br /&gt;
=After updating=&lt;br /&gt;
Lenovo recommends reseting your BIOS settings to their factory defaults after a firmware update.&lt;br /&gt;
&lt;br /&gt;
==DMI IDs==&lt;br /&gt;
Please consider updating the [[List of DMI IDs]] after updating your BIOS.&lt;br /&gt;
&lt;br /&gt;
= Special Cases =&lt;br /&gt;
* In one case, see ([[APM setup on a type 2379 ThinkPad T40]]), it was not possible to upgrade the BIOS from Windows XP; a downgrade to Windows 98 was required to successfully run the BIOS upgrade app. The symptoms in this case were that, once the files had been extracted to the hard disk, and the machine was to reboot into the upgrade app, it would beep and hang just before reboot, requiring a power cycle. Once the power was cycled, it would simply reboot back into XP without performing any BIOS upgrade actions. So even if you have Windows, you may still need to use the info on this page.&lt;br /&gt;
&lt;br /&gt;
== Updating Thinkpad X Series ==&lt;br /&gt;
The special update instructions for {{X_Series}} Thinkpads are quite long. You can find them at the page [[BIOS_Upgrade/X_Series]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{{footnotes|&lt;br /&gt;
# For lots of detail on making and burning .iso files, see The Linux Documentation Project (tldp.org): [http://tldp.org/HOWTO/CD-Writing-HOWTO-3.html#ss3.1 3.1 Writing CD-ROMs (pure data)].&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Jidanni</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=User:Jidanni&amp;diff=38600</id>
		<title>User:Jidanni</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=User:Jidanni&amp;diff=38600"/>
		<updated>2008-08-15T17:28:17Z</updated>

		<summary type="html">&lt;p&gt;Jidanni: link to my homepage. Captcha doesn't work in my w3m browser&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See jidanni.org&lt;/div&gt;</summary>
		<author><name>Jidanni</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_reduce_power_consumption&amp;diff=38599</id>
		<title>How to reduce power consumption</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_reduce_power_consumption&amp;diff=38599"/>
		<updated>2008-08-15T17:23:48Z</updated>

		<summary type="html">&lt;p&gt;Jidanni: /* Hard Drives */ mention commit=nrsec&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Reducing system power consumption will extend battery life, reduce system&lt;br /&gt;
temperature and (on some models) reduce system fan noise.&lt;br /&gt;
Power consumption can be greatly improved from a stock distribution configuration&lt;br /&gt;
to a fine tuned system. The general rules are :&lt;br /&gt;
* Unload drivers for unused devices (ie. USB 1.1, Yenta/PCMCIA, Wireless, IRDA, Bluetooth, ...)&lt;br /&gt;
* Reduce polling on devices (drives, USB subsystem, nvram, use SATA AN, ...)&lt;br /&gt;
* Reduce hard drive activity&lt;br /&gt;
* Reduce LCD brightness to the minimum you can stand&lt;br /&gt;
* Reduce CPU wakeups, so it can stay longer in deep power saving c-states&lt;br /&gt;
* Make use of every hardware devices availables power saving features (AHCI ALPM, USB autosuspend, Alsa and Wireless powersaving modes, HPET timers, ...)&lt;br /&gt;
&lt;br /&gt;
==Tools==&lt;br /&gt;
Arjan van de Ven's [[PowerTOP]] utility&lt;br /&gt;
is a gold mine to improve energy efficiency, but is almost only CPU-oriented. This tool helps to easily detect&lt;br /&gt;
the top power offenders, both userland and kernel modules, which prevent the use of CPU power saving mechanisms and sometime suggest &lt;br /&gt;
fixes accordingly.&lt;br /&gt;
PowerTOP users collected some [http://www.lesswatts.org/projects/powertop/known.php tips &amp;amp; tricks]&lt;br /&gt;
and an informative [http://www.lesswatts.org/projects/powertop/faq.php faq].&lt;br /&gt;
&lt;br /&gt;
Alternatively (or complementary) to PowerTOP, running &amp;lt;code&amp;gt;strace -p $(pidof yourapp)&amp;lt;/code&amp;gt; &lt;br /&gt;
for all your favorite or background running applications while they are expected to be &lt;br /&gt;
idle, will show the misbehaviors.&lt;br /&gt;
&lt;br /&gt;
Beside CPU wakeups, disks spins are also power hungry. To detect what make your disk spinning,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 sysctl vm.block_dump=1&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
will list all applications causing disks wakeups on the kernel's dmesg.&lt;br /&gt;
Other useful tools for this purpose are blktrace, iostat and lm-profiler&lt;br /&gt;
(from laptop-mode-tools suite).&lt;br /&gt;
&lt;br /&gt;
See also [[#Misbehaving Userland]].&lt;br /&gt;
&lt;br /&gt;
==BIOS settings==&lt;br /&gt;
Some Thinkpad BIOS (like 2.08 BIOS on {{X40}}) offer two very lame options,&lt;br /&gt;
with a very misleading online help (saying &amp;quot;Usually not needed&amp;quot;). That's&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 CPU power management: (default disabled)&lt;br /&gt;
 PCI bus power management: (default disabled)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should indeed ''enable'' them, else the deepest C3 and C4 ACPI C-states&lt;br /&gt;
are disabled.&lt;br /&gt;
&lt;br /&gt;
==CPU==&lt;br /&gt;
Look at:&lt;br /&gt;
* [[How to make use of Dynamic Frequency Scaling]]&lt;br /&gt;
* [[Pentium M undervolting and underclocking]]&lt;br /&gt;
&lt;br /&gt;
A good thing to keep in mind is that every CPU wakeup, even if it's for&lt;br /&gt;
a trivial light job, reduce the time the CPU stays on a deep power&lt;br /&gt;
saving C-state (like C3 or C4). Therefore you should ensure your applications&lt;br /&gt;
stay really idle when they meant to be idle (track shorts select timeouts&lt;br /&gt;
in loop, etc. with [[PowerTOP]]).&lt;br /&gt;
&lt;br /&gt;
Also note that manually locking the CPU in the lowest P-state (frequency) &lt;br /&gt;
available is '''not''' an efficient way to improve battery lifetime. This will&lt;br /&gt;
cause the CPU to stay longer in C0 (power hungry C-state) doing hard work when &lt;br /&gt;
there is something to do, while it could have done this work faster by augmenting&lt;br /&gt;
the CPU freq, and returned back faster to a deeper, economic, C-state and to a&lt;br /&gt;
lower frequency (P-state).&lt;br /&gt;
The best is to let the kernel select the appropriates CPU frequencies by itself&lt;br /&gt;
with the help of in kernel CPU governors.&lt;br /&gt;
Have a look at [http://www.bughost.org/pipermail/power/2007-May/000166.html this explanation]&lt;br /&gt;
from Intel's kernel developer Arjan van de Ven.&lt;br /&gt;
&lt;br /&gt;
==Kernel settings and patches==&lt;br /&gt;
&lt;br /&gt;
===General settings===&lt;br /&gt;
The 2.6.21 kernel brought some very effective changes (like [[dynticks]]). &lt;br /&gt;
Later, 2.6.24-rc2 brought a lot of other power efficiency improvements. &lt;br /&gt;
If it's not already on your distribution and you value power efficiency, &lt;br /&gt;
you may think about compiling a recent kernel yourself. &lt;br /&gt;
&lt;br /&gt;
Here are a few options (beside the ACPI and APM related one) that matter to &lt;br /&gt;
reduce power consumption or to help diagnosing consumers:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 # From PowerTOP's FAQ:&lt;br /&gt;
 CONFIG_NO_HZ&lt;br /&gt;
 CONFIG_HIGH_RES_TIMERS&lt;br /&gt;
 CONFIG_HPET&lt;br /&gt;
 CONFIG_HPET_TIMER&lt;br /&gt;
 CONFIG_CPU_FREQ_GOV_ONDEMAND&lt;br /&gt;
 CONFIG_USB_SUSPEND&lt;br /&gt;
 CONFIG_SND_AC97_POWER_SAVE&lt;br /&gt;
 CONFIG_SND_HDA_POWER_SAVE&lt;br /&gt;
 CONFIG_SND_HDA_POWER_SAVE_DEFAULT=3&lt;br /&gt;
 CONFIG_TIMER_STATS&lt;br /&gt;
 CONFIG_ACPI_BATTERY&lt;br /&gt;
 CONFIG_CPU_FREQ_STAT&lt;br /&gt;
 CONFIG_INOTIFY&lt;br /&gt;
&lt;br /&gt;
 # Not from the PowerTOP FAQ:&lt;br /&gt;
 CONFIG_BLK_DEV_IO_TRACE&lt;br /&gt;
 CONFIG_X86_ACPI_CPUFREQ&lt;br /&gt;
 CONFIG_X86_SPEEDSTEP_CENTRINO depreciated as of kernel 2.6.24, use CONFIG_X86_ACPI_CPUFREQ&lt;br /&gt;
 CONFIG_X86_SPEEDSTEP_ICH&lt;br /&gt;
 CONFIG_X86_SPEEDSTEP_SMI&lt;br /&gt;
 CONFIG_CPU_IDLE&lt;br /&gt;
 CONFIG_CPU_IDLE_GOV_LADDER&lt;br /&gt;
 CONFIG_CPU_IDLE_GOV_MENU&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Those options are already in Fedora Core 7 and Ubuntu Gutsy (not Feisty) default i686 kernels.&lt;br /&gt;
PowerTOP FAQ also suggest to '''disable'''&lt;br /&gt;
CONFIG_IRQBALANCE and CONFIG_ACPI_DEBUG.&lt;br /&gt;
&lt;br /&gt;
Also, you need to properly set APM and ACPI. Look at:&lt;br /&gt;
* [[Power Management]]&lt;br /&gt;
* [[How to make use of Power Management features]]&lt;br /&gt;
&lt;br /&gt;
=== Kernel boot and module loading options ===&lt;br /&gt;
If you have an Intel chipset &amp;gt; ICH3 (cf. lspci output), as in most modern Thinpads, you should&lt;br /&gt;
be using the integrated HPET timer (saves about 30 CPU wake ups per second). To see if&lt;br /&gt;
hpet is enabled on your laptop :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 grep hpet /proc/timer_list&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If this does not display &amp;quot;Clock Event Device: hpet&amp;quot;, then add &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 hpet=force&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to your kernel boot options (usualy in /boot/grub/menu.lst or lilo.conf). &lt;br /&gt;
Note that &amp;quot;hpet=force&amp;quot; is only available by default in 2.6.24-rc2 and above &lt;br /&gt;
(or as a separated patch for 2.6.22 and 2.6.23, see below).&lt;br /&gt;
&lt;br /&gt;
===Useful Patches===&lt;br /&gt;
&lt;br /&gt;
Thomas Gleixner High Resolution Timers (hrt) patchset brings many improvements,&lt;br /&gt;
like the cpuidle work and Udo A. Steinberg and Venki Pallipadi &amp;quot;force&lt;br /&gt;
enable HPET&amp;quot; patches (non HPET timers causes about 20-40 CPU wakeups/second, but&lt;br /&gt;
HPET is often hidden by the BIOS due to Windows XP deficiencies). Those are &lt;br /&gt;
fully merged in 2.6.24-rc1 vanilla kernel.&lt;br /&gt;
See http://www.tglx.de/projects/hrtimers/&lt;br /&gt;
&lt;br /&gt;
Kristen Carlson Accardi from Intel has a patchset to turn on &amp;quot;Aggressive&lt;br /&gt;
Link Power Management&amp;quot; (ALPM) for the AHCI driver (for SATA bus). Also from&lt;br /&gt;
Accardi, SATA Asynchronous Notification (SATA AN), alows SATA link to notify&lt;br /&gt;
media insertions (thus avoid hal polling the cdrom). Those patches were merged &lt;br /&gt;
in 2.6.24-rc2 kernel (AN needs also support in hal to be used).&lt;br /&gt;
See: http://www.kernel.org/pub/linux/kernel/people/kristen/patches/SATA/alpm/&lt;br /&gt;
&lt;br /&gt;
As of now (2.6.24-rc8), the linux kernel doesn't support PCI Express power &lt;br /&gt;
management (aka PCIe ASPM, aka PCIe LPM). Shaohua Li from Intel submited a &lt;br /&gt;
patch on LKML (http://lkml.org/lkml/2008/1/17/544 ) though, and reported it &lt;br /&gt;
to reduce power consumption by 1.3 watts for a system with three PCIe links.&lt;br /&gt;
&lt;br /&gt;
The [[HDAPS]] disk protection systems can reduce battery life. &lt;br /&gt;
Matthew Garrett provides [http://www.linuxpowertop.org/patches/hdaps.patch a patch]&lt;br /&gt;
that prevents hdaps kernel module to generate interrupts when&lt;br /&gt;
this feature isn't used.&lt;br /&gt;
&lt;br /&gt;
===Useful sysctls===&lt;br /&gt;
The meaning of those settings is explained case by case on the relevant &lt;br /&gt;
sections of this document. But for convenience sake, we group them here too.&lt;br /&gt;
&lt;br /&gt;
Note that the &amp;quot;ondemand&amp;quot; scaling governor is recommended by Intel developers&lt;br /&gt;
for energy efficiency: it's expected to be more efficient than the &amp;quot;powersave&amp;quot;&lt;br /&gt;
governor, or than userspace daemons (like cpufreq-utils, cpufreqd, powernowd...).&lt;br /&gt;
Look [http://www.bughost.org/pipermail/power/2007-May/000071.html here],&lt;br /&gt;
[http://www.bughost.org/pipermail/power/2007-May/000073.html here], or&lt;br /&gt;
[http://www.bughost.org/pipermail/power/2007-May/000166.html here] for a&lt;br /&gt;
kernel developer explanation about &amp;quot;ondemand&amp;quot; being better on modern Intel CPUs.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;link_power_management_policy&amp;quot; tunable won't be available unless you&lt;br /&gt;
run a 2.6.24-rc2 or more kernel, or applied Kirsten patchset, have an Intel &lt;br /&gt;
AHCI compatible chipset, and use SATA drives.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 echo 5 &amp;gt; /proc/sys/vm/laptop_mode&lt;br /&gt;
 echo 0 &amp;gt; /proc/sys/kernel/nmi_watchdog&lt;br /&gt;
 echo Y &amp;gt; /sys/module/snd_ac97_codec/parameters/power_save&lt;br /&gt;
 echo 1 &amp;gt; /sys/devices/system/cpu/sched_mc_power_savings&lt;br /&gt;
 echo ondemand &amp;gt; /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor&lt;br /&gt;
 echo 1500 &amp;gt; /proc/sys/vm/dirty_writeback_centisecs&lt;br /&gt;
 for i in /sys/bus/usb/devices/*/power/autosuspend; do echo 1 &amp;gt; $i; done&lt;br /&gt;
 # those sysctl's are only available if you have an AHCI compatible SATA &lt;br /&gt;
 # controler and use kernel &amp;gt; 2.6.24-rc2 (or use Kristen ALPM patchset) : &lt;br /&gt;
 echo min_power &amp;gt; /sys/class/scsi_host/host0/link_power_management_policy&lt;br /&gt;
 echo min_power &amp;gt; /sys/class/scsi_host/host1/link_power_management_policy&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you're running a kernel older than 2.6.22 do this. Not needed for kernels 2.6.22 onward:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 cd /sys/devices/system/cpu/cpu0/cpufreq&lt;br /&gt;
 cat ondemand/sampling_rate_max &amp;gt; ondemand/sampling_rate&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ATA drives==&lt;br /&gt;
Hard drives and CDRom drives spinning is very costly. To improve battery&lt;br /&gt;
lifetime, you should reduce disks access (or devices polling) the more you&lt;br /&gt;
can.  &lt;br /&gt;
&lt;br /&gt;
===Hard Drives===&lt;br /&gt;
The files access time update, while mandated by POSIX, is causing lots of&lt;br /&gt;
disks access; even accessing files on disk cache may wake the ATA or USB&lt;br /&gt;
bus. If you don't use this feature, disable it via:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 mount -o remount,noatime /  # and so on for all mounted fs&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also consider merely using a larger value for&lt;br /&gt;
 commit=nrsec&lt;br /&gt;
 Sync all data and metadata every nrsec seconds. The default value is 5 seconds.&lt;br /&gt;
See man mount(8).&lt;br /&gt;
&lt;br /&gt;
The laptop_mode reduce disk usage by regrouping writes. You should enable&lt;br /&gt;
it, at least while on battery. See [[Laptop-mode]] for more details:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 echo 5 &amp;gt; /proc/sys/vm/laptop_mode&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default kernel dirty page writeback frequency is very conservative. On&lt;br /&gt;
a laptop running on battery, one might find more appropriate to reduce it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 echo 1500 &amp;gt; /proc/sys/vm/dirty_writeback_centisecs&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some power saving hard drives features can be activated with hdparm (beware&lt;br /&gt;
that &amp;quot;-B 1&amp;quot; may reduce your drive lifetime, if you have lot of intermittent&lt;br /&gt;
disk activity causing lots of heads load/unloads: so reduce I/O activity first,&lt;br /&gt;
as explained above, in order to get longer disks idling periods).&lt;br /&gt;
For more details look at [[How to make use of Power Management features]] :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
 hdparm -B 1 -S 12 /dev/sda # and/or any other disk device&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====SATA Link Power Management====&lt;br /&gt;
On kernels 2.6.24 and new this enables SATA Link Power Management:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 echo min_power &amp;gt; /sys/class/scsi_host/host0/link_power_management_policy&lt;br /&gt;
 echo min_power &amp;gt; /sys/class/scsi_host/host1/link_power_management_policy&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Disable it by replacing &amp;lt;code&amp;gt;min_power&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;max_performance&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
On Hardy Heron with a 2.6.24-16 kernel, a suspend/resume cycle is much quicker if you disable SATA Link Power Management before initiating the suspend. [[https://bugs.launchpad.net/linux/+bug/234047 Launchpad bug 234047]]&lt;br /&gt;
&lt;br /&gt;
===Optical drive===&lt;br /&gt;
The optical drive is reported to consume power even when not accessed. See &lt;br /&gt;
&lt;br /&gt;
* [[How to hotswap UltraBay devices|Eject the UltraBay optical drive]], or just turn off its power supply (i.e., run the appropriate eject script but leave the drive inserted).&lt;br /&gt;
* [[How to set optical drive speed|Reduce the spinning speed of the optical drive]].&lt;br /&gt;
&lt;br /&gt;
The hald daemon polling tends to maintain the ATA buses out of power saving&lt;br /&gt;
modes, and to wakeup CDROM drive (except if you have a kernel &amp;gt;= 2.6.24, hal &amp;gt;= 0.5.10,&lt;br /&gt;
and SATA AN compatible devices). If you have a recent hald version, you&lt;br /&gt;
can stop this polling when on battery:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 hal-disable-polling --device /dev/scd0 # or whatever your CD drive is&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
start polling again when on ac:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 hal-disable-polling --enable-polling --device /dev/scd0 # or whatever your CD drive is&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If your hald is not recent enough, consider suspending it when running on battery. Some moderns SATA buses and drivers supports a notification mechanism (SATA AN - Asynchronous Events Notifications) that obsolete the need for polling on modern hardware; support for this feature had been merged in Linux 2.6.24-rc1 and HAL 0.5.10.&lt;br /&gt;
&lt;br /&gt;
==LCD Backlight/Brightness==&lt;br /&gt;
The LCD backlight is one of the very major power drain. &lt;br /&gt;
Reducing brightness to the lowest readable&lt;br /&gt;
level will save a lot of battery lifetime. Also, don't forget to configure&lt;br /&gt;
your screen saver to shutdown the screen backlight (rather than displaying some&lt;br /&gt;
eye candy), when no activity for a few minutes.&lt;br /&gt;
&lt;br /&gt;
You can also let the system [[automatically reduce brightness]] after a &lt;br /&gt;
period of inactivity.&lt;br /&gt;
&lt;br /&gt;
If you're choosing your Thinkpad laptop model, keep in mind that the screen&lt;br /&gt;
size affect the battery time greatly: more power needed for larger screens.&lt;br /&gt;
&lt;br /&gt;
The very recent, but xorg standard way to control backlight from CLI is&lt;br /&gt;
using xbacklight. ie. to set backlight at half the brightness:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 xbacklight -set 50&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should configure the DPMS to shutdown the screen when idle (rather than&lt;br /&gt;
displaying a fancy but power consuming screensaver). ie. to turn off the&lt;br /&gt;
display after 5mn of idling:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 xset +dpms&lt;br /&gt;
 xset dpms 0 0 300&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Graphic controllers==&lt;br /&gt;
All xorg Thinkpad graphics chipsets drivers (ati, radeon, fglrx, i810) have&lt;br /&gt;
the same bug causing very frequent CPU wakeups when DRI is activated, even&lt;br /&gt;
when you don't use any 3D application.&lt;br /&gt;
This problem is partly fixed on xorg git tree but not released as of xorg&lt;br /&gt;
7.2. If you value more battery than 3D, you should disable DRI: put this on&lt;br /&gt;
the /etc/X11/xorg.conf &amp;quot;Device&amp;quot; of you graphic controller:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Option          &amp;quot;NoDRI&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also be sure that DPMS is working: &amp;lt;code&amp;gt;grep DPMS /var/log/Xorg.0.log&amp;lt;/code&amp;gt;&lt;br /&gt;
should output &amp;quot;DPMS enabled&amp;quot;. If not, put &amp;lt;code&amp;gt;Option &amp;quot;DPMS&amp;quot;&amp;lt;/code&amp;gt; in your config.&lt;br /&gt;
See the section above about how to enable dpms driven display power saving.&lt;br /&gt;
&lt;br /&gt;
On recent xrandr/xorg versions, you can disable the TV output (or any other detected&lt;br /&gt;
as connected but not used outputs) when you're not using it: it's known to consume power. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
 xrandr # see all displays listed here, but that you don't actually use and disable them. &lt;br /&gt;
 xrandr --output TV --off # for instance (if &amp;quot;xrandr&amp;quot; above listed a connected output named &amp;quot;TV&amp;quot; that you don't use)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When you don't have an external monitor plugged, disable CRT and DVI output &lt;br /&gt;
(for some, this can make a difference in power usage) : &lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
 echo crt_disable &amp;gt; /proc/acpi/ibm/video&lt;br /&gt;
 echo dvi_disable &amp;gt; /proc/acpi/ibm/video&lt;br /&gt;
&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Some drivers have specials power saving mode, and/or allows underclocking the GPU. See also:&lt;br /&gt;
* [[How to make use of Graphics Chips Power Management features]], or with [[Rovclock]] on ATI.&lt;br /&gt;
* [[Problem with high power drain in ACPI sleep]]&lt;br /&gt;
&lt;br /&gt;
==USB Subsystem==&lt;br /&gt;
The kernel support an efficient USB 2.0 power saving feature if you enabled&lt;br /&gt;
CONFIG_USB_SUSPEND. This may not trigger in when you have an USB device&lt;br /&gt;
plugged (and beside, USB devices tends to suck power on their own), so avoid&lt;br /&gt;
using such devices when on battery. To enable it by default, you must add the line &lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
options usbcore autosuspend=1&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
to your &amp;lt;tt&amp;gt;/etc/modprobe.conf&amp;lt;/tt&amp;gt; or add it to (and create if necessary) the file &amp;lt;tt&amp;gt;/etc/modprobe.d/usbcore&amp;lt;/tt&amp;gt; depending on how your distribution organises modprobe configuratoin. &lt;br /&gt;
&lt;br /&gt;
If on the other hand, you have &amp;lt;tt&amp;gt;usbcore&amp;lt;/tt&amp;gt; built into your kernel, you can add this in the kernel boot options (ie. in grub's menu.lst):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 usbcore.autosuspend=1&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or at runtime, per device, with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 for i in /sys/bus/usb/devices/%s/power/autosuspend; do echo 1 &amp;gt; $i; done&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
USB 1.1 is worst. It needs polling the bus frequently, hence can't really go&lt;br /&gt;
in a low power mode when you enabled it, even if you don't have any device&lt;br /&gt;
plugged. You'd better remove it when you don't use a 1.1 device:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 rmmod uhci_hcd&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you don't intend to use any device needing USB 1.1 (unfortunately, the built-in bluetooth and fingerprint-reader are USB 1.1 devices), the USB 1.1 support can also be totally avoided. On Debian and derivatives, just do:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 echo &amp;quot;blacklist uhci_hcd&amp;quot; &amp;gt;&amp;gt; /etc/modprobe.d/blacklist&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==PCMCIA/CardBus==&lt;br /&gt;
Same for PCMCIA/CardBus. Some users experiences interrupts clouds (sometime up to &lt;br /&gt;
several thousands interrupts/second) causing CPU wakeups, thus totally preventing &lt;br /&gt;
the CPU to reach lower C-states. &lt;br /&gt;
If you don't use PCMCIA, you may disable it the same way (unloading seems insufficient&lt;br /&gt;
to restore the system properly, you have to boot without it):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 echo &amp;quot;blacklist pcmcia&amp;quot; &amp;gt;&amp;gt; /etc/modprobe.d/blacklist&lt;br /&gt;
 echo &amp;quot;blacklist yenta_socket&amp;quot; &amp;gt;&amp;gt; /etc/modprobe.d/blacklist&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Sound==&lt;br /&gt;
ALSA has a power saving feature that should be enabled on your kernel&lt;br /&gt;
(CONFIG_SND_AC97_POWER_SAVE). Note that this low power mode won't trigger in&lt;br /&gt;
unless you muted all sound inputs (micro, line in etc.). This feature has&lt;br /&gt;
to be activated with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 amixer set Line mute nocap&lt;br /&gt;
 amixer set Mic mute nocap&lt;br /&gt;
 echo Y &amp;gt; /sys/module/snd_ac97_codec/parameters/power_save&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More radical: you can unload all sound related modules when you are on &lt;br /&gt;
battery, or mute the sound system (echo mute &amp;gt; /proc/acpi/ibm/volume).&lt;br /&gt;
&lt;br /&gt;
See also [[How to enable audio codec power saving]].&lt;br /&gt;
&lt;br /&gt;
==Wireless Interface==&lt;br /&gt;
===intel wireless===&lt;br /&gt;
Wireless network consume a lot of power.&lt;br /&gt;
To save power, you can kill the Wi-Fi radio when it's not in use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 echo 1 &amp;gt; /sys/bus/pci/devices/*/rf_kill&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you need Wi-Fi, you can also reduce power consumption (at the price of&lt;br /&gt;
performances) by activating the power saving modes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 iwpriv eth1 set_power 5&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For drivers using the new Wi-Fi kernel framework (mac80211/cfg80211), &lt;br /&gt;
the canonical way to do this is now:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 for i in /sys/bus/pci/devices/*/power_level ; do echo 5 &amp;gt; $i ; done&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Most drivers, like ipw2200, that don't use the new mac80211 framework place the&lt;br /&gt;
interfaces in aggressive scanning mode when they are not associated with any &lt;br /&gt;
Access Point, even when the interface is down (more info about this on Intel's&lt;br /&gt;
[http://www.lesswatts.org/tips/wireless.php LessWatts] website).&lt;br /&gt;
This behavior consumes a lot of power, even more than when the interface&lt;br /&gt;
is plain active and in use. But this can disabled at module's load time :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 rmmod ipw2200&lt;br /&gt;
 modprobe ipw2200 associate=0&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can fix this setting by placing the following in /etc/modprobe.d/options &lt;br /&gt;
(Debian/Ubuntu) or in /etc/modprobe.conf (Red Hat/Fedora):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 options ipw2200 associate=0&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reducing beacon intervals on your Access Point to 1 per second will also&lt;br /&gt;
reduce network card interrupts, therefore power savings. This shouldn't have&lt;br /&gt;
negatives side effects.&lt;br /&gt;
&lt;br /&gt;
See also, to activate power saving on the wireless network card:&lt;br /&gt;
* For [[Intel PRO/Wireless 2200BG Mini-PCI Adapter]] and [[Intel PRO/Wireless 2915ABG Mini-PCI Adapter]], see instructions for the [[ipw2200]] driver.&lt;br /&gt;
* For [[Intel PRO/Wireless 3945ABG Mini-PCI Express Adapter]], see the [http://ipw3945.sourceforge.net/README.ipw3945 ipw3945 driver README]&lt;br /&gt;
&lt;br /&gt;
==Ethernet Controler==&lt;br /&gt;
If you don't use Wake-on-LAN, you should disable it for your network card,&lt;br /&gt;
because it sucks a lot of power:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 ethtool -s eth0 wol d&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you can, try to reduce useless network activity on your ethernet&lt;br /&gt;
segment, coming to your NIC (ie. uneeded broadcasts), those cause &lt;br /&gt;
interrupts and CPU wakeups.&lt;br /&gt;
&lt;br /&gt;
Forcing 100Mbps full-duplex speed on a gigabit ethernet NIC can also save a lot of power (~1W) on most network workloads. This also reduces components temperature (e.g., [[Thermal Sensors|thermal sensor]] 0xC0 on the {{T43}} cools down by 5 degree between 1000Mbps and 100Mbps, and another 1 degree for 10Mbps).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  ethtool -s eth0 autoneg off speed 100&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note, however, that if the network device on the other side has auto-negotiation enabled (which is very common) and you turn auto-negotiation off, the other side will assume half-duplex mode and you will experience a significant loss of performance.&lt;br /&gt;
&lt;br /&gt;
==Bluetooth==&lt;br /&gt;
When you don't need bluetooth, disable it. Because of its radio, &lt;br /&gt;
bluetooth is not power friendly.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 hciconfig hci0 down ; rmmod hci_usb&lt;br /&gt;
 echo disable &amp;gt; /proc/acpi/ibm/bluetooth&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Modem==&lt;br /&gt;
When was the last time you used your analog modem? If you can't remember, you probably just don't need it. If it is on a separate module in your laptop, simply remove it. Store it in a ESD safe place (like the bag in which your last addon card or hard drive was packed), in case you should need it again. This won't save you a lot of power and weight, but why carry something around you never use.&lt;br /&gt;
&lt;br /&gt;
==System Fans==&lt;br /&gt;
Fans consumes power when running, so you may look at the [[ACPI fan control script]].&lt;br /&gt;
&lt;br /&gt;
==Misbehaving Userland==&lt;br /&gt;
You should avoid using Beagle, Compiz, Beryl, XMMS, gnome-power-manager&lt;br /&gt;
and Evolution while on battery.&lt;br /&gt;
Look at the PowerTOP's [http://www.linuxpowertop.org/known.php known problems]&lt;br /&gt;
list.&lt;br /&gt;
&lt;br /&gt;
Deactivate desktop animations (blinking cursor on the terms, animated wallpapers, ...): they cause regular X (therefore kernel and CPU) wakeups.&lt;br /&gt;
&lt;br /&gt;
In short, while on battery, you should stop all applications that don't really stay idle when you're not using them. This means applications that:&lt;br /&gt;
* Wakes up the CPU too often (by polling something, because of too short select() timeouts, ...)&lt;br /&gt;
* Access the disks at regular intervals&lt;br /&gt;
* Access an hardware bus (USB, ATA, ...) at regular intervals&lt;br /&gt;
To find those offenders run:&lt;br /&gt;
* &amp;lt;code&amp;gt;strace -p $(pidof yourapp)&amp;lt;/code&amp;gt; # for all your running applications&lt;br /&gt;
* &amp;lt;code&amp;gt;powertop&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;sysctl vm.block_dump=1&amp;lt;/code&amp;gt; # and look at dmesg&lt;br /&gt;
* &amp;lt;code&amp;gt;ps aux | awk '{print$10,$11}' | sort -n&amp;lt;/code&amp;gt; # will list all running softs sorted by used cpu time&lt;br /&gt;
Please, don't forget to fill a bug when you find such a misbehaving software.&lt;br /&gt;
{{NOTE|Not all software is evil, buggy or badly written. Some produce regular activity because they have to, in order to provide their intented functionality.  Think twice before filling bugs about this.}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[How to measure power consumption]]&lt;br /&gt;
* [[Script for monitoring power consumption]]&lt;br /&gt;
* Battery [[maintenance]]&lt;br /&gt;
&lt;br /&gt;
==External resources==&lt;br /&gt;
* [http://www.free-it.de/archiv/talks_2005/paper-11017/paper-11017.html ''Current trends in Linux Kernel Power Management''], Dominik Brodowski, 2005&lt;br /&gt;
* [http://www.linuxpowertop.org PowerTOP] website&lt;br /&gt;
* [http://www.gentoo.org/doc/en/power-management-guide.xml Power Management Guide] from the Gentoo Linux documentation&lt;br /&gt;
* [http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/2005-November/030478.html When/where/what for low power consumption?] (thread on Linux-Thinkpad)&lt;br /&gt;
* Intel's [http://www.lesswatts.org/ LessWatts] &amp;quot;''Saving power on Linux''&amp;quot; website&lt;br /&gt;
* ''8 hours of battery life on your lap(top)'' ([http://atrey.karlin.mff.cuni.cz/~pavel/swsusp/8hours.odp ODP]/[http://atrey.karlin.mff.cuni.cz/~pavel/swsusp/8hours.pdf PDF]), a presentation by Pavel Machek&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:600X]] [[Category:A20m]] [[Category:A20p]] [[Category:A21e]] [[Category:A21m]] [[Category:A21p]] [[Category:A22e]] [[Category:A22m]] [[Category:A22p]] [[Category:A30]] [[Category:A30p]] [[Category:A31]] [[Category:A31p]] [[Category:i1200]] [[Category:i1300]] [[Category:i1620]] [[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:R60]] [[Category:R60e]] [[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:T60]] [[Category:T60p]] [[Category:T61]] [[Category:X20]] [[Category:X21]] [[Category:X22]] [[Category:X23]] [[Category:X24]] [[Category:X30]] [[Category:X31]] [[Category:X32]] [[Category:X40]] [[Category:X41]] [[Category:X41 Tablet]] [[Category:X60]] [[Category:X60s]] [[Category:X61]] [[Category:X61s]]  [[Category:Z60m]] [[Category:Z60t]] [[Category:Z61t]] [[Category:Z61e]] [[Category:TransNote]]&lt;/div&gt;</summary>
		<author><name>Jidanni</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Problem_with_fan_noise&amp;diff=20465</id>
		<title>Talk:Problem with fan noise</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Problem_with_fan_noise&amp;diff=20465"/>
		<updated>2006-02-28T21:40:31Z</updated>

		<summary type="html">&lt;p&gt;Jidanni: R50e with CELERON M: fan for life&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Problem with fan noise on R51 1829 L7G (ATI M9) ==&lt;br /&gt;
&lt;br /&gt;
On my R51 the fan is behaving like this:&lt;br /&gt;
&lt;br /&gt;
* &amp;gt; 45C -&amp;gt; fan on;&lt;br /&gt;
* &amp;lt; 38C -&amp;gt; fan off.&lt;br /&gt;
&lt;br /&gt;
By using cpufreq + laptop_mode + Xorg DynamicClocks + WiFi power management, I get the fan stopped time to time, but only for 3 minutes time (transition from 38 C -&amp;gt; 45 C). The cooling down cycle is taking 20 minutes in the best case.&lt;br /&gt;
&lt;br /&gt;
I knew about the 'ibm_acpi experimental=1' trick, but in my opinion this is not very useful since nobody can guarantee that a temperature greater then 45 C will not damage the laptop and in the same time the transition time is very short (the laptop gets hot fast without fan).&lt;br /&gt;
&lt;br /&gt;
== Thinkpad T42 Radeon Mobility M7 ==&lt;br /&gt;
&lt;br /&gt;
When Xorg is running, the fan is always on and pretty loud !&lt;br /&gt;
Setting DynamicClocks does not help&lt;br /&gt;
&lt;br /&gt;
it's clear that the GPU is the problem on the thinkpad :&lt;br /&gt;
&lt;br /&gt;
after 10minutes with the fan off&lt;br /&gt;
temperatures:   44 47 33 52 32 -128 24 -128&lt;br /&gt;
&lt;br /&gt;
1:  CPU&lt;br /&gt;
2:  Mini PCI Module&lt;br /&gt;
3:  HDD&lt;br /&gt;
4:  GPU&lt;br /&gt;
5:  Battery&lt;br /&gt;
6:  N/A&lt;br /&gt;
7:  Battery&lt;br /&gt;
8:  N/A&lt;br /&gt;
&lt;br /&gt;
Controlling the fan speed would be really cool !&lt;br /&gt;
&lt;br /&gt;
What is the maximum temperature not to cross ?&lt;br /&gt;
----&lt;br /&gt;
Word on the 'net is that 85 degrees is the max operating temp for most of the Intel chips.  I've seen some high 70's all the time (just put it on carpet for awhile and play some quake3 :).  I wouldn't let your processor get much higher than 85...&lt;br /&gt;
----&lt;br /&gt;
&amp;quot;Word on the net&amp;quot; is usually synonym to bullshit.  The datasheets are available for download at Intel's site, go read them.  For the P4, 80C is the absolute maximum limit, and in the newer Pentiums, the chip itself will MCE and enable clock modulation if you try to make it exceed 80C.  I didn't read the new Pentium-M's datasheet yet.&lt;br /&gt;
&lt;br /&gt;
Letting the machine run hot is not a good idea, anyway. It shortens its lifespan considerably, especially the harddrive's. Don't play games with this.&lt;br /&gt;
----&lt;br /&gt;
Older versions of xorg (i.e. 6.7.0) don't seem to be able to use the DynamicClocks option although it's set in the xorg.conf. Search the log to find out if it's really used.&lt;br /&gt;
&lt;br /&gt;
== Thinkpad R32 with Radeon Mobility M6 ==&lt;br /&gt;
&lt;br /&gt;
Updating xorg-x11 from 6.7.0 to 6.8.2 and using Speedstep (with the ondemand module in this case) helped cooling the system down significantly:&lt;br /&gt;
&lt;br /&gt;
* before updating the CPU was ~62 C in idle state, and got very near the critical temperature (72 C) during heavy load - I even got some freezes because of the heat ;)&lt;br /&gt;
* after the update the CPU is ~54 C in idle state, and still gets to about 68 C while under heavy load&lt;br /&gt;
&lt;br /&gt;
The second sensor (which may be the GPU) is somehow fixed to 50 C (maybe a bug?)&lt;br /&gt;
&lt;br /&gt;
The fan on the R32 is behaving like this:&lt;br /&gt;
&lt;br /&gt;
* &amp;gt; 61 -&amp;gt; fan in state 2 (quite noisy)&lt;br /&gt;
* &amp;lt; 55 -&amp;gt; fan in state 1 (less noisy :) )&lt;br /&gt;
&lt;br /&gt;
But I remember using my old SuSE distribution with kernel 2.4.16, apm and some old x11 version the fan actually stopped completely from time to time.&lt;br /&gt;
&lt;br /&gt;
Concerning the maximum temperature of the CPU, I found that the critical temperature on the R32 for the CPU sensor is 72 C&lt;br /&gt;
(using {{cmdroot|cat /proc/acpi/thermal_zone/THM0/trip_points }} )&lt;br /&gt;
&lt;br /&gt;
== Fan Control script: more safe version ==&lt;br /&gt;
&lt;br /&gt;
ibm_acpi works well on my R50 and R51.  But to rely on it completely, I modified the script in two ways:&lt;br /&gt;
&lt;br /&gt;
1. It catches verious signals and turns the fan on before it quits&lt;br /&gt;
&lt;br /&gt;
2. It turns off the fan under very strict conditions, leaving it on when unexpected errors occur.&lt;br /&gt;
&lt;br /&gt;
Here is my script:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 # july 2005 Erik Groeneveld, erik@cq2.nl&lt;br /&gt;
 # More conservatiev and saver version&lt;br /&gt;
 # It make sure the fan is on in case of errors&lt;br /&gt;
 # and only turns it off when all temps are ok.&lt;br /&gt;
 &lt;br /&gt;
 IBM_ACPI=/proc/acpi/ibm&lt;br /&gt;
 THERMOMETER=$IBM_ACPI/thermal&lt;br /&gt;
 FAN=$IBM_ACPI/fan&lt;br /&gt;
 MAXTRIPPOINT=65&lt;br /&gt;
 MINTRIPPOINT=60&lt;br /&gt;
 TRIPPOINT=$MINTRIPPOINT&lt;br /&gt;
 &lt;br /&gt;
 echo fancontrol: Thermometer: $THERMOMETER, Fan: $FAN&lt;br /&gt;
 echo fancontrol: Current `cat $THERMOMETER`&lt;br /&gt;
 echo fancontrol: Controlling temperatures between $MINTRIPPOINT and $MAXTRIPPOINT degrees.&lt;br /&gt;
 &lt;br /&gt;
 # Make sure the fan is turned on when the script crashes or is killed&lt;br /&gt;
 trap &amp;quot;echo enable &amp;gt; $FAN; exit 0&amp;quot; HUP KILL INT ABRT STOP QUIT SEGV TERM&lt;br /&gt;
 &lt;br /&gt;
 while [ 1 ];&lt;br /&gt;
 do&lt;br /&gt;
        command=enable&lt;br /&gt;
        temperatures=`sed s/temperatures:// &amp;lt; $THERMOMETER`&lt;br /&gt;
        result=&lt;br /&gt;
        for temp in $temperatures&lt;br /&gt;
        do&lt;br /&gt;
                test $temp -le $TRIPPOINT &amp;amp;&amp;amp; result=$result.Ok&lt;br /&gt;
        done&lt;br /&gt;
        if [ &amp;quot;$result&amp;quot; = &amp;quot;.Ok.Ok.Ok.Ok.Ok.Ok.Ok.Ok&amp;quot; ]; then&lt;br /&gt;
                command=disable&lt;br /&gt;
                TRIPPOINT=$MAXTRIPPOINT&lt;br /&gt;
        else&lt;br /&gt;
                command=enable&lt;br /&gt;
                TRIPPOINT=$MINTRIPPOINT&lt;br /&gt;
        fi&lt;br /&gt;
        echo $command &amp;gt; $FAN&lt;br /&gt;
        # Temperature ramps up quickly, so pick this not too large:&lt;br /&gt;
        sleep 5&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
I added this script to the other ones. Don't wander about my talk edits, i didn't realize i was on the talk page. [[User:Wyrfel|Wyrfel]] 01:48, 13 Aug 2005 (CEST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== X41 ==&lt;br /&gt;
&lt;br /&gt;
Same fan problem here on the X41. Once it starts it won't stop (unless it is _very_ cold outside). Undervolting the CPU doesn't help - still the same problem.&lt;br /&gt;
&lt;br /&gt;
== Fan speed control? ==&lt;br /&gt;
&lt;br /&gt;
Only the X31 and X40 have an ACPI method for controlling the FAN speed (this is why ibm_acpi provides this functionality just for these models).&lt;br /&gt;
&lt;br /&gt;
What will happen if we take the &amp;quot;FANS&amp;quot; method from the  [http://acpi.sourceforge.net/dsdt/view.php?id=219 X40 DSDT], paste it into a iasl-disassembled DSDT of (say) a T43, recompile it and [http://gaugusch.at/kernel.shtml tell the kernel] to use the patched DSDT? ibm_acpi will present the functionality, but it may or may not work.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 16:16, 28 Sep 2005 (CEST)&lt;br /&gt;
&lt;br /&gt;
Any risk of damaging the hardware when doing this? E.g. what does occur if the system overheats - will the CPU be destroyed are does it automatically switch of? As I've just bought a new X41 I don't want to take any stupid risks - but otherwise I'd say let's try it out.&lt;br /&gt;
&lt;br /&gt;
--gst Thu Sep 29 18:14:13 CEST 2005&lt;br /&gt;
&lt;br /&gt;
I think Intel CPUs have some built-in thermal protection, but I'd hate to test it. And of course, any fiddling with the hardware at this level might damage it. That said, when the CPU is mostly idle it keeps a reasonable temperature even when the fan is disabled, so as long as you keep an eye on both the CPU usage meter and /proc/acpi/ibm/thermal, things should be pretty safe temperature-wise. For extra safety you can force the CPU to its lowest speed via {{path|/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq}}.&lt;br /&gt;
--[[User:Thinker|Thinker]] 18:33, 29 Sep 2005 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Anybody tried to slow down the fan and have it running at ~1000-1500rpm? That would make it almost silent and you could have it always running (like Apple does on Macs).&lt;br /&gt;
&lt;br /&gt;
--[[User:Micampe|Micampe]] 12:56, 7 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Goot question. The embedded controller [[patch_for_controlling_fan_speed|interface]] we have discovered allows only for setting a fan level between 0 and 7, not the actual RPM. And IBM has been ramping up the RPM assignment of each fan level (look at the model-specific data there), so that on the T43, even the lowest accessible level is at a pretty fast 3300RPM. The following ''might'' provide a way around this, if the hardware is capable of generating lower speeds:&lt;br /&gt;
* Patch the embedded controller firmware. You will need the information in [http://forum.thinkpads.com/viewtopic.php?p=113904#113904 this post] and the following one, a lot of patience, and an active warranty.&lt;br /&gt;
* Find out how the embedded controller is setting the speed (maybe by disassembling it as above, but at least you don't need to load patched firmware). Maybe the EC is changing the speed by instructing ''another'' component over an interface (SMBus?) that can also be accessed directly by the CPU. In this case, maybe you can put the embedded controller in disengaged mode and control that component directly.&lt;br /&gt;
&lt;br /&gt;
Then, there's the soldering-iron approach. Assuming the fan uses the standard wiring and that its speed determined by the provided voltage, you can make all speeds somewhat slower simply by putting a resistor in series with the fan. You can do that by splicing one of the wires or, to avoid voiding your warranty, just build an extension cable like this:&lt;br /&gt;
&lt;br /&gt;
            fan cable             extension     &lt;br /&gt;
     #------- Vfan --------#&amp;gt;  &amp;gt;#---~~R~~---#&amp;gt;   &amp;gt;#SYSTEM&lt;br /&gt;
  FAN#------- SENSE -------#&amp;gt;  &amp;gt;#-----------#&amp;gt;   &amp;gt;#BOARD&lt;br /&gt;
     #------- GND ---------#&amp;gt;  &amp;gt;#-----------#&amp;gt;   &amp;gt;#CONNECTOR&lt;br /&gt;
&lt;br /&gt;
Use an appropriate resistor R, and make sure it doesn't get too hot (if it does, attach it to the fan's cooling assembly). Worked nicely for me a few years ago on some desktop motherboard. If you're into that kind of stuff, you can also use fancier electronics instead of the resistor to avoid the (minor) power waste.&lt;br /&gt;
&lt;br /&gt;
It would be useful to have some pictures of the fan cable connector so we can get a matching pair (it's above the rear right corner of the PCMCIA slot, under the palmrest but maybe visible with just the keyboard removed).&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 14:36, 7 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Further discussion ==&lt;br /&gt;
&lt;br /&gt;
I've just found a very interesting thread regarding the same issue on HP notebooks. IMO it provides many insight information about heat/fan problems in general, the URL is: http://forums1.itrc.hp.com/service/forums/questionanswer.do?threadId=853249&lt;br /&gt;
Especially the posts by the HP engineer &amp;quot;Andy Fisher&amp;quot; are very interesting. IBM should be able to provide the same BIOS fix as HP did (maybe I should have bought an HP notebook instead of a Thinkpad?).&lt;br /&gt;
&lt;br /&gt;
I've also contacted IBM/Lenovo support via the website about the fan issue. Maybe it helps when others do this as well (especially people who bought larger quantities) so that this issue is taken serious by Lenovo. Is there already any official response to this problem?&lt;br /&gt;
&lt;br /&gt;
--gst Thu Sep 29 19:40:34 CEST 2005&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Two of the changes mentioned by the HP engineer make perfect sense here: raise the low trip points and make speed transition gradual. Oh, and get rid of the annoying beat pattern (a brief speed pulse every few seconds) it sometimes gets into!&lt;br /&gt;
&lt;br /&gt;
But from our perspective, what would probably be best is to do the whole thing in software, providing the flexibility for personal preferences and smart decisions. The hardware would only enforce emergency override or throttle/shutdown for extreme temperatures. Then we could do cute things like having a software daemon lower the thresholds in a noisy environment (as judged using the built-in microphone) or when the laptop is on the user's lap (as judged by the built-in accelometers).&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 18:47, 30 Sep 2005 (CEST)&lt;br /&gt;
&lt;br /&gt;
I noticed that on my T43 the fan is usually in one of two modes, low speed (around 3300 RPM, triggered around CPU=47deg) and medium speed (around 4100 RPM, can't figure out the trip condition). The former is nearly inaudible, but the latter is quite noticable in the absense of strong background noises.&lt;br /&gt;
&lt;br /&gt;
Now, the problem is that once it has tripped into medium speed, it usually never comes back to low speed until the next reboot. So once it happens, to quiet things down I can only run one of the fan-disabling scripts given here. But with a disabled fan the T43 is not thermally stable, so it will spend its time moving back and forth between the hysteresis thresholds, i.e., toggling between 4100 RPM and 0 RPM every few minutes. This is quite silly and annoying, when staying at low speed would be both more stable and more quiet.&lt;br /&gt;
&lt;br /&gt;
I hope someone will find a way to control the fan speed, or at least to reset the embedded controller's hysteresis state.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 10:29, 6 Oct 2005 (CEST)&lt;br /&gt;
&lt;br /&gt;
When you do changes to e.g. the Energy Schema in Windows or you eject the Thinkpad of the Docking Station it seems that the controllers state is rest. At least on the X41 the fan does stop until it reaches the threshold to start some minutes later. So it should be doable. --85.124.171.70&lt;br /&gt;
&lt;br /&gt;
That's good. But just like a bunch of other functions (e.g., controlling the battery charge threshold), it probably uses low-level undocumented proprietary interfaces which are very hard to figure out without the help of IBM/Lenovo, who are in denial about the whole thing. --[[User:Thinker|Thinker]] 01:40, 16 Oct 2005 (CEST)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Works fine with APM instead of ACPI? ==&lt;br /&gt;
&lt;br /&gt;
On my X41 the fan starts after about 10 minutes of use and doesn't stop (until it is rather cold in my room - and even then it runs most of the time ;) A friend of mine who has a X41 too (though another model) and who does use NetBSD and APM doesn't experience this problem. He claims that the fan only comes up if the system is not idle. So either it is colder in his room, the X41 model which he has doesn't have this flaw or APM does use different tresholds than ACPI.&lt;br /&gt;
&lt;br /&gt;
* Then why not just try the {{bootparm|acpi|off}} kernel parameter and see what happens? --[[User:Thinker|Thinker]] 18:14, 30 Sep 2005 (CEST)&lt;br /&gt;
&lt;br /&gt;
I currently don't have physical access to the X41. Will try in a few days.&lt;br /&gt;
&lt;br /&gt;
== Rewiring the fan? ==&lt;br /&gt;
&lt;br /&gt;
Since IBM/Lenovo shows no intention of fixing their embedded controller firmware or releasing its specs, how about getting the embedded controller out of the loop? I'd be happy as a clam if my fan was hard-wired to work at a constant 3000RPM, with temperatures kept at bay in software through CPU frequenty control.&lt;br /&gt;
&lt;br /&gt;
Assuming the fan has the standard 3-wire connector, we can probaby keep the sensor and ground wires untouched, and rewire the positive wire to some nearby current source of appropriate voltage (through a resistor, for fine-tuning). The trick would be to find an easily tappable source that can handle an extra 2W and has the appropriate voltage (i.e., just slightly higher than what the fan needs to rotate at that RPM, so we don't waste too much energy in the resistor). Any idea what are the typical fan voltages and what would be an appropriate hookup point?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 01:59, 16 Oct 2005 (CEST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Secret sensor and the cause of fan always on ==&lt;br /&gt;
&lt;br /&gt;
This discussion was moved to [[Talk:Thermal sensors]].&lt;br /&gt;
&lt;br /&gt;
== X21 overacceleration problem ==&lt;br /&gt;
&lt;br /&gt;
On my X21 2662-66U, the fan runs all the time. That's not an issue, because of how hot my laptop runs.&lt;br /&gt;
&lt;br /&gt;
However, at load, it runs really hot. I can hear the fan attempt to accelerate past the maximum speed, click three times, and drop back down to the max. It's not the same as the pulsing problem, yet similar.&lt;br /&gt;
&lt;br /&gt;
New fan, ordered direct from IBM, due to my old fan running WAY too hot, even underclocked. As it is, I'm running underclocked because 95 C at full load is just NOT my cup of tea. 40 C idle temps at 500MHz, around 60 at 700MHz. 70 C load at 500, 95 C load at 700.&lt;br /&gt;
&lt;br /&gt;
== Startup noise ==&lt;br /&gt;
&lt;br /&gt;
My T43 accelerates the fan to very high speed twice during startup: immediately after power-on, and during the bootloader prompt (i.e., after the BIOS but before Linux loads). This is independent of the unit's temperature, and is loud enough to cause some ugly stares when sitting in a lecture. Is this a universal phenomenon, worth mentioning in the article page?&lt;br /&gt;
&lt;br /&gt;
Potential solutions: the first fan acceleration can't be fixed by anything but an EC firmware update. For the second acceleration (after BIOS), a workaround can be implemented by adding basic fan control code (i.e., a few accesses to I/O ports 0x62 and 0x66 as explained in the [[Patch_for_controlling_fan_speed#Hardware_specs|fan control specs]] and Linux's {{path|drivers/acpi/ec.c}}) to the bootloader. GRUB 2 has a module infrastructure that should make this pretty easy, and other boot loaders can also be patched.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 20:36, 27 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Leftover bits ==&lt;br /&gt;
&lt;br /&gt;
The following data didn't belong where it was posted, and was deleted when the containing section swre moved to [[How to control fan speed]]:&lt;br /&gt;
&lt;br /&gt;
* On my T41 (gentoo-sources-2.6.11.11 ) I noticed that after unloading the fan module the fan noise stopped. With the module loaded the fan was working even at very low cpu temperatures, without the module it's ok so far.&lt;br /&gt;
&lt;br /&gt;
* On a 770X the fan can be fully controlled through ACPI. Thermal Zone THM5 (possibly the battery/charging circuit, it's definitely warmer when using 5v PCMCIA cards and AC) triggers it to turn on and not ever off by design. Can be solved by a custom DSDT, which also makes use of the variable-speed features of the fan (will release this once I've finished tweaking and testing it).&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 20:48, 20 January 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Embedded controller firmware disassembly ==&lt;br /&gt;
&lt;br /&gt;
[http://forum.thinkpads.com/viewtopic.php?t=20958 This thread] points to, and discusses, a commented (partial) disassembly of the embedded controller. Following this lead, it may be possible to patch the firmware (perhaps transiently) to change the fan level selection algorithm and/or the RPMs.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 07:10, 24 February 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== R50e with CELERON M: fan for life ==&lt;br /&gt;
&lt;br /&gt;
I am such a loser. I bought a R50e with CELERON M CPU, and thus will&lt;br /&gt;
never get longer than 90 seconds of peace before the next 62 to 54&lt;br /&gt;
degree fan cycle. --jidanni&lt;/div&gt;</summary>
		<author><name>Jidanni</name></author>
		
	</entry>
</feed>