<?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=Lentinj</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=Lentinj"/>
	<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/wiki/Special:Contributions/Lentinj"/>
	<updated>2026-04-07T21:19:40Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.12</generator>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=User:Lentinj&amp;diff=59090</id>
		<title>User:Lentinj</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=User:Lentinj&amp;diff=59090"/>
		<updated>2019-02-23T08:58:14Z</updated>

		<summary type="html">&lt;p&gt;Lentinj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I have:-&lt;br /&gt;
* Thinkpad T460s&lt;br /&gt;
* Thinkpad X230&lt;br /&gt;
* [http://jamie.lentin.co.uk/hardware/x201s/ Thinkpad X201s] (5129-CTO)&lt;br /&gt;
** i7 L640 2.13Ghz&lt;br /&gt;
** 1440x900 LCD&lt;br /&gt;
* [http://jamie.lentin.co.uk/hardware/g40/ Thinkpad G40] (2388-4SG)&lt;br /&gt;
** P4 2.8Ghz&lt;br /&gt;
** 80Gb HDD&lt;br /&gt;
** 1024x768 LCD&lt;br /&gt;
* Thinkpad 770X (9549-7A0)&lt;br /&gt;
** PII 300Mhz&lt;br /&gt;
** 14Gb HDD upgraded to 40Gb HDD&lt;br /&gt;
** 1280x1024 LCD&lt;br /&gt;
** Video Capture/MPEG2 Add-on (not that there is ever going to be Linux support for it)&lt;br /&gt;
** DVD / Battery / FDD / HDD Tray for Ultrabay&lt;/div&gt;</summary>
		<author><name>Lentinj</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Install_Classic_Keyboard_on_xx30_Series_ThinkPads&amp;diff=59089</id>
		<title>Install Classic Keyboard on xx30 Series ThinkPads</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Install_Classic_Keyboard_on_xx30_Series_ThinkPads&amp;diff=59089"/>
		<updated>2019-02-23T08:57:33Z</updated>

		<summary type="html">&lt;p&gt;Lentinj: Add link to decent step-by-step images&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:T430newkeyboard.jpg|thumb|floatright|300px|You can have your cake, and eat it, too!]]&lt;br /&gt;
The Lenovo Thinkpad xx30 series (T430, X230, T530 etc.) was the first generation to use chiclet style keys. While many prefer the classic keyboards, the general consensus is that the chiclet-style one doesn't feel far off. It does however have a different layout and is missing some keys. It does have a possibility of being backlit though, which the classic one does not. (Comparison: [http://images.anandtech.com/galleries/1966/T430s_hero_01.jpg T430] | [http://www.accomputerwarehouse.com/images/products/4159_3.jpg T420])&lt;br /&gt;
&lt;br /&gt;
It is possible to easily fit the classic keyboard into xx30 series chassis.&lt;br /&gt;
&lt;br /&gt;
All keyboards from the xx20 series are compatible. [https://pcsupport.lenovo.com/us/en/solutions/pd010629 Refer here] for the list of suitable FRUs. The first columns is ALPS keyboard (generally regarded as the worst), the second row is Chicony (regarded as good) and the third row is NMB (regarded at the best). The differences between Chicony and NMB are most likely minor.&lt;br /&gt;
{{NOTE|There are some FRUs that are not on the list, but still are genuine xx20 keyboards. If you can find some forum posts in a search engine with that FRU, it's most likely legit.}}&lt;br /&gt;
&lt;br /&gt;
==Warning==&lt;br /&gt;
&lt;br /&gt;
===Pinout===&lt;br /&gt;
&lt;br /&gt;
xx20 and xx30 keyboard pinouts are slightly different, so first thing you need to do is to isolate pins #25 and #29 (grab a [http://plan9.stanleylieber.com/hardware/thinkpad/x230/x230.schematics.pdf schematic] to see where they are). The reason for it is that in xx30 keyboard these pins are separated, but in xx20 one they are connected all together, shorting VCC5M_KBD (pin #25) to ground through the keyboard cable. I disassembled the keyboard and covered #25, #27 and #29 with adhesive tape (#27 is redundant since it's connected directly to ground on the motherboard). Plastic cover on the top can be easily removed, allowing to access internal keyboard connector. Step-by-step pictures of this process can be found [https://imgur.com/a/fsRe6 here].&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:X230-kb-mod-con-1.png|thumb|300px|X220 keyboard internal connector]]&lt;br /&gt;
| [[File:X230-kb-mod-con-2.png|thumb|300px|X220 keyboard internal connector after mod]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{WARN|Ignoring this thing will cause keyboard overheating and damage.}}&lt;br /&gt;
&lt;br /&gt;
{{NOTE|Some people have done the keyboard replacement without this protective mod - and not reported any issues, even after years of use.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Further investigations on three keyboards shows that the over-current condition described above quickly lead to the same failure each time - a small burnout on the keyboard just after the retaining bar (see circled area on photo below).  This burnout has had the effect of removing the short circuit and stopping any other issues. [[File:X220_keyboard_burn.jpg|thumb|300px|X220 keyboard, showing burn mark]]}}&lt;br /&gt;
&lt;br /&gt;
===Key Functionality===&lt;br /&gt;
&lt;br /&gt;
Unless you also reflash the Embedded Controller firmware, some keys won't be detected at all and others will have different functions. All Fn commands will be the original ones (listed on the xx30 keyboard) instead of those shown on the xx20 keyboard.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
* The xx20 keyboard is printed to have Fn+PageUp activate the Thinklight. However, because this action is actually bound to Fn+Space on the xx30 keyboard, you will need to press Fn+Space to activate the ThinkLight after installing the xx20 keyboard. &lt;br /&gt;
* Fn+F8 does not toggle the TrackPoint/touchpad input, it actually dims the brightness.&lt;br /&gt;
* Fn+F4 makes the computer sleep, as that is the combo on both keyboards.&lt;br /&gt;
&lt;br /&gt;
===Reflashing the Embedded Controller===&lt;br /&gt;
&lt;br /&gt;
It is possible to modify the Embedded Controller to enable all these keys and switch (most of) the Fn commands around.  However, it is important to be aware that flashing the Embedded Controller is a critical process and if something goes wrong, you could end up with a bricked laptop.&lt;br /&gt;
&lt;br /&gt;
On a more positive note, during the development of these modifications, no X230 laptops were bricked and there were never any problems or failures.&lt;br /&gt;
&lt;br /&gt;
===Keymap Table===&lt;br /&gt;
&lt;br /&gt;
A full table of keys and their compatibility is listed below.&lt;br /&gt;
&lt;br /&gt;
DNF means Does Not Function.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
! Key || Function after install || Function with new firmware || Notes&lt;br /&gt;
|-&lt;br /&gt;
| A-Z || A-Z || A-Z ||&lt;br /&gt;
|-&lt;br /&gt;
| 0-9 || 0-9 || 0-9 ||&lt;br /&gt;
|-&lt;br /&gt;
| PrtScr/SysRq || DNF || PrtScr/SysRq || The Menu Key functions as PrtScr&lt;br /&gt;
|-&lt;br /&gt;
| ScrLk/NumLk || DNF || ScrLk/NumLk ||&lt;br /&gt;
|-&lt;br /&gt;
| Pause/Break || DNF || Pause/Break ||&lt;br /&gt;
|-&lt;br /&gt;
| Insert || DNF || Insert || Can be rebound to a combo if needed&lt;br /&gt;
|-&lt;br /&gt;
| Delete || Home || Delete || Can be rebound to Delete using [[#Windows|SharpKeys]]&lt;br /&gt;
|-&lt;br /&gt;
| Home || DNF || Home || Can be rebound to a combo if needed&lt;br /&gt;
|-&lt;br /&gt;
| End || End || End ||&lt;br /&gt;
|-&lt;br /&gt;
| PgUp || Delete || PgUp || Can be rebound to PgUp using [[#Windows|SharpKeys]]&lt;br /&gt;
|-&lt;br /&gt;
| PgDown || Insert || PgDown || Can be rebound to PgDown using [[#Windows|SharpKeys]]&lt;br /&gt;
|-&lt;br /&gt;
| F1-F9 || F1-F9 || F1-F9 ||&lt;br /&gt;
|-&lt;br /&gt;
| F10 || DNF || F10 || Can be rebound to a combo if needed, but will never work in the BIOS&lt;br /&gt;
|-&lt;br /&gt;
| F11-F12 || F11-F12 || F11-F12 ||&lt;br /&gt;
|-&lt;br /&gt;
| Esc || Esc || Esc ||&lt;br /&gt;
|-&lt;br /&gt;
| Tilde || Tilde || Tilde ||&lt;br /&gt;
|-&lt;br /&gt;
| Tab || Tab || Tab ||&lt;br /&gt;
|-&lt;br /&gt;
| CapsLk || CapsLk || CapsLk || The T410's LED indicator does not work - uses the T430's built-in onscreen indicator.  The new firmware also does not fix the indicator light&lt;br /&gt;
|-&lt;br /&gt;
| R&amp;amp;L Shift || R&amp;amp;L Shift || R&amp;amp;L Shift || &lt;br /&gt;
|-&lt;br /&gt;
| Fn || Fn || Fn || The BIOS LCtrl &amp;amp; Fn swap does work (The swap worked when tested with the new firmware)&lt;br /&gt;
|-&lt;br /&gt;
| R&amp;amp;L Ctrl || R&amp;amp;L Ctrl || R&amp;amp;L Ctrl || The BIOS LCtrl &amp;amp; Fn swap does work (The swap worked when tested with the new firmware)&lt;br /&gt;
|-&lt;br /&gt;
| R&amp;amp;L Windows || R&amp;amp;L Windows || R&amp;amp;L Windows || &lt;br /&gt;
|-&lt;br /&gt;
| R&amp;amp;L Alt || R&amp;amp;L Alt || R&amp;amp;L Alt || &lt;br /&gt;
|-&lt;br /&gt;
| Space || Space || Space ||&lt;br /&gt;
|-&lt;br /&gt;
| Menu || PrtScr || Menu || This key is actually PrtScr on the T430 keyboard, and functions as such when the T410 keyboard is installed. Because of this, there is no Menu key. For me, it appears that this causes the Menu Key to turn on and off at will. Please see [[#Menu Key|this section]] for more detail.&lt;br /&gt;
|-&lt;br /&gt;
| PgLeft || PgUp || PgLeft || Can be rebound to PgLeft using [[#Windows|SharpKeys]]&lt;br /&gt;
|-&lt;br /&gt;
| PgRight || PgDown || PgRight || Can be rebound to PgRight using [[#Windows|SharpKeys]]&lt;br /&gt;
|-&lt;br /&gt;
| Enter || Enter || Enter ||&lt;br /&gt;
|-&lt;br /&gt;
| Backspace || Backspace || Backspace || &lt;br /&gt;
|-&lt;br /&gt;
| Punctuation || Punctuation || Punctuation || Too excessive to list, but all work normally&lt;br /&gt;
|-&lt;br /&gt;
| Power/Mute/MicMute/VolUp/VolDown/ThinkVantage || All work || All work || All of the overlay keys work, as well as their LEDs&lt;br /&gt;
|-&lt;br /&gt;
| TrackPoint/left/middle/right || All work || All work || The TrackPoint works perfectly on the X230. It should work on the T430, but wasn't tested; the original author's T430 had soda spilled on it, shorting out his TrackPoint socket. ||&lt;br /&gt;
|-&lt;br /&gt;
| Fn+F3 (Lock Screen) || Labelled as &amp;quot;Battery&amp;quot;, works || Does not Work ||&lt;br /&gt;
|-&lt;br /&gt;
| Fn+F4 (Sleep) || Works the same || Works the same ||&lt;br /&gt;
|-&lt;br /&gt;
| Fn+F5 (Wifi) || Works the same || Works the same ||&lt;br /&gt;
|-&lt;br /&gt;
| Fn+F6 (Camera/Audio) || Works the same || Works the same ||&lt;br /&gt;
|-&lt;br /&gt;
| Fn+F7 (Display Switch) || Works the same || Works the same ||&lt;br /&gt;
|-&lt;br /&gt;
| Fn+F8 (Dim) || Labelled as &amp;quot;Mouse Switch&amp;quot;, but dims || Fn+F8 now works as Mouse Switch ||&lt;br /&gt;
|-&lt;br /&gt;
| Fn+F9 (Brighten) || Unlabelled, but brightens || Fn+F9 now does nothing ||&lt;br /&gt;
|-&lt;br /&gt;
| Fn+F10 (Prev track) || Unlabelled, but works || Fn+F10 now does nothing ||&lt;br /&gt;
|-&lt;br /&gt;
| Fn+F11 (Pause) || Unlabelled, but works || Fn+F11 now does nothing ||&lt;br /&gt;
|-&lt;br /&gt;
| Fn+F12 (Next track) || Labelled as &amp;quot;Hibernate&amp;quot;, does nothing || does nothing || It is theoretically possible that this key could be made to work.  Fr technical reasons, it was considered risky to make this change - and hopefully a little used key.&lt;br /&gt;
|-&lt;br /&gt;
| Fn+Home || DNF || Works as Brighten ||&lt;br /&gt;
|-&lt;br /&gt;
| Fn+End || DNF || Works as Dim ||&lt;br /&gt;
|-&lt;br /&gt;
| Fn+PgUp || DNF || Works as Thinklight ||&lt;br /&gt;
|-&lt;br /&gt;
| Fn+Left || DNF || Works as Prev Track ||&lt;br /&gt;
|-&lt;br /&gt;
| Fn+Down || DNF || Works as Pause ||&lt;br /&gt;
|-&lt;br /&gt;
| Fn+Right || DNF || Works as Next Track ||&lt;br /&gt;
|-&lt;br /&gt;
| Fn+Up || DNF || Works as Stop ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==The replacement==&lt;br /&gt;
&lt;br /&gt;
=== Method 1 (X230 only): Replace the X230 palmrest with the X220 one===&lt;br /&gt;
&lt;br /&gt;
The least invasive method is to replace the entire X230 palmrest with the X220 palmrest. The palmrest costs about $10-20 on eBay, search for these FRU numbers:&lt;br /&gt;
&lt;br /&gt;
* No fingerprint reader - 04W1411&lt;br /&gt;
* With fingerprint reader - 04W1410&lt;br /&gt;
&lt;br /&gt;
It's pretty simple:&lt;br /&gt;
&lt;br /&gt;
# Remove and unplug the original palmrest.&lt;br /&gt;
# Install and plug in the X220 palmrest, but do not screw it down.&lt;br /&gt;
# Insert they keyboard while the palmrest is tilted slightly upwards. Then, lower both the keyboard and the palmrest into position and reinstall all the screws.&lt;br /&gt;
## If you have removed the plastic tabs as per the image guide by lightproof, you can omit the third step. The keyboard will fit just as if it was X220.&lt;br /&gt;
{{NOTE|One of the keyboard screws might just spin in place, since it can't reach the screw hole. In that case, just push the keyboard downwards a little bit, while turning your screwdriver at the same time.}} &lt;br /&gt;
&lt;br /&gt;
Other xx20 palmrests do not fit the xx30 chassis properly, thus this method won't work for them.&lt;br /&gt;
&lt;br /&gt;
=== Method 2: Sand down the nubs to fit in the xx30 palmrest===&lt;br /&gt;
[[File:T410keyboardnubs.jpg|thumb|left|175px|A comparison of the nubs from the T430 and T410 keyboards]]&lt;br /&gt;
[[File:T410trackpointnubs.jpg|thumb|floatright|175px|A comparison of the nubs from the T430 and T410 trackpoints]]&lt;br /&gt;
&lt;br /&gt;
Along the bottom edge of the T430 keyboard are four small nubs that fit into place along four idents in the chassis. These nubs help secure the keyboard into place, and make sure it is aligned correctly. The classic keyboard, however, has five nubs - and they're much thicker. Whereas the T430 nubs are only extensions of the metal plate covering the back of the keyboard, the classic nubs actually extend upwards and fit the entire thickness of the keyboard. The classic's fifth nub is located under the TrackPoint keys.&lt;br /&gt;
&lt;br /&gt;
A solution is to cut/sand down the extra nub and flatten/sand down the remaining ones to fit into the xx30 palmrest.&lt;br /&gt;
&lt;br /&gt;
=== Method 3: Make the xx30 palmrest keyboard nubs holes bigger===&lt;br /&gt;
This allows the keyboard to remain in it's original state (minus the tape on the connectors, but that can be easily reversed). Simply make the holes that are intended for the keyboard nubs bigger (both in width and height). Be careful when it comes to height, as you may simply pierce the top layer of the plastic, exposing the holes. This will most likely be less visually impressive than the 2nd method, unless you do it very precisely.&lt;br /&gt;
&lt;br /&gt;
[[File:t430keyboardinstall.jpg|thumb|floatright|175px|Installing the T410 keyboard]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Reflashing the Embedded Controller ==&lt;br /&gt;
Reflashing is possible by creating a modified BIOS flashing image and then burning it onto CD or transferring onto a flash drive. Even after the flashing the remaining issues persist and are unlikely to be fixed:&lt;br /&gt;
* the CapsLock light is does not work&lt;br /&gt;
* the Fn+F3, Fn+F12 key combinations do not work&lt;br /&gt;
&lt;br /&gt;
Full details on how to create and apply the patch are included in the README of the git repository at https://github.com/hamishcoleman/thinkpad-ec. It is the most up-to-date source for instructions and files.&lt;br /&gt;
&lt;br /&gt;
=== Steps to patch your Firmware ===&lt;br /&gt;
It is best to use the git repository to build patched images, however the this method can also be used. Keep in mind that there shouldn't be a big version difference between your current BIOS and the BIOS from the .iso.&lt;br /&gt;
&lt;br /&gt;
To use the manual process, follow these steps:&lt;br /&gt;
&lt;br /&gt;
# get the latest Lenovo update ISO image for your laptop (See links below)&lt;br /&gt;
# apply the ISO patch (from the links below) for your specific firmware file (See discussion below for more on this)&lt;br /&gt;
# put the updated ISO image onto a CDROM and boot it, you will be prompted to flash your firmware&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Model || Lenovo ISO || ISO patch || EC Firmware Version || Notes&lt;br /&gt;
|-&lt;br /&gt;
| t430 || [https://download.lenovo.com/pccbbs/mobiles/g1uj38us.iso] || [https://gist.github.com/hamishcoleman/3565524b7f5cd162f911867557414d86] || G1HT35WW || tested and working&lt;br /&gt;
|-&lt;br /&gt;
| t430s || [https://download.lenovo.com/pccbbs/mobiles/g7uj18us.iso] || [https://gist.github.com/hamishcoleman/966896fe2f54d9eb6544b8217980f06b] || G7HT39WW || tested and working&lt;br /&gt;
|-&lt;br /&gt;
| t530 and t530i || [https://download.lenovo.com/pccbbs/mobiles/g4uj30us.iso] || [https://gist.github.com/hamishcoleman/6d3061b1845cf0b62e676abe750caca1] || G4HT39WW || tested and working&lt;br /&gt;
|-&lt;br /&gt;
| w530 || [https://download.lenovo.com/pccbbs/mobiles/g5uj28us.iso] || [https://gist.github.com/hamishcoleman/7832e6fa0fa5a63217ed175179a7038d] || G4HT39WW || tested and working&lt;br /&gt;
|-&lt;br /&gt;
| x230 || [https://download.lenovo.com/pccbbs/mobiles/g2uj23us.iso] || [https://gist.github.com/hamishcoleman/dc9c3d8fd3cd52aeb573e6681419be79] || G2HT35WW || tested and working&lt;br /&gt;
|-&lt;br /&gt;
| x230t || [https://download.lenovo.com/pccbbs/mobiles/gcuj24us.iso] || [https://gist.github.com/hamishcoleman/3b91d0c79c0908a3492c7c615d6a2870] || G2HT35WW || untested&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== How to apply the patch ====&lt;br /&gt;
The ISO patches linked above are text files with hexdumps showing the diff between the original and the patched version of the file.  They can actually be applied by hand using a hex editor - if needed - but that would be quite tedious as they are a little large.&lt;br /&gt;
&lt;br /&gt;
The hexpatch.pl tool from the git repo is the simplest way to apply a patch.  This tool is a small perl script that is run like this: &amp;lt;pre&amp;gt;hexpatch.pl binaryfile patchfile&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An even better option is to use the git repo to fully automate the building of a bootable USB disk image - just read the README in the repo for the details.&lt;br /&gt;
&lt;br /&gt;
==Handling mismatched keys in software==&lt;br /&gt;
If you don't want to reflash the EC firmware, you can still use the keyboard reasonably well, however not all of the keys work correctly, as detailed in the [[#Keymap Table| Keymap Table]]. However, if a key performs an action, that action can be rebound on a system-wide level to any other action. &lt;br /&gt;
===Linux===&lt;br /&gt;
This can be done using [http://askubuntu.com/questions/69804/how-do-i-change-the-keymap-of-a-single-device-logitech-presenter udev keymap]. I don't use Linux, and so I won't provide instructions for that here, but that page should give all the information you need to get it working, along with the Keymap Table's stock remaps. Note that keys that are labelled DNF will never work - this is a BIOS-level issue and no operating system tweaks will fix it.&lt;br /&gt;
===Windows===&lt;br /&gt;
[[File:t430sharpkeys.png|thumb|floatright|250px|Remapping with SharpKeys]]&lt;br /&gt;
On Windows, we can use a nifty program called [http://sharpkeys.codeplex.com/ SharpKeys] to rebind keys. The program is creates a registry entry in order to remap. Despite the fact that it is portable and does not run upon starting the machine, I suggest you keep the application handy in case Windows overwrites the remap key - this has only happened a few times for me while tweaking things, but it's enough reason to keep the 500kb application installed.&amp;lt;br/&amp;gt;Once you've installed SharpKeys, add four remaps corresponding to the ones on the right, and then click &amp;quot;Write to Registry&amp;quot;. Log out of Windows, and when you log back in, your PgUp, Delete, and PgDown keys should be functioning as normal. &lt;br /&gt;
&lt;br /&gt;
====Menu Key====&lt;br /&gt;
The last remap in SharpKeys, Unknown &amp;gt; Turn Key Off, corresponds to disabling the Menu key (key 0x0075). Without this entry, my keyboard was making all left clicks act as though the Menu key was being held down. You may not need this entry, but if you do, be sure to add it. I believe this stems from the fact that there is no Menu Key on the T430 keyboard, but I'm not sure why it was constantly signalling itself as on.&lt;/div&gt;</summary>
		<author><name>Lentinj</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=User:Lentinj&amp;diff=50183</id>
		<title>User:Lentinj</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=User:Lentinj&amp;diff=50183"/>
		<updated>2010-12-22T18:44:44Z</updated>

		<summary type="html">&lt;p&gt;Lentinj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I have:-&lt;br /&gt;
* [http://jamie.lentin.co.uk/hardware/x201s/ Thinkpad X201s] (5129-CTO)&lt;br /&gt;
** i7 L640 2.13Ghz&lt;br /&gt;
** 1440x900 LCD&lt;br /&gt;
* [http://jamie.lentin.co.uk/hardware/g40/ Thinkpad G40] (2388-4SG)&lt;br /&gt;
** P4 2.8Ghz&lt;br /&gt;
** 80Gb HDD&lt;br /&gt;
** 1024x768 LCD&lt;br /&gt;
* Thinkpad 770X (9549-7A0)&lt;br /&gt;
** PII 300Mhz&lt;br /&gt;
** 14Gb HDD upgraded to 40Gb HDD&lt;br /&gt;
** 1280x1024 LCD&lt;br /&gt;
** Video Capture/MPEG2 Add-on (not that there is ever going to be Linux support for it)&lt;br /&gt;
** DVD / Battery / FDD / HDD Tray for Ultrabay&lt;/div&gt;</summary>
		<author><name>Lentinj</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installation_instructions_for_the_ThinkPad_G40&amp;diff=48016</id>
		<title>Installation instructions for the ThinkPad G40</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installation_instructions_for_the_ThinkPad_G40&amp;diff=48016"/>
		<updated>2010-03-28T15:06:47Z</updated>

		<summary type="html">&lt;p&gt;Lentinj: Updated website link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Specific installation notes for the ThinkPad {{G40}}.&lt;br /&gt;
&lt;br /&gt;
==General Notes==&lt;br /&gt;
&lt;br /&gt;
==Distro specific Instructions==&lt;br /&gt;
&lt;br /&gt;
==External Sources==&lt;br /&gt;
*[http://www.hardeman.nu/~david/thinkpad.php David Hardeman's Debian on a ThinkPad G40 page]&lt;br /&gt;
*[http://www.userve.nl/laptop-g40.html Kenneth van Grinsven's Mandrake 9.1 on a ThinkPad G40 page]&lt;br /&gt;
*[http://jamie.lentin.co.uk/hardware/g40 Jamie Lentin's Debian on a Thinkpad G40 page]&lt;/div&gt;</summary>
		<author><name>Lentinj</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_get_special_keys_to_work&amp;diff=29277</id>
		<title>How to get special keys to work</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_get_special_keys_to_work&amp;diff=29277"/>
		<updated>2007-04-12T22:59:43Z</updated>

		<summary type="html">&lt;p&gt;Lentinj: Rough guide on how to add more hotkey events to the DSDT&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
! key !! standard function !! tools supporting key{{footnote|1}} !! configurability{{footnote|2}} !! remarks&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}} || - || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]] || full || on release without completed key combination&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F1}} || - || [[#ibm-acpi events|ibm-acpi]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F2}} || lock screen || [[#ibm-acpi events|ibm-acpi]] || full || in models from T/X/Z 60 onwards&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F3}} || blank screen || [[#ibm-acpi events|ibm-acpi]], [[thinkpad-acpi]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F4}} || suspend to ram || [[#ibm-acpi events|ibm-acpi]], [[thinkpad-acpi]] || full || may generate ACPI event when not enabled in the ibm-acpi hotkey mask&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F5}} || switch bluetooth || [[#ibm-acpi events|ibm-acpi]], [[thinkpad-acpi]] || full || in models starting from 2002&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F6}} || - || [[#ibm-acpi events|ibm-acpi]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F7}} || switch display || [[#ibm-acpi events|ibm-acpi]], [[thinkpad-acpi]], [[#tpb configuration|tpb]] || additional actions || &lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F8}} || toggle display expansion || [[#ibm-acpi events|ibm-acpi]], [[thinkpad-acpi]], [[#tpb configuration|tpb]] || additional actions ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F9}} || eject from dock || [[#ibm-acpi events|ibm-acpi]], [[thinkpad-acpi]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F10}} || - || [[#ibm-acpi events|ibm-acpi]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F11}} || - || [[#ibm-acpi events|ibm-acpi]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F12}} || hibernate || [[#ibm-acpi events|ibm-acpi]], [[thinkpad-acpi]] || full || may generate ACPI event when not enabled in the ibm-acpi hotkey mask&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Home}} / {{key|Fn}}{{key|Pos1}} || brightness up || [[#ibm-acpi events|ibm-acpi]], [[#tpb configuration|tpb]], [[KMilo]] || additional actions ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|End}} || brightness down || [[#tpb configuration|tpb]], [[KMilo]] || additional actions ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|PageUp}} || toggle thinklight || [[#tpb configuration|tpb]], [[KMilo]] || additional actions ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Space}} || toggle zoom || [[#tpb configuration|tpb]], [[KMilo]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Ins}} || - || [[#ibm-acpi events|ibm-acpi]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Del}} || - || [[#ibm-acpi events|ibm-acpi]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Backspace}} || - || [[#ibm-acpi events|ibm-acpi]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|NumLock}} || - || [[#xmodmap configuration|xmodmap]] || make working ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Windows}} || - || [[#xmodmap configuration|xmodmap]] || remapping ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Access IBM|#495988}} or {{ibmkey|ThinkPad|#494949}} || help application || [[#tpb configuration|tpb]], [[KMilo]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Home|#494949}} || open web browser || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]], [[KMilo]] || full || only {{A30}}, {{A30p}}, {{A31}}, {{A31p}} and ext. keyboards&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Search|#494949}} || open search application || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]], [[KMilo]] || full || only {{A30}}, {{A30p}}, {{A31}}, {{A31p}} and ext. keyboards&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Mail|#494949}} || open mail application || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]], [[KMilo]] || full || only {{A30}}, {{A30p}}, {{A31}}, {{A31p}} and ext. keyboards&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Favorites|#494949}} || open favorites || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]] || full || only {{A30}}, {{A30p}}, {{A31}}, {{A31p}} and ext. keyboards&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Reload|#494949}} || reload web page || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]] || full || only {{A30}}, {{A30p}}, {{A31}}, {{A31p}} and ext. keyboards&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Abort|#494949}} || abort loading page || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]] || full || only {{A30}}, {{A30p}}, {{A31}}, {{A31p}} and ext. keyboards&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Backward|#494949}} || previous page || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]] || full ||  ext. keyboards and ThinkPads starting from 2002&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Forward|#494949}} || next page || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]] || full || ext. keyboards and ThinkPads starting from 2002&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Volume up|#494949}} || volume up || [[#tpb configuration|tpb]], [[KMilo]] || additional actions ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Volume down|#494949}} || volume down || [[#tpb configuration|tpb]], [[KMilo]] || additional actions ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Volume mute|#494949}} || mute volume || [[#tpb configuration|tpb]], [[KMilo]] || additional actions ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Play/Pause|#494949}} || start/pause playback  || [[#xmodmap configuration|xmodmap]] || full || {{X60s}} (Fn+Arrow Down)&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Stop|#494949}} || stop playback || [[#xmodmap configuration|xmodmap]] || full || {{X60s}} (Fn+Arrow Up)&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Next|#494949}} || play next || [[#xmodmap configuration|xmodmap]] || full || {{X60s}} (Fn+Arrow Right)&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Previous|#494949}} || play previous || [[#xmodmap configuration|xmodmap]] || full || {{X60s}} (Fn+Arrow Left)&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Power|#494949}} || shutdown || [[#ibm-acpi events|ibm-acpi]] || full || triggered on pressing 3secs, but notebook goes off on 5sec press&lt;br /&gt;
|-&lt;br /&gt;
| Display lid || blank screen || [[#ibm-acpi events|ibm-acpi]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| Ultrabay lid || announce ultrabay change || [[#ibm-acpi events|ibm-acpi]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| Dock eject || eject from dock || [[#ibm-acpi events|ibm-acpi]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet power|#494949}} || shutdown || [[#ibm-acpi events|ibm-acpi]] || full || triggered on pressing 3secs, but notebook goes off on 5sec press&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet orientation|#494949}} || rotates screen || [[#Mapping keys with setkeycodes|setkeycodes]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet shortcut|#494949}} || shortcut menu || [[#Mapping keys with setkeycodes|setkeycodes]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet Esc|#494949}} || esc key || [[#Mapping keys with setkeycodes|setkeycodes]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet Enter|#494949}} || enter key || [[#mapping keys with setkeycodes|setkeycodes]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet Up|#494949}} || up key || [[#Mapping keys with setkeycodes|setkeycodes]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet Down|#494949}} || down key || [[#Mapping keys with setkeycodes|setkeycodes]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet (unlabeled)|#494949}} || down key || [[#Mapping keys with setkeycodes|setkeycodes]] || full ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Triggering key events==&lt;br /&gt;
===ibm-acpi events===&lt;br /&gt;
Some of the following events require a {{cmdroot|echo enable,0xffff &amp;gt;/proc/acpi/ibm/hotkey}} in order to make acpi able to get information on them. These events can be used to [[How to configure acpid|configure acpid]].&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|+ events triggered by [[ibm-acpi]] for {{path|/etc/acpi/events}} files. &lt;br /&gt;
! key !! event&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F1}} || ibm/hotkey HKEY 00000080 00001001&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F2}} || ibm/hotkey HKEY 00000080 00001002&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F3}} || ibm/hotkey HKEY 00000080 00001003&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F4}} || ibm/hotkey HKEY 00000080 00001004&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F5}} || ibm/hotkey HKEY 00000080 00001005&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F6}} || ibm/hotkey HKEY 00000080 00001006&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F7}} || ibm/hotkey HKEY 00000080 00001007&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F8}} || ibm/hotkey HKEY 00000080 00001008&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F9}} || ibm/hotkey HKEY 00000080 00001009&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F10}} || ibm/hotkey HKEY 00000080 0000100a&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F11}} || ibm/hotkey HKEY 00000080 0000100b&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F12}} || ibm/hotkey HKEY 00000080 0000100c&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Backspace}} || ibm/hotkey HKEY 00000080 0000100d&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Ins}} || ibm/hotkey HKEY 00000080 0000100e&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Del}} || ibm/hotkey HKEY 00000080 0000100f&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Home}}/{{key|Fn}}{{key|Pos1}} || ibm/hotkey HKEY 00000080 00001010&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Power|#494949}} || button/power PWRF 00000080 xxxxxxxx&lt;br /&gt;
|-&lt;br /&gt;
| Display lid || button/lid LID 00000080 xxxxxxxx&lt;br /&gt;
|-&lt;br /&gt;
| Ultrabay eject || ibm/bay MSTR 00000003 00000000&lt;br /&gt;
|-&lt;br /&gt;
| Ultrabay inserted || ibm/bay MSTR 00000001 00000000&lt;br /&gt;
|-&lt;br /&gt;
| Dock eject || ibm/dock GDCK 00000003 00000001&lt;br /&gt;
|-&lt;br /&gt;
| Wireless switch || ibm/hotkey HKEY 00000080 00007000&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
By disassembling and editing the DSDT, more events can be added.  HKEY events are triggered by calls to the MKHQ function, e.g. &amp;lt;tt&amp;gt;\_SB.PCI0.LPC.EC.HKEY.MHKQ(0Ã—1007)&amp;lt;/tt&amp;gt; will trigger &amp;quot;ibm/hotkey HKEY 00000080 00001007&amp;quot;.  Most of these can be found in &amp;lt;tt&amp;gt;_Qxx&amp;lt;/tt&amp;gt; methods within the DSDT, which are executed on embedded controller events, e.g. _Q10 is triggered by pressing Fn-F7.  You can add a call to MKHQ into an existing &amp;lt;tt&amp;gt;_Qxx&amp;lt;/tt&amp;gt; method to get it recognized by ibm-acpi as well as creating new &amp;lt;tt&amp;gt;_Qxx&amp;lt;/tt&amp;gt; methods, which if you're lucky will correspond to an EC event that IBM never used (e.g. A 770 will send Fn-Home/End/PgUp/PgDn to ibm-acpi if hacked in this fashion). For example, [http://www.wormnet.eu/ibm-g40/morebuttons.dsl this is a modified block of DSDT for a G40].&lt;br /&gt;
&lt;br /&gt;
=== Pure ACPI events ===&lt;br /&gt;
&lt;br /&gt;
A few keys can generate ACPI events of their own on certain ThinkPads, as long as they are masked off in the ibm-acpi hotkey's mask (or the hotkey feature is disabled in ibm-acpi).&lt;br /&gt;
&lt;br /&gt;
If you want the ThinkPad's BIOS and ACPI methods to know about these keys being pressed, you probably want to leave them masked out from ibm-acpi, and use their non-HKEY events listed below, instead.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|+ events triggered by ACPI when hotkey is masked out or disabled. &lt;br /&gt;
! key !! event&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F4}} || button/sleep SLPB 00000080 00000001&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F12}} || ibm/hotkey HKEY 00000080 0000100c&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===tpb configuration===&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|+ configuration keywords for [[tpb]] (to put in {{path|/etc/tpbrc}})&lt;br /&gt;
! key !! config keyword&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Access IBM|#495988}} or {{ibmkey|ThinkPad|#494949}} || THINKPAD&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Home|#494949}} || HOME&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Search|#494949}} || SEARCH&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Mail|#494949}} || MAIL&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Favorites|#494949}} || FAVORITES&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Reload|#494949}} || RELOAD&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Abort|#494949}} || ABORT&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Backward|#494949}} || BACKWARD&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Forward|#494949}} || FORWARD&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}} || FN&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Space}} || CALLBACK (zoom on/off)&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|PageUp}} || CALLBACK (thinklight on/off)&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F7}} || CALLBACK (display lcd/crt/both)&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F8}} || CALLBACK (expand on/off)&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Home}} / {{key|Fn}}{{key|Pos1}} || CALLBACK (brightness &amp;lt;percent&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|End}} || CALLBACK (brightness &amp;lt;percent&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Volume up|#494949}} || CALLBACK (volume &amp;lt;percent&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Volume down|#494949}} || CALLBACK (volume &amp;lt;percent&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Volume mute|#494949}} || CALLBACK (mute on/off)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
To all parameter keywords should be assigned the full path to the executables supposed to be started on key press.&lt;br /&gt;
The exectable provided for the CALLBACK keyword should take the parameters given in parentheses and act according to them.&lt;br /&gt;
If you want to use xmodmap for the HOME, SEARCH, MAIL, FAVORITES, RELOAD, ABORT, BACKWARD, FORWARD and FN keys you should&lt;br /&gt;
provide a &amp;lt;tt&amp;gt;XEVENTS OFF&amp;lt;/tt&amp;gt; in your {{path|/etc/tpbrc}}. &lt;br /&gt;
You can use an appropriate executable to [[How to inject fake keystrokes|inject fake keystrokes]].&lt;br /&gt;
&lt;br /&gt;
For Debian users, tpb is started from {{path|/etc/X11/Xsession.d/90tpb}}.&lt;br /&gt;
&lt;br /&gt;
'''Sound Button configuration'''&lt;br /&gt;
&lt;br /&gt;
''Note: Tested on T60p with Ubuntu 6.06 LTS''&lt;br /&gt;
&lt;br /&gt;
Most Thinkpads have a hardware sound mixer, thus the volumes buttons should work without configuration. However, this change is not reflected in the software mixer. tpb has a switch to enable software mixer support via OSS. The manual recommends this only for devices without a hardware mixer, but it also works for other hadware mixer enabled devices, even with the ALSA system. Just put MIXER ON in your {{path|/etc/tpbrc}} file and you can see the effect immediately in any ALSA mixer (e.g. kmix). For this to work you need write permissions to {{path|/dev/nvram}}.&lt;br /&gt;
&lt;br /&gt;
''Note: Tested on X21 with Ubuntu 6.06 LTS''&lt;br /&gt;
&lt;br /&gt;
On the ThinkPad X21 (and maybe some other older models) ACPI causes problems with tpb.  On an X21 using acpi the volume buttons would work occasionally, and the OSD for tpb functions would rarely work.  If a volume buttons was pressed too often, sometimes the computer would enter a low power (unplugged state) and would require a reboot.  The solution is to use APM instead of ACPI.  Instructions can be found in [[How_to_make_APM_work]].&lt;br /&gt;
&lt;br /&gt;
===KMilo configuration===&lt;br /&gt;
The programs to be executed by [[KMilo]] are configured via the KDE Control Center (&amp;lt;tt&amp;gt;kcontrol&amp;lt;/tt&amp;gt;), under &amp;lt;tt&amp;gt;System Administration --&amp;gt; IBM Thinkpad Laptop&amp;lt;/tt&amp;gt;. Note that you can use appropriate commands to [[How to inject fake keystrokes|inject fake keystrokes]].&lt;br /&gt;
&lt;br /&gt;
===xmodmap configuration===&lt;br /&gt;
xmodmap enables you to edit the modifier map and keymap tables that are used to translate keycodes into keysyms.&lt;br /&gt;
Understood? Well, basically it allows you to give the X server a dictionary for the translation of keycodes like &amp;quot;97&amp;quot; into more human readable synonyms like &amp;quot;Home&amp;quot;. This way xmodmap allows you to make the special keys of your keyboard known to X applications.&lt;br /&gt;
&lt;br /&gt;
To discover the keycode that a certain keypress produces, use the tool {{cmduser|xev}} &lt;br /&gt;
&lt;br /&gt;
Usually you should write your keycode-keysym associations into the file {{path|~/.Xmodmap}}. This file is usually read by the X session startup scripts of your system, so that the mappings automatically get included everytime you run the X server.&lt;br /&gt;
&lt;br /&gt;
The {{path|~/.Xmodmap}} lines for our purpose are in the form of&lt;br /&gt;
 keycode &amp;lt;keycode&amp;gt; = &amp;lt;keysym&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Load the assocation using the command&lt;br /&gt;
&lt;br /&gt;
{{cmduser|xmodmap ~/.Xmodmap}} &lt;br /&gt;
&lt;br /&gt;
(some configurations do this automatically upon X startup). &lt;br /&gt;
&lt;br /&gt;
The following table shows the keycodes generated by the ThinkPad special keys and sensible keysyms to assign them to.&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|+ keycodes and recommended keysyms&lt;br /&gt;
! key !! keycode !! keysym&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Access IBM|#495988}} or {{ibmkey|ThinkPad|#494949}} || 159 || XF86LaunchA&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Backward|#494949}} || 234 || XF86Back or F19&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Forward|#494949}} || 233 || XF86Forward or F20&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Play/Pause|#494949}} || 162 || XF86AudioPlay&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Stop|#494949}} || 164 || XF86AudioStop&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Next|#494949}} || 153 || XF86AudioNext&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Previous|#494949}} || 144 || XF86AudioPrev&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| {{ibmkey|Home|#494949}} || 178 || XF86HomePage&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Search|#494949}} || 229 || XF86Search&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Mail|#494949}} || 236 || XF86Mail&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Favorites|#494949}} || 230 || XF86AddFavorite or XF86Favorites&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Reload|#494949}} || 231 || XF86Reload&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Abort|#494949}} || 232 || XF86Stop&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}} || 227 || F35&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: You can also using xkeycaps(a tool graphically display and edit the X keyboard mapping) to generate proper .Xmodmap.&lt;br /&gt;
&lt;br /&gt;
Note: if you are running [[tpb]] you might need to add the line &amp;lt;tt&amp;gt;XEVENTS=off&amp;lt;/tt&amp;gt; into your tpbrc to stop it from grabbing the key events and allow them to get through to X instead.&lt;br /&gt;
&lt;br /&gt;
Note: XF86Forward and XF86Back do not work correctly in Firefox. You may want to map them to F19 and F20 instead if you use Firefox.&lt;br /&gt;
&lt;br /&gt;
=====Enabling the Windows and Menu Keys=====&lt;br /&gt;
On some systems the Windows and Menu keys may not be recognized.  You can enable then by&lt;br /&gt;
making the following changes:&lt;br /&gt;
&lt;br /&gt;
        keycode 115 = F13&lt;br /&gt;
        keycode 227 = F35&lt;br /&gt;
&lt;br /&gt;
F13 and F35 are used for the Windows and and Menu keys respectively.  Labelling keycpode 227 as &amp;quot;Menu&amp;quot; may conflict with the right-mouse-click event.&lt;br /&gt;
&lt;br /&gt;
=====Using Caps Lock as Super L (Windows key)=====&lt;br /&gt;
You can easily use Caps Lock as Win key by adding the following in your ~/.Xmodmap:&lt;br /&gt;
        ! No Caps Lock&lt;br /&gt;
        clear lock&lt;br /&gt;
        ! Caps Lock as Win key&lt;br /&gt;
        add mod4 = Caps_Lock&lt;br /&gt;
=====NumLock=====&lt;br /&gt;
On the ThinkPad {{600}}, {{T20}}, {{T21}}, {{T22}}, {{T30}}, {{X20}}, {{X21}},  {{X31}}, {{T43}}, {{R51}}, {{R52}} and possibly other models, X does not recognize the keycode for {{key|NumLk}} = {{key|Shift}}+{{key|ScrLk}}. To fix this, add the following to {{path|~/.Xmodmap}} in your home directory or {{path|/etc/X11/Xmodmap}} and run &amp;lt;tt&amp;gt;xmodmap&amp;lt;/tt&amp;gt;, ex: &amp;lt;tt&amp;gt;xmodmap ~/.Xmodmap&amp;lt;/tt&amp;gt;:&lt;br /&gt;
 keycode 77 = Num_Lock&lt;br /&gt;
&lt;br /&gt;
===Mapping keys with setkeycodes===&lt;br /&gt;
You can use the setkeycodes command to remap certain keys. I.e. you can use {{cmdroot|setkeycodes 6e 109 6d 104 69 28 6b 1}} to map the Tablets Up and Down keys to the standard PageUp and PageDown keys and Tablet Escape and Enter to their respective keys.&lt;br /&gt;
&lt;br /&gt;
The following table shows the keycodes generated by the ThinkPad keys.&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|+ keycodes&lt;br /&gt;
! key !! keycode&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet orientation|#494949}} || 0x6d&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet Shortcut|#494949}} || 0x6e&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet Esc|#494949}} || 0x6b&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet Enter|#494949}} || 0x69&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet Up|#494949}} || 0x68&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet Down|#494949}} || 0x6c&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet (unlabeled)|#494949}} || 0x67&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Example Applications==&lt;br /&gt;
===Web Browsers===&lt;br /&gt;
====Firefox====&lt;br /&gt;
To have firefox make use of the browser keys you need to modify one of its files{{footnote|3}}.&lt;br /&gt;
To do this you will first need to extract it from the {{path|browser.jar}} archive. Do...&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|cd &amp;lt;firefox-directory&amp;gt;/chrome}}&amp;lt;br /&amp;gt;&lt;br /&gt;
:{{cmdroot|unzip browser.jar}}&lt;br /&gt;
&lt;br /&gt;
The file of interest is {{path|content/browser/browser.xul}}. Edit it {and don't forget to make a backup copy first}...&lt;br /&gt;
:{{cmdroot|vi content/browser/browser.xul}}&lt;br /&gt;
&lt;br /&gt;
Look for the '''&amp;lt;keyset id=&amp;quot;mainKeyset&amp;quot;&amp;gt;''' section and add the following lines within...&lt;br /&gt;
 &amp;lt;key id=&amp;quot;goBackKb&amp;quot; keycode=&amp;quot;VK_F19&amp;quot; command=&amp;quot;Browser:Back&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;key id=&amp;quot;goForwardKb&amp;quot; keycode=&amp;quot;VK_F20&amp;quot; command=&amp;quot;Browser:Forward&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Command you need for Next Tab &lt;br /&gt;
 &amp;lt;key id=&amp;quot;goBackTabKb&amp;quot; keycode=&amp;quot;VK_F19&amp;quot; oncommand=&amp;quot;gBrowser.mTabContainer.advanceSelectedTab(-1)&amp;quot; /&amp;gt;&lt;br /&gt;
For the Previous Tab &lt;br /&gt;
 &amp;lt;key id=&amp;quot;goForwardTabKb&amp;quot; keycode=&amp;quot;VK_F20&amp;quot; oncommand=&amp;quot;gBrowser.mTabContainer.advanceSelectedTab(1)&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now save the file and repackage the {{path|browser.jar}} archive...&lt;br /&gt;
:{{cmdroot|zip -rD0 browser.jar content/browser/}}&lt;br /&gt;
&lt;br /&gt;
That's it.&lt;br /&gt;
&lt;br /&gt;
{{HINT|For Firefox 2.0, just edit &amp;lt;firefox-directory&amp;gt;/chrome/browser/content/browser/browser.xul}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|Another interesting Page on Firefox is http://dqd.com/~mayoff/notes/thinkpad/dqdnavkeys/ It uses different key mappings (F19 resp. F20) but a ready [http://dqd.com/~mayoff/notes/thinkpad/dqdnavkeys/dqdnavkeys-1.2.xpi .xpi] is provided which is pretty comfortable. However, this xpi file does not install on Firefox 1.5.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|You can also use the [http://extensionroom.mozdev.org/more-info/keyconfig keyconfig] extension to configure custom keys.  This extension works with Firefox 1.5. The Command you need for Next Tab is gBrowser.mTabContainer.advanceSelectedTab(1,true); For Previous Tab its gBrowser.mTabContainer.advanceSelectedTab(-1,true); }}.&lt;br /&gt;
&lt;br /&gt;
====Konqueror====&lt;br /&gt;
KDE allows you set key mappings for KDE applications (Go to KMenu &amp;gt; System &amp;gt; Control Center &amp;gt; Regional &amp;amp; Accessibility &amp;gt; Keyboard Shortcuts). By default (at least in KDE 3.5), XF86Back and XF86Forward are set as alternatives to Alt-Left and Alt-Right, and are mapped to KDE Back and Forward navigation actions.  &lt;br /&gt;
&lt;br /&gt;
If you use Konqueror as your only browser, you only need to set up {{path|~/.Xmodmap}} as described [[#xmodmap configuration|above]] to assign ThinkPad back/forward keys to the symbols XF86Back/XF86Forward. This also make these keys work for other KDE applications such as Quanta Plus, KPackage and so on (not all KDE applications honor this setting, e.g. KDE help system doesn't).&lt;br /&gt;
&lt;br /&gt;
If you want to use Firefox, however, the above settings do not work. You will have to map ThinkPad back/forward keys to F19/F20 as described [[#Firefox|above]], and change KDE navigation key settings to use F19/F20 instead of the default.&lt;br /&gt;
&lt;br /&gt;
====Opera====&lt;br /&gt;
However this isn't a simple configration file, you can set your browser manually.&amp;lt;br /&amp;gt;&lt;br /&gt;
Go to &amp;lt;i&amp;gt;Tool &amp;gt; Settings &amp;gt; Mouse and keyboard &amp;gt; Keyboard settings &amp;gt; Edit &amp;gt; Browser Window&amp;lt;/i&amp;gt;. There add F19 - Back and F20 - Forward. Now you can surf using your TP keys ;-)&lt;br /&gt;
&lt;br /&gt;
===Window Managers===&lt;br /&gt;
====fvwm====&lt;br /&gt;
To get the {{ibmkey|Forward|#494949}} and {{ibmkey|Backward|#494949}} keys to cycle through pages in the virtual desktop, add this to your {{path|~/.fvwmrc}}:&lt;br /&gt;
 Key    XF86Back     A      A   Scroll     -100000   0&lt;br /&gt;
 Key    XF86Forward  A      A   Scroll     +100000   0&lt;br /&gt;
If you use multiple virtual desktops, you could instead use the keys to flip between them by using GotoDesk.&lt;br /&gt;
&lt;br /&gt;
====fluxbox====&lt;br /&gt;
To get the keys to cycle through pages in the virtual desktop, add this to your {{path|~/.fluxbox/keys}}:&lt;br /&gt;
 None F19 :PrevWorkspace&lt;br /&gt;
 None F20 :NextWorkspace&lt;br /&gt;
&lt;br /&gt;
====pekwm configuration====&lt;br /&gt;
You can make the two browser keys switch workspaces in pekwm, by adding the following two lines to the {{path|~/.pekwm/keys}} file:&lt;br /&gt;
 KeyPress = &amp;quot;Mod1 XF86Back&amp;quot; { Actions = &amp;quot;GoToWorkspace prev&amp;quot; }&lt;br /&gt;
 KeyPress = &amp;quot;Mod1 XF86Forward&amp;quot; { Actions = &amp;quot;GoToWorkspace next&amp;quot; }&lt;br /&gt;
&lt;br /&gt;
====pwm====&lt;br /&gt;
Another example how to use these two keys to switch between pwm tabs. These two lines should be added to {{path|~/.pwm/keys-default.conf}} or {{path|/etc/pwm/keys-default.conf}}:&lt;br /&gt;
 kbind &amp;quot;Back&amp;quot;, &amp;quot;switch_rot&amp;quot;, -1&lt;br /&gt;
 kbind &amp;quot;Forward&amp;quot;, &amp;quot;switch_rot&amp;quot;, 1&lt;br /&gt;
&lt;br /&gt;
====icewm====&lt;br /&gt;
Some applications use {{key|Ctrl}}{{key|Left}} and {{key|Ctrl}}{{key|Right}} to set the cursor to the beginning of the previous / next word. In icewm, though, they're bound to previous / next workspace. Change these two options in {{path|~/.icewm/preferences}} to bind those to {{ibmkey|Forward|#494949}} and {{ibmkey|Backward|#494949}}: (Provided you assigned keysyms F19 and F20 with xmodmap)&lt;br /&gt;
 # &amp;quot;Previous workspace&amp;quot; shortcut&lt;br /&gt;
 KeySysWorkspacePrev=&amp;quot;F19&amp;quot;&lt;br /&gt;
 # &amp;quot;Next workspace&amp;quot; shortcut&lt;br /&gt;
 KeySysWorkspaceNext=&amp;quot;F20&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Other Uses===&lt;br /&gt;
====Console tools configuraton====&lt;br /&gt;
To make the {{ibmkey|Forward|#494949}} and {{ibmkey|Backward|#494949}} keys useful in console, add this to your keymap ({{path|/etc/console/boottime.kmap.gz}} in {{Debian}}):&lt;br /&gt;
 keycode 158 = Decr_Console&lt;br /&gt;
 keycode 159 = Incr_Console&lt;br /&gt;
&lt;br /&gt;
Alternatively you can load this script (perhaps on system startup) to enable Backward/Forward button console (VT) switch:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 setkeycodes e06a 126 e069 127&lt;br /&gt;
 echo keycode 126 = Decr_Console | loadkeys&lt;br /&gt;
 echo keycode 127 = Incr_Console | loadkeys&lt;br /&gt;
&lt;br /&gt;
It should work with any distro.&lt;br /&gt;
&lt;br /&gt;
==External Sources==&lt;br /&gt;
*[http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-51537 IBMs page on configuring the ThinkPad buttons (ThinkPad, Access IBM, Mail, Search, and Home buttons) under Linux]&lt;br /&gt;
*[http://dqd.com/~mayoff/notes/thinkpad/dqdnavkeys/ Rob Mayoffs page on using IBM Keyboard Navigation Keys in Linux Mozilla and Firefox]&lt;br /&gt;
*[http://snarfed.org/space/thinkpad+keys+in+firefox Ryan Barretts blog article about using the browser keys in Firefox]&lt;br /&gt;
&lt;br /&gt;
{{footnotes|&lt;br /&gt;
#if there are more than one tool listed, one is sufficient&lt;br /&gt;
#'full' means you can completely reassign any action to be triggered by the key, 'additional actions' means you can trigger actions in addition to the standard function of the key, which can not be changed.&lt;br /&gt;
#Thanks go to Ryan Barrett for writing the [http://snarfed.org/space/thinkpad+keys+in+firefox little howto] on [http://snarfed.org/space/start his blog].&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Lentinj</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=User:Lentinj&amp;diff=29269</id>
		<title>User:Lentinj</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=User:Lentinj&amp;diff=29269"/>
		<updated>2007-04-12T18:48:34Z</updated>

		<summary type="html">&lt;p&gt;Lentinj: Updated Inventory&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I have:-&lt;br /&gt;
* [http://www.wormnet.eu/ibm-g40 Thinkpad G40] (2388-4SG)&lt;br /&gt;
** P4 2.8Ghz&lt;br /&gt;
** 80Gb HDD&lt;br /&gt;
** 1024x768 LCD&lt;br /&gt;
* Thinkpad 770X (9549-7A0)&lt;br /&gt;
** PII 300Mhz&lt;br /&gt;
** 40Gb HDD (&amp;quot;aftermarket&amp;quot; HDD, opened up HDD sardine tin and replaced 14Gb HDD)&lt;br /&gt;
** 1280x1024 LCD&lt;br /&gt;
** Video Capture/MPEG2 Add-on (not that there is ever going to be Linux support for it)&lt;br /&gt;
** DVD / Battery / FDD / HDD Tray for Ultrabay&lt;br /&gt;
** Debian Linux&lt;br /&gt;
&lt;br /&gt;
As well as 770X(w/XGA screen), 770Z, A22p &amp;amp; A30 making cameo appearances to test things on.&lt;/div&gt;</summary>
		<author><name>Lentinj</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Problem_with_unauthorized_MiniPCI_network_card&amp;diff=29268</id>
		<title>Talk:Problem with unauthorized MiniPCI network card</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Problem_with_unauthorized_MiniPCI_network_card&amp;diff=29268"/>
		<updated>2007-04-12T18:44:16Z</updated>

		<summary type="html">&lt;p&gt;Lentinj: Anecdotal evidence of working patch for G40&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Affected Models ==&lt;br /&gt;
I am unsure about which models this applies to.  I have seen reports of this problem affecting a T41p, T43, X40, R31, X31, and T30; but I do not know how far back this problem goes or if there are exceptions.  If anyone has better information, please clarify/specify the &amp;quot;Affected Models&amp;quot; section. --[[User:Kevinoid|Kevinoid]] 05:44, 14 Dec 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
I have a R40 model 2681-K9G that came without any mini-pci card so I bought a Intel PRO/Wireless 2915ABG mini-pci card for it. When I discovered that it would not work in my Thinkpad I came to this site to see if there was a fix. Seemed like there was, so I bought a mini-pci-to-PCI adapter and installed the card(s) in my desktop. Now I need to know what vendor and device ID strings to use when I flash the card's BIOS. Anyone have a list?&lt;br /&gt;
&lt;br /&gt;
== Solution on T43? ==&lt;br /&gt;
There were several edits to the previous page to the effect that &amp;quot;this didn't work for my T43&amp;quot;.  Although I do not weight this as highly credible (please just ask for help on the ML rather than adding random comments to pages), I did feel that it deserved a mention that the solution may not work on the T43.  If anyone can confirm or deny this statement, please do so (and possibly ask on the ML for solutions if it does not work for you). --[[User:Kevinoid|Kevinoid]] 05:44, 14 Dec 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
== Confirmation - patch not working on T43 ==&lt;br /&gt;
I can confirm, that a &amp;quot;nvram/cmos&amp;quot; patch is not working on my T43, exact type 1871-A62. I tried several cards (some working without patch in another thinkpads (t40, t42, x40), but no success.--[[User:Jap|Jap]] 09:50, 13 June 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
== Hotplugging PCI device ==&lt;br /&gt;
I'd like to send out a '''BIG FAT WARNING''' that 'hotplugging' the mini-PCI card can easily lead to frying the system board, mini-PCI bus, or both. Yes, it happened to me... :-( Interrupting the boot process at the lilo boot menu, and then inserting the ipw2915abg card worked as a charm to circumvent the BIOS white list. However, somewhere it must have gone wrong because now the laptop hangs immediately when the IBM/Intel boot logos appear. --[[User:LJSBrokken|LJSBrokken]] 13:01, 20 July 2006 (GMT+1)&lt;br /&gt;
&lt;br /&gt;
== Z60 series ==&lt;br /&gt;
I tried this on a Lenovo Z60t. Bought an Intel Wireless card since the linux drivers for the madwifi are crap. I applied the C-Patch from here. Then after booting with the intel device installed I get some weird broadcom PXE boot messages displayed ontop of the key symbol for startup security. Even if I don't put my finger on the sensor, it continues with GRUB. At this point I can't use the keyboard, the key symbol is still displayed in the upper left corner. After a few secons grub starts with its default entry (Gentoo Linux). It all works, but no Wireless Adapter shows up in lspci.&lt;br /&gt;
&lt;br /&gt;
So, I don't have that 1802 error, but still can't use my wifi card. Any ideas?&lt;br /&gt;
&lt;br /&gt;
== G40 series ==&lt;br /&gt;
According to [[http://www.wifi-forum.com/wf/showthread.php?t=60620|this forum post]], the CMOS hack (I assume they are referring to the bit-twiddling code) works.  Does anyone else have anything to confirm this?  I might well try it myself (in which case I'll update the main table), but I'll have to at least get an aerial first.&lt;br /&gt;
&lt;br /&gt;
[[User:lentinj|lentinj]]&lt;/div&gt;</summary>
		<author><name>Lentinj</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=ThinkPad_560_Port_Replicator&amp;diff=28248</id>
		<title>ThinkPad 560 Port Replicator</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=ThinkPad_560_Port_Replicator&amp;diff=28248"/>
		<updated>2007-02-16T19:04:29Z</updated>

		<summary type="html">&lt;p&gt;Lentinj: Docking station doesn't have a power switch (least the one in front of me doesnt)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; border=&amp;quot;0&amp;quot;&lt;br /&gt;
| style=&amp;quot;vertical-align:top;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; | &amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
== IBM ThinkPad 560 Port Replicator ==&lt;br /&gt;
The IBM ThinkPad 560 Port Replicator contains basic pass-through connections for the notebook ports. It comes without integrated power supply but provides the same DC port as found in a ThinkPad, so you need to use either your Thinkpad AC adapter or another IBM AC adapter. Besides all the pass-through ports the Port Replicator comes with a slot for a cable lock (only for the dock though).&lt;br /&gt;
  &lt;br /&gt;
===Features===&lt;br /&gt;
* Passthrough ports:&lt;br /&gt;
** [[PS/2 Port|PS/2 Keyboard]]&lt;br /&gt;
** [[PS/2 Port|PS/2 Mouse]]&lt;br /&gt;
** [[Serial Port|Serial (DB9-M)]]&lt;br /&gt;
** [[Parallel Port|Parallel (DB25-F)]]&lt;br /&gt;
** [[Floppy Connector|External Diskette drive]] &amp;lt;tt&amp;gt;(not supported on 380 and 385)&amp;lt;/tt&amp;gt;&lt;br /&gt;
** [[VGA Port|VGA]]&lt;br /&gt;
* Kensington Security hole&lt;br /&gt;
* DC Power connector&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Partnumbers ==&lt;br /&gt;
* Marketing PN: 46H4209 (withdrawn)&lt;br /&gt;
* FRU PN: 12P4055, 05K4645, 46H4107&lt;br /&gt;
&lt;br /&gt;
== Supported ThinkPads ==&lt;br /&gt;
* {{380}}, {{380E}}, {{380ED}}, {{380XD}}, {{380Z}}&lt;br /&gt;
* {{385D}}, {{385ED}}, {{385XD}}&lt;br /&gt;
* {{560}}, {{560E}}, {{560X}}, {{560Z}}&lt;br /&gt;
* {{570}} &amp;lt;tt&amp;gt;(with [[Direct Dock Adapter]] or [[UltraBase]])&amp;lt;/tt&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lentinj</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installation_instructions_for_the_ThinkPad_G40&amp;diff=28008</id>
		<title>Installation instructions for the ThinkPad G40</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installation_instructions_for_the_ThinkPad_G40&amp;diff=28008"/>
		<updated>2007-01-29T21:30:29Z</updated>

		<summary type="html">&lt;p&gt;Lentinj: Added link to my G40 configuration page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Specific installation notes for the ThinkPad {{G40}}.&lt;br /&gt;
&lt;br /&gt;
==General Notes==&lt;br /&gt;
&lt;br /&gt;
==Distro specific Instructions==&lt;br /&gt;
&lt;br /&gt;
==External Sources==&lt;br /&gt;
*[http://www.hardeman.nu/~david/thinkpad.php David Hardeman's Debian on a ThinkPad G40 page]&lt;br /&gt;
*[http://www.userve.nl/laptop-g40.html Kenneth van Grinsven's Mandrake 9.1 on a ThinkPad G40 page]&lt;br /&gt;
*[http://www.wormnet.eu/ibm-g40 Jamie Lentin's Debian on a Thinkpad G40 page]&lt;/div&gt;</summary>
		<author><name>Lentinj</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problem_with_broken_sound_on_some_ThinkPads&amp;diff=12982</id>
		<title>Problem with broken sound on some ThinkPads</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Problem_with_broken_sound_on_some_ThinkPads&amp;diff=12982"/>
		<updated>2005-08-20T17:29:59Z</updated>

		<summary type="html">&lt;p&gt;Lentinj: Updated explanation of the problem&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Information about the phenomena of broken sound on 600/E type ThinkPads.&lt;br /&gt;
&lt;br /&gt;
==Problem description==&lt;br /&gt;
&lt;br /&gt;
The following is not true with a Fedora Core Devel kernel 2.6.10-1.1109_FC4 (and probably other kernels) on IBM ThinkPad 600X machines. Just use the CS4610 drivers and sound will work fine. Trent Jarvi, tjarvi at qbang.org&lt;br /&gt;
&lt;br /&gt;
First of all, be aware that even though the sound chip is a Crystal SoundFusion 4610, you'll have to use the cs4236 driver to enable sound on this machine, since this driver supports the CS4239 emulation that the 4610 chip offers.&lt;br /&gt;
&lt;br /&gt;
Done that you might experience the phenomena that your sound goes into a loop after about a second just like a scratched record.&lt;br /&gt;
&lt;br /&gt;
==Affected Models==&lt;br /&gt;
*ThinkPad {{600}}, {{600E}}&lt;br /&gt;
*ThinkPad {{770Z}}&lt;br /&gt;
&lt;br /&gt;
==Affected Operating Systems==&lt;br /&gt;
*Linux, all flavours&lt;br /&gt;
&lt;br /&gt;
==Status==&lt;br /&gt;
The PCI chip that you see in lspci (in my 770x case 4610) is the DSP half of the soundcard.  You also need a codec to do conversion between digital and analog, audio routing, etc.  The CS46xx driver expects to find an [http://www.intel.com/design/chipsets/audio/ AC'97-compatible] chip addressible through the PCI Cirrus logic chip to do these tasks.&lt;br /&gt;
&lt;br /&gt;
However, in the affected laptops there is no AC'97 chip.  Instead there is an older, ISA-based soundcard to do these tasks as well as providing legacy app support.  The cs46xx driver cannot find the AC'97 chip, nor can it support the ISA soundcard for codec duties, so closes finding no soundcards.  The current solution is to ignore this PCI chip and use sound though the legacy ISA chip only, either through the cs4236 or cs4232 driver.&lt;br /&gt;
&lt;br /&gt;
Alternatively, I have tried removing the dependency on the existence on a AC'97 codec in the cs46xx driver, theory being that it may be possible to use the cs4236 driver for the mixing functions.  This resulted in the driver loading and detecting all the resources of the cs4610, however interrupt issues seemed to be preventing it from outputting sound.&lt;br /&gt;
&lt;br /&gt;
A good thread on the problem can be found in the [http://www.mail-archive.com/alsa-devel@lists.sourceforge.net/msg01181.html alsa-devel mailing list]&lt;br /&gt;
&lt;br /&gt;
Here's an older explanation of what happens:&lt;br /&gt;
&lt;br /&gt;
The problem with the 600 series is that there is not one, not two, but THREE &lt;br /&gt;
chips that look like sound cards to Linux. The actual Crystal chip is one of &lt;br /&gt;
them, the mwave is another, and the video chipset has a DSP that can be used &lt;br /&gt;
as sound circuitry if a designer opted to do so.&lt;br /&gt;
&lt;br /&gt;
==Solutions==&lt;br /&gt;
===Solution #1===&lt;br /&gt;
Compile the sound driver as module and load it after everything else. You can create a boot script with the following line for that:&lt;br /&gt;
 /sbin/modprobe snd-cs4236 index=0 port=0x530 cport=0x538 irq=5 dma1=1 dma2=0 isapnp=0&lt;br /&gt;
This is reported to work at least with kernel 2.6.9.&lt;br /&gt;
&lt;br /&gt;
If the above line fails, quick boot is probably activated in the bios. In that case you need to manually activate the sound card:&lt;br /&gt;
*With apm and pnpbios, this is done with setpnp from the pcmcia package: {{cmdroot|setpnp 0x0e on&amp;amp;&amp;amp; setpnp 0x0f on}}&lt;br /&gt;
*With acpi and pnpacpi, the command is: {{cmdroot|echo 'activate' &amp;gt;/sys/devices/pnp0/00:05/resources &amp;amp;&amp;amp; echo 'activate' &amp;gt;/sys/devices/pnp0/00:06/resources}}&lt;br /&gt;
&lt;br /&gt;
This only works with a kernel that fully supports pnpacpi, and provided that [http://bugzilla.kernel.org/show_bug.cgi?id=3912 this patch] has been applied. It seems that the dma numbers change with pnpacpi (dma1=1, dma2=5 for instance).&lt;br /&gt;
&lt;br /&gt;
===Solution #2===&lt;br /&gt;
Make sure that the bios quick boot feature is disabled. &amp;lt;br /&amp;gt;&lt;br /&gt;
Add the following lines to one of your init process files, i.e, {{path|rc.local}}:&lt;br /&gt;
 modprobe sound&lt;br /&gt;
 insmod ad1848&lt;br /&gt;
 insmod uart401&lt;br /&gt;
 insmod cs4232 io=0x530 irq=5 dma=1 dma2=0&lt;br /&gt;
&lt;br /&gt;
===Solution #3===&lt;br /&gt;
If your module loads like it should, but audio loops or sounds choppy then reloading module should help:&lt;br /&gt;
:{{cmdroot|rmmod cs4232 &amp;amp;&amp;amp; modprobe cs4232}}&lt;/div&gt;</summary>
		<author><name>Lentinj</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Intel_Mobile_Pentium_II&amp;diff=8205</id>
		<title>Talk:Intel Mobile Pentium II</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Intel_Mobile_Pentium_II&amp;diff=8205"/>
		<updated>2005-08-20T17:11:43Z</updated>

		<summary type="html">&lt;p&gt;Lentinj: Possible correction?&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;According to /proc/cpuinfo, my 770X has a desktop PII, as opposed to a mobile one.&lt;br /&gt;
 # cat /proc/cpuinfo &lt;br /&gt;
 processor       : 0&lt;br /&gt;
 vendor_id       : GenuineIntel&lt;br /&gt;
 cpu family      : 6&lt;br /&gt;
 model           : 5&lt;br /&gt;
 model name      : Pentium II (Deschutes)&lt;br /&gt;
 stepping        : 2&lt;br /&gt;
 cpu MHz         : 297.817&lt;br /&gt;
 cache size      : 512 KB&lt;br /&gt;
Versus a 770z...&lt;br /&gt;
 # cat 770z/cpuinfo&lt;br /&gt;
 processor       : 0&lt;br /&gt;
 vendor_id       : GenuineIntel&lt;br /&gt;
 cpu family      : 6&lt;br /&gt;
 model           : 6&lt;br /&gt;
 model name      : Mobile Pentium II&lt;br /&gt;
 stepping        : 10&lt;br /&gt;
 cpu MHz         : 364.038&lt;br /&gt;
 cache size      : 256 KB&lt;br /&gt;
Dunno if this info can be relied upon or not.&lt;br /&gt;
&lt;br /&gt;
[[User:lentinj]]&lt;/div&gt;</summary>
		<author><name>Lentinj</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=UltraBay_II_HDD_Adapter&amp;diff=7614</id>
		<title>UltraBay II HDD Adapter</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=UltraBay_II_HDD_Adapter&amp;diff=7614"/>
		<updated>2005-08-10T18:21:24Z</updated>

		<summary type="html">&lt;p&gt;Lentinj: Clarified hotplug situation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== Ultrabay II HDD Adapter Tray ===&lt;br /&gt;
This is an adapter to connect an additional HDD to the Ultrabay II&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Takes any 700 series HDD's that are contained in a 770-style &amp;quot;sardine-tin&amp;quot; or a 760-style push-on HDD.&lt;br /&gt;
* Can be used with any 2.5&amp;quot; HDD, if you gut a push-on HDD for the adapter.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== IBM Partnumbers ===&lt;br /&gt;
11J8941&lt;br /&gt;
&lt;br /&gt;
=== Linux Support ===&lt;br /&gt;
If connected at boot time, the drive is hdc.  Hotplugging between this &amp;amp; another non-IDE device works fine (the kernel doesn't realise it's disconnected), between this and DVD the kernel will recognise the new drive, but panic.&lt;br /&gt;
&lt;br /&gt;
=== Also known (in IBM literature) as.... ===&lt;br /&gt;
&lt;br /&gt;
=== ThinkPad's supporting this drive ===&lt;br /&gt;
*ThinkPad {{770}}, {{770E}}, {{770ED}}, {{770X}}, {{770Z}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Components]]&lt;/div&gt;</summary>
		<author><name>Lentinj</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=UltraBay_II_HDD_Adapter&amp;diff=7592</id>
		<title>UltraBay II HDD Adapter</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=UltraBay_II_HDD_Adapter&amp;diff=7592"/>
		<updated>2005-08-10T18:18:51Z</updated>

		<summary type="html">&lt;p&gt;Lentinj: Details on HDD adapter&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== Ultrabay II HDD Adapter Tray ===&lt;br /&gt;
This is an adapter to connect an additional HDD to the Ultrabay II&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Takes any 700 series HDD's that are contained in a 770-style &amp;quot;sardine-tin&amp;quot; or a 760-style push-on HDD.&lt;br /&gt;
* Can be used with any 2.5&amp;quot; HDD, if you gut a push-on HDD for the adapter.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== IBM Partnumbers ===&lt;br /&gt;
11J8941&lt;br /&gt;
&lt;br /&gt;
=== Linux Support ===&lt;br /&gt;
If connected at boot time, the drive is hdc.  Hotplugging is not yet supported, as far as I know (well, it nearly works.  The new drive will be found, but the kernel will quickly panic).&lt;br /&gt;
&lt;br /&gt;
=== Also known (in IBM literature) as.... ===&lt;br /&gt;
&lt;br /&gt;
=== ThinkPad's supporting this drive ===&lt;br /&gt;
*ThinkPad {{770}}, {{770E}}, {{770ED}}, {{770X}}, {{770Z}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Components]]&lt;/div&gt;</summary>
		<author><name>Lentinj</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Ultrabay_Devices&amp;diff=7609</id>
		<title>Ultrabay Devices</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Ultrabay_Devices&amp;diff=7609"/>
		<updated>2005-08-10T18:05:20Z</updated>

		<summary type="html">&lt;p&gt;Lentinj: Added a few more devices I own&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==UltraBay Adapters==&lt;br /&gt;
*[[UltraBay II optical drive adapter]]&lt;br /&gt;
*[[Ultrabay Enhanced optical drive adapter]]&lt;br /&gt;
*[[Ultrabay Slim optical drive adapter]]&lt;br /&gt;
*[[Ultrabay Plus Device Carrier]]&lt;br /&gt;
&lt;br /&gt;
==UltraBay Drives==&lt;br /&gt;
&lt;br /&gt;
==UltraBay II Drives==&lt;br /&gt;
*[[UltraBay II Floppy Drive]]&lt;br /&gt;
*[[UltraBay II DVD Drive]]&lt;br /&gt;
*[[UltraBay II HDD adapter tray]]&lt;br /&gt;
&lt;br /&gt;
==UltraBay FX Drives==&lt;br /&gt;
&lt;br /&gt;
==UltraSlimBay Drives==&lt;br /&gt;
&lt;br /&gt;
==UltraBay 2000 Drives==&lt;br /&gt;
&lt;br /&gt;
==UltraBay Plus Devices==&lt;br /&gt;
&lt;br /&gt;
==UltraBay Slim Drives==&lt;br /&gt;
&lt;br /&gt;
==UltraBay Enhanced Drives==&lt;/div&gt;</summary>
		<author><name>Lentinj</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=UltraBay_II_Floppy_Drive&amp;diff=7598</id>
		<title>UltraBay II Floppy Drive</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=UltraBay_II_Floppy_Drive&amp;diff=7598"/>
		<updated>2005-08-10T18:02:35Z</updated>

		<summary type="html">&lt;p&gt;Lentinj: Doesn't connect to LPT, connects to special port&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== UltraBay II Floppy drive ===&lt;br /&gt;
This is the 3.5&amp;quot; floppy drive for the UltraBay II slot.&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* 3.5&amp;quot; 1.44Mb&lt;br /&gt;
* Additional connector to allow attaching drive to proprietary external FDD connector port, allowing the ultrabay to be used for another device at the same time.  Requires special cable (similar interface to a 760ED external floppy?  The floppy end connector is the same as the Thinkpad end connector on a 760ED)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== IBM Partnumbers ===&lt;br /&gt;
12J0425, cable 12J0432&lt;br /&gt;
&lt;br /&gt;
=== Linux Support ===&lt;br /&gt;
In case you have two floppy drives, or want to attach the floppy drive externally after boot, the floppy drivers hardware autodetection cannot be relied upon.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can force the floppy driver to use both of them by adding the following line to {{path|/etc/modprobe.conf}}:&lt;br /&gt;
 options floppy floppy=1,4,cmos&lt;br /&gt;
This gives you support for either external floppy or ultrabay floppy or both if you plug them in after boot time.&lt;br /&gt;
&lt;br /&gt;
If at boot there is a floppy drive attached to the external port, this is fd0 and the ultrabay is fd1.  Otherwise (no floppies attached at boot/floppy in ultrabay at boot), then ultrabay is fd0 and external port is fd1.  An ACPI-aware floppy driver would have the ablility to stop the devices swapping around, but such a thing doesn't exist.&lt;br /&gt;
&lt;br /&gt;
=== Also known (in IBM literature) as.... ===&lt;br /&gt;
&lt;br /&gt;
=== ThinkPad's supporting this drive ===&lt;br /&gt;
*ThinkPad {{770}}, {{770E}}, {{770ED}}, {{770X}}, {{770Z}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Components]]&lt;/div&gt;</summary>
		<author><name>Lentinj</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:DVD_and_Enhanced_Video_Adapter_(DEVA)&amp;diff=16684</id>
		<title>Talk:DVD and Enhanced Video Adapter (DEVA)</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:DVD_and_Enhanced_Video_Adapter_(DEVA)&amp;diff=16684"/>
		<updated>2005-06-06T18:07:12Z</updated>

		<summary type="html">&lt;p&gt;Lentinj: signed entry&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tonko,&lt;br /&gt;
&lt;br /&gt;
Thanks for adding your input.  Just wondered if you remember more about what you tried when you played with the SAA7111A driver, and how far you got.  As far as I can tell the chip is a codec attached to the Trident chipset, meaning any driver would have to know how the cyber9397DVD video capture worked and be able to use an i2c interface to the Philips chip.&lt;br /&gt;
&lt;br /&gt;
For the TV out section I'll have a go at confirming what you can/can't do at some point, but no TV will make it tricky!&lt;br /&gt;
&lt;br /&gt;
As for the DVD half I didn't know about that driver---interesting indeed.  Again though, it's how you'd actually talk to it.  Under Win98 It does actually show up as a PCI device, and has a &amp;quot;PCI-ish&amp;quot; IRQ and memory range.  Invisible under linux, though.&lt;br /&gt;
&lt;br /&gt;
[[User:lentinj]]&lt;br /&gt;
----&lt;br /&gt;
The last 770 model was withdrawn in December 1999, and I have not touched or seen one since early 2001.&lt;br /&gt;
&lt;br /&gt;
I have had 2 different 770 models, the last being a 770X, and as you understood I had the DEVA as you do. I messed around with Linux on it at the time, and just for heck tried loading the saa7111 driver. I recall that it loaded sucessfully, but did not return any messages in syslog (that I recall), and I was not able to do anything with it.&lt;br /&gt;
&lt;br /&gt;
As you mentioned, if indeed it is i2c connected to the Trident Cyber9397 or Cyber9397DVD, then you would probably first need a i2c bus driver for the Trident chip, before the saa7111 driver could even find the chip.&lt;br /&gt;
&lt;br /&gt;
The problem is that this ThinkPad has been withdrawn more then 5 years ago, and the DEVA card was rare even when the 770's where still current, meaning that by now I think you will have problems finding other Linux users who have both a 770 and DEVA.&lt;br /&gt;
&lt;br /&gt;
Mix that with the fact that the Linux community is having problems getting specifications for current ThinkPad technologies (HDD shock detection, fingerprint reader), making it very unlikely that you will be able to find someone at IBM (or now Lenovo) who can get you the specs, meaning you are looking at a reverse-engineering project from the windows drivers.&amp;lt;br&amp;gt;&lt;br /&gt;
And such projects typically require an active user community, not something you have.&lt;br /&gt;
&lt;br /&gt;
Tonko&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Fair enough.  I was always aware that I'm quite rare in still using a 770x on a daily basis, ignoring the enhanced video adaptor...  Hell, it still works fine and plenty fast enough for me.&lt;br /&gt;
&lt;br /&gt;
Not to worry---I wasn't ever expecting to do anything useful with the adaptor, but it's still an amusing diversion every now and again  (hell, it's not properly supported with win2k, let alone linux).  The i2c driver could be massaged out of the trident XServer, but that still doesn't help in actually capturing the video.&lt;br /&gt;
&lt;br /&gt;
Thanks anyway!&lt;br /&gt;
&lt;br /&gt;
[[User:lentinj]]&lt;/div&gt;</summary>
		<author><name>Lentinj</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:DVD_and_Enhanced_Video_Adapter_(DEVA)&amp;diff=5525</id>
		<title>Talk:DVD and Enhanced Video Adapter (DEVA)</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:DVD_and_Enhanced_Video_Adapter_(DEVA)&amp;diff=5525"/>
		<updated>2005-06-06T18:06:44Z</updated>

		<summary type="html">&lt;p&gt;Lentinj: Reply to Tonko&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tonko,&lt;br /&gt;
&lt;br /&gt;
Thanks for adding your input.  Just wondered if you remember more about what you tried when you played with the SAA7111A driver, and how far you got.  As far as I can tell the chip is a codec attached to the Trident chipset, meaning any driver would have to know how the cyber9397DVD video capture worked and be able to use an i2c interface to the Philips chip.&lt;br /&gt;
&lt;br /&gt;
For the TV out section I'll have a go at confirming what you can/can't do at some point, but no TV will make it tricky!&lt;br /&gt;
&lt;br /&gt;
As for the DVD half I didn't know about that driver---interesting indeed.  Again though, it's how you'd actually talk to it.  Under Win98 It does actually show up as a PCI device, and has a &amp;quot;PCI-ish&amp;quot; IRQ and memory range.  Invisible under linux, though.&lt;br /&gt;
&lt;br /&gt;
[[User:lentinj]]&lt;br /&gt;
----&lt;br /&gt;
The last 770 model was withdrawn in December 1999, and I have not touched or seen one since early 2001.&lt;br /&gt;
&lt;br /&gt;
I have had 2 different 770 models, the last being a 770X, and as you understood I had the DEVA as you do. I messed around with Linux on it at the time, and just for heck tried loading the saa7111 driver. I recall that it loaded sucessfully, but did not return any messages in syslog (that I recall), and I was not able to do anything with it.&lt;br /&gt;
&lt;br /&gt;
As you mentioned, if indeed it is i2c connected to the Trident Cyber9397 or Cyber9397DVD, then you would probably first need a i2c bus driver for the Trident chip, before the saa7111 driver could even find the chip.&lt;br /&gt;
&lt;br /&gt;
The problem is that this ThinkPad has been withdrawn more then 5 years ago, and the DEVA card was rare even when the 770's where still current, meaning that by now I think you will have problems finding other Linux users who have both a 770 and DEVA.&lt;br /&gt;
&lt;br /&gt;
Mix that with the fact that the Linux community is having problems getting specifications for current ThinkPad technologies (HDD shock detection, fingerprint reader), making it very unlikely that you will be able to find someone at IBM (or now Lenovo) who can get you the specs, meaning you are looking at a reverse-engineering project from the windows drivers.&amp;lt;br&amp;gt;&lt;br /&gt;
And such projects typically require an active user community, not something you have.&lt;br /&gt;
&lt;br /&gt;
Tonko&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Fair enough.  I was always aware that I'm quite rare in still using a 770x on a daily basis, ignoring the enhanced video adaptor...  Hell, it still works fine and plenty fast enough for me.&lt;br /&gt;
&lt;br /&gt;
Not to worry---I wasn't ever expecting to do anything useful with the adaptor, but it's still an amusing diversion every now and again  (hell, it's not properly supported with win2k, let alone linux).  The i2c driver could be massaged out of the trident XServer, but that still doesn't help in actually capturing the video.&lt;br /&gt;
&lt;br /&gt;
Thanks anyway!&lt;/div&gt;</summary>
		<author><name>Lentinj</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=DVD_and_Enhanced_Video_Adapter_(DEVA)&amp;diff=5501</id>
		<title>DVD and Enhanced Video Adapter (DEVA)</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=DVD_and_Enhanced_Video_Adapter_(DEVA)&amp;diff=5501"/>
		<updated>2005-06-03T20:23:39Z</updated>

		<summary type="html">&lt;p&gt;Lentinj: Minimal information about card&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== IBM Enhanced Video Adaptor ===&lt;br /&gt;
This is a properitary card that gives the laptop video capture, video output and hardware MPEG2 playback, along with digital audio (AC3) out.&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Chipset: IBM MPEGCD1&lt;br /&gt;
* Interface: via. Trident video chipset?  Not a PCI device.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Usability under Linux ===&lt;br /&gt;
Probably not going to extend further than the TV out, which is controllable via BIOS.  No projects as far as I know exist to support this card under Linux.&lt;br /&gt;
&lt;br /&gt;
=== ThinkPad's this chip may be found in ===&lt;br /&gt;
* {{770X}}, {{770Z}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Components]]&lt;/div&gt;</summary>
		<author><name>Lentinj</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=MWave_MDSP2780&amp;diff=5500</id>
		<title>MWave MDSP2780</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=MWave_MDSP2780&amp;diff=5500"/>
		<updated>2005-06-03T20:06:26Z</updated>

		<summary type="html">&lt;p&gt;Lentinj: Added path to kernel documentation on chipset&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== MWave MDSP2780 ===&lt;br /&gt;
This is a IBM Mwave DSP Audio and Modem controller&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Chipset: MDSP2780&lt;br /&gt;
* Interface: ISA 16bit&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Linux Audio driver ===&lt;br /&gt;
There are no MWave Audio drivers for Linux, but you might be able to get sound by first booting into DOS, loading the DOS MWave Audio drivers, and then using loadlin to boot into Linux where you can try loading the SoundBlaster drivers. (kernel source)/Documentation/sound/oss/mwave might prove useful in doing this.&lt;br /&gt;
&lt;br /&gt;
=== Linux Modem driver ===&lt;br /&gt;
There are no MWave Modem drivers for this chipset for Linux.&lt;br /&gt;
&lt;br /&gt;
=== ThinkPad's this chip may be found in ===&lt;br /&gt;
* {{755CD}}, {{755CDV}}, {{755CE}}, {{755CSE}}, {{755CV}}, {{755CX}}&lt;br /&gt;
* {{760C}}, {{760CD}}, {{760E}}, {{760ED}}, {{760XD}}&lt;br /&gt;
* {{765D}}&lt;br /&gt;
[[Category:Components]]&lt;/div&gt;</summary>
		<author><name>Lentinj</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Trident_Cyber9397DVD&amp;diff=5503</id>
		<title>Trident Cyber9397DVD</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Trident_Cyber9397DVD&amp;diff=5503"/>
		<updated>2005-06-03T19:55:11Z</updated>

		<summary type="html">&lt;p&gt;Lentinj: Filled in blanks&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== Trident Cyber9397DVD ===&lt;br /&gt;
This is a Trident video adapter&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Chipset: Trident Image&lt;br /&gt;
* PCI ID: 1023:939a&lt;br /&gt;
* Interface: AGP 1X&lt;br /&gt;
* 4 or 8MB SGRAM&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Linux X.Org driver ===&lt;br /&gt;
This chip is supported by the 'trident' driver as part of the X.Org distribution&lt;br /&gt;
&lt;br /&gt;
==== ThinkPad LCD ====&lt;br /&gt;
Display on the internal LCD works as long as you set the monitor settings correct.&lt;br /&gt;
&lt;br /&gt;
==== External VGA port ====&lt;br /&gt;
Works, although can be somewhat temperamental with X (can require switching to console/back to restore sensible behaviour).  I have been told (second-hand) that the X people are not going to develop support for using the VGA port in multi-head mode, like Windows 98 can.  Please correct me if I'm wrong.&lt;br /&gt;
&lt;br /&gt;
==== TV Out port (part of [[Enhanced Video Adaptor]]) ====&lt;br /&gt;
Only works at 800x600 or lower.  When using APM, TV out is switchable using tpctl.&lt;br /&gt;
Should be switchable using the acpi video module, but I don't think it works.  Alternatively can switch to TV before booting linux.  &lt;br /&gt;
&lt;br /&gt;
=== Linux kernel Framebuffer driver ===&lt;br /&gt;
* vesafb: Works fine&lt;br /&gt;
* vesafb-tng:  Works, but does not get the start address of the framebuffer correctly.  With a nasty obvious hack, it works (author not informed yet---will update if there is any progress)&lt;br /&gt;
* tridentfb:  Last time tried display syncs, but lots of garbage on screen and scrolling accelleration doesn't work.  Incompatible with X.&lt;br /&gt;
&lt;br /&gt;
=== ThinkPad's this chip may be found in ===&lt;br /&gt;
* {{770X}}, {{770Z}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Components]]&lt;/div&gt;</summary>
		<author><name>Lentinj</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Ultrabay&amp;diff=2214</id>
		<title>Talk:Ultrabay</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Ultrabay&amp;diff=2214"/>
		<updated>2005-03-30T12:04:58Z</updated>

		<summary type="html">&lt;p&gt;Lentinj: Ultrabay II CD-RW?&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I am reasonably sure a Floppy drive does not exist for the UltraBay Slim.&lt;br /&gt;
People are told to use a USB FDD instead.&lt;br /&gt;
&lt;br /&gt;
Also the UltraBay 2000 battery is not supported in UltraBay Plus.&lt;br /&gt;
UltraBay Plus has its own battery that should be used&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Anyone know if it's possible to bodge together a 770X Ultrabay II CD-RW from a Ultrabay II DVD and, say, a 600E UltraSlimBay CD-RW?  Just something I've been wondering for a while.&lt;br /&gt;
&lt;br /&gt;
lentinj&lt;/div&gt;</summary>
		<author><name>Lentinj</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=9549-7AO&amp;diff=2002</id>
		<title>9549-7AO</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=9549-7AO&amp;diff=2002"/>
		<updated>2005-03-23T19:40:23Z</updated>

		<summary type="html">&lt;p&gt;Lentinj: Some 770x specs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= IBM ThinkPad 770x 9549-7AO Specifications =&lt;br /&gt;
&lt;br /&gt;
== CPU and Memory ==&lt;br /&gt;
{|&lt;br /&gt;
|Processor Manufacturer || Intel&lt;br /&gt;
|-&lt;br /&gt;
|Processor Class || Pentium II&lt;br /&gt;
|-&lt;br /&gt;
|Processor Speed || 300 MHz&lt;br /&gt;
|-&lt;br /&gt;
|Installed Memory || 256 MB (64Mb Originally?)&lt;br /&gt;
|-&lt;br /&gt;
|Maximum Memory || (??)&lt;br /&gt;
|- &lt;br /&gt;
|Memory Technology || SDRAM&lt;br /&gt;
|-&lt;br /&gt;
|Cache Size || 512 KB&lt;br /&gt;
|-&lt;br /&gt;
|Installed Video Memory || 8 MB&lt;br /&gt;
|}&lt;br /&gt;
== Storage ==&lt;br /&gt;
{|&lt;br /&gt;
|Hard Drive || 8Gb IBM Travelstar&lt;br /&gt;
|-&lt;br /&gt;
|Included Drives || MATSHITA DVD-ROM SR-8171, ATAPI CD/DVD-ROM drive (Ultrabay)&lt;br /&gt;
|-&lt;br /&gt;
|CD Read Speed || (??)&lt;br /&gt;
|-&lt;br /&gt;
|DVD Read Speed || (??)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Display and Graphics ==&lt;br /&gt;
{|&lt;br /&gt;
|Display Size || 14.1 inch&lt;br /&gt;
|-&lt;br /&gt;
|Display Type || TFT active matrix&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Processor || Trident Cyber 9397/DVD&lt;br /&gt;
|-&lt;br /&gt;
|Included Video Card || Graphics card - AGP&lt;br /&gt;
|-&lt;br /&gt;
|Resolution ||1280 x1024 pixels&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Battery ==&lt;br /&gt;
{|&lt;br /&gt;
|Battery Life || appx. 4 hours&lt;br /&gt;
|-&lt;br /&gt;
|Battery Type || Lithium ion&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Communications and Networking ==&lt;br /&gt;
{|&lt;br /&gt;
|Bluetooth || No&lt;br /&gt;
|-&lt;br /&gt;
|Modem || MWave ACP Modem (56kBps)&lt;br /&gt;
|-&lt;br /&gt;
|Network LAN || no&lt;br /&gt;
|-&lt;br /&gt;
|Network WLAN || no&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== General Product Info ==&lt;br /&gt;
{|&lt;br /&gt;
|Input Devices || Keyboard, TrackPoint&lt;br /&gt;
|-&lt;br /&gt;
|Included Sound Card || Cirrus Logic &amp;quot;Soundfusion&amp;quot; (CS 4610/11)&lt;br /&gt;
|-&lt;br /&gt;
|Hardware MPEG2 Decoder || IBM MPEGCD1&lt;br /&gt;
|-&lt;br /&gt;
|Weight || a lot&lt;br /&gt;
|-&lt;br /&gt;
|Manufacturer Part No. || 95497AO&lt;br /&gt;
|-&lt;br /&gt;
|Dimension || (??)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:T41p]]&lt;/div&gt;</summary>
		<author><name>Lentinj</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Hardware_Specifications&amp;diff=2005</id>
		<title>Hardware Specifications</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Hardware_Specifications&amp;diff=2005"/>
		<updated>2005-03-23T19:25:49Z</updated>

		<summary type="html">&lt;p&gt;Lentinj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Hardware specs and information about the specific Thinkpad Models.==&lt;br /&gt;
* Choose a model name to to get a list of all currently available information related to this Model.&lt;br /&gt;
* Choose a type-and-model number to get the specs of that specific model.&lt;br /&gt;
* Compare the [[Thinkpad series]] (R, T, X, G), get an overview of the [[ThinkPad History]] or learn about the name [[ThinkPad]].&lt;br /&gt;
&lt;br /&gt;
==Available Models==&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|- style=&amp;quot;text-align:left;&amp;quot;&lt;br /&gt;
!Numbered!!A series!!G series!!R series!!S series!!T series!!X series!!others&lt;br /&gt;
|- style=&amp;quot;text-align:left;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
'''[[:Category:390X | ThinkPad 390X]]'''&lt;br /&gt;
*[[2626-L0U]]&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:600X | ThinkPad 600X]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:700 | ThinkPad 700]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:770E | ThinkPad 770E]]'''&lt;br /&gt;
*[[9548-510]]&lt;br /&gt;
*[[9548-51U]]&lt;br /&gt;
*[[9548-52U]]&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:770X | ThinkPad 770X]]'''&lt;br /&gt;
*[[9549-7AO]]&lt;br /&gt;
||&lt;br /&gt;
&amp;lt;!-- insert A series models here --&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
&amp;lt;!-- insert G series models here --&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
'''[[:Category:R40 | ThinkPad R40]]'''&lt;br /&gt;
*[[2722-9BM]]&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:R40e | ThinkPad R40e]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:R51 | ThinkPad R51]]'''&lt;br /&gt;
*[[1830-DG4]]&lt;br /&gt;
||&lt;br /&gt;
&amp;lt;!-- insert S series models here --&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
'''[[:Category:T20|ThinkPad T20]]'''&lt;br /&gt;
*[[2647-44G]]&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:T21|ThinkPad T21]]'''&lt;br /&gt;
*[[2647-97G]]&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:T23 | ThinkPad T23]]'''&lt;br /&gt;
*[[2647-9RG]]&lt;br /&gt;
*[[2647-7G1]]&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:T30 | ThinkPad T30]]'''&lt;br /&gt;
*[[2366-FBG]]&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:T40p | ThinkPad T40p]]'''&lt;br /&gt;
*[[2372-G1U]]&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:T41p | ThinkPad T41p]]'''&lt;br /&gt;
*[[2373-315]]&lt;br /&gt;
*[[2373-GEG]]&lt;br /&gt;
*[[2373-GGG]]&lt;br /&gt;
*[[2373-GHG]]&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:T42 | ThinkPad T42]]'''&lt;br /&gt;
*[[2373-9XU]]&lt;br /&gt;
*[[2378-FVU]]&lt;br /&gt;
*[[2373-FWG]]&lt;br /&gt;
*[[2373-WGK]]&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:T42p | ThinkPad T42p]]'''&lt;br /&gt;
*[[2373-W6M]]&lt;br /&gt;
||&lt;br /&gt;
'''[[:Category:X22 | ThinkPad X22]]'''&lt;br /&gt;
*[[2662-9BU]]&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:X31 | ThinkPad X31]]'''&lt;br /&gt;
||&lt;br /&gt;
'''[[:Category:PC110 | PC110]]'''&lt;br /&gt;
*[[PC110]]&lt;br /&gt;
'''[[:Category:TransNote|TransNote]]'''&lt;br /&gt;
*[[2675-61G]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Models]]&lt;/div&gt;</summary>
		<author><name>Lentinj</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problem_with_fan_noise&amp;diff=2020</id>
		<title>Problem with fan noise</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Problem_with_fan_noise&amp;diff=2020"/>
		<updated>2005-03-21T08:19:30Z</updated>

		<summary type="html">&lt;p&gt;Lentinj: I have a 770x not 770z. Oops&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Information about the fan noise problem in Thinkpad models from 2003/2004.&lt;br /&gt;
&lt;br /&gt;
==Problem description==&lt;br /&gt;
&lt;br /&gt;
There seem to be two different occurances of the problem (or two different problems).&lt;br /&gt;
&lt;br /&gt;
===acceleration problem:===&lt;br /&gt;
The Thinkpad Fan accelerates in regular intervals, making an annoying noise.&lt;br /&gt;
&lt;br /&gt;
===always on problem:===&lt;br /&gt;
The Fan is always on, even though the processor is rather cool.&lt;br /&gt;
&lt;br /&gt;
==Affected Models==&lt;br /&gt;
&lt;br /&gt;
===acceleration problem:===&lt;br /&gt;
*Thinkpad T40, T40p, T41, T42(?)&lt;br /&gt;
&lt;br /&gt;
===always on problem:===&lt;br /&gt;
*Thinkpad T40, T40p, T41, T41p, T42, T42p, T43&lt;br /&gt;
*Thinkpad R50, R50p, R51, R51p&lt;br /&gt;
*Thinkpad A31p&lt;br /&gt;
*Thinkpad 770X&lt;br /&gt;
&lt;br /&gt;
==Affected Operating Systems==&lt;br /&gt;
&lt;br /&gt;
===acceleration problem:===&lt;br /&gt;
*Linux, all flavours&lt;br /&gt;
&lt;br /&gt;
===always on problem:===&lt;br /&gt;
*Linux, all flavours&lt;br /&gt;
*FreeBSD 5.3&lt;br /&gt;
&lt;br /&gt;
==Status==&lt;br /&gt;
&lt;br /&gt;
===acceleration problem:===&lt;br /&gt;
IBM released an update to the embedded controller program that seems to at least partially solve this problem:&lt;br /&gt;
&lt;br /&gt;
 Version 3.03 - 1RHT70WW&lt;br /&gt;
 NOTE: This version of Embedded Controller Program will only work with BIOS Version 3.06f (or higher).&lt;br /&gt;
    * (Fix) Reduced Fan noise in some models.&lt;br /&gt;
&lt;br /&gt;
The update can be found here: http://www-306.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-50279&lt;br /&gt;
&lt;br /&gt;
===always on problem:===&lt;br /&gt;
The problem is yet unsolved.&lt;br /&gt;
&lt;br /&gt;
IBM made a statement regarding this on their homepage:&lt;br /&gt;
http://www-307.ibm.com/pc/support/site.wss/MIGR-56504.html&lt;br /&gt;
&lt;br /&gt;
It seems that it's a feature of centrino - http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/2004-September/019737.html&lt;br /&gt;
Perhaps it's fixable by adding the fans and temps to the dsdt?&lt;br /&gt;
&lt;br /&gt;
==Solutions==&lt;br /&gt;
&lt;br /&gt;
===acceleration problem:===&lt;br /&gt;
&lt;br /&gt;
====Replacing the fan====&lt;br /&gt;
Some people reported that they replaced the original fan against one of a similar notebook without the problem has worked for them,&lt;br /&gt;
i.e. changing a T41s fan against one from a T41p.&lt;br /&gt;
&lt;br /&gt;
====BIOS upgrade====&lt;br /&gt;
You can try upgrading your embedded controller program to version 3.03 or newer.&lt;br /&gt;
&lt;br /&gt;
The update can be found here: http://www-306.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-50279&lt;br /&gt;
&lt;br /&gt;
===always on problem:===&lt;br /&gt;
&lt;br /&gt;
It seems like for some people a combination of enabling dynamic frequency scaling and using the most recent radeon drivers (from xorg 6.8.x) with the  DynamicClocks option enabled helped lowing the fan rotation and hence making it more quiet.&lt;br /&gt;
&lt;br /&gt;
Also the fglrx driver from ATI is said to show the same effect when used together with dynamic frequency scaling.&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;
[[Category:R50]] [[Category:R50p]] [[Category:R51]] [[Category:R51p]] [[Category:T40p]] [[Category:T41]] [[Category:T41p]] [[Category:T42]] [[Category:T42p]]&lt;/div&gt;</summary>
		<author><name>Lentinj</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=APM_vs._ACPI&amp;diff=1673</id>
		<title>APM vs. ACPI</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=APM_vs._ACPI&amp;diff=1673"/>
		<updated>2005-03-15T14:36:56Z</updated>

		<summary type="html">&lt;p&gt;Lentinj: Added detail for 770x&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following tables headings shell designate the following meanings...&lt;br /&gt;
&lt;br /&gt;
* APM&lt;br /&gt;
** Blank = ability to turn off the LCD while using APM&lt;br /&gt;
** Sleep = ability to do a suspend-to-ram using APM&lt;br /&gt;
** Hibernate = ability to perform a suspend-to-disk via the BIOS&lt;br /&gt;
** Battery = ability to get statistics on remaining battery life from the APM subsystem&lt;br /&gt;
*ACPI&lt;br /&gt;
** Blank = ability to turn off the LCD while using ACPI&lt;br /&gt;
** Sleep = ability to do a suspend-to-ram using ACPI&lt;br /&gt;
** Hibernate = ability to perform a suspend-to-disk using ACPI&lt;br /&gt;
** Battery = ability to get statistics on remaining battery life from he ACPI subsystem&lt;br /&gt;
&lt;br /&gt;
The fields should be filled with one of the following:&lt;br /&gt;
* ? = unknown / untested&lt;br /&gt;
* yes = working (with or without extra configuration effort)&lt;br /&gt;
* no = not working (because kernel support isn't there yet or lacking hardware implementation)&lt;br /&gt;
* part = partially working (unsolvable trouble on resume or something like that)&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=2 style=&amp;quot;vertical-align:bottom;background-color:#cfefcf;&amp;quot; | model&lt;br /&gt;
! colspan=4 style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | APM&lt;br /&gt;
! colspan=4 style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | ACPI&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | blank&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | sleep&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | hibernate&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | battery&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | blank&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | sleep&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | hibernate&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | battery&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:570 | 570]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:570E | 570E]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:600 | 600]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:600E | 600E]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:600X | 600X]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:755 | 755]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:755CD | 755CD]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:755CDV | 755CDV]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:755CV | 755CV]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:755CX | 755CX]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:770 | 770]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:770E | 770E]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:770X | 770X]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | part&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:770Z | 770Z]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A20m | A20m]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A20p | A20p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A21e | A21e]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A21m | A21m]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A21p | A21p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A22e | A22e]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A22m | A22m]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A22p | A22p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A30 | A30]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A30p | A30p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A31 | A31]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A31p | A31p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R30 | R30]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R31 | R31]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R32 | R32]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R40 | R40]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R40e | R40e]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R50e | R50e]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R50p | R50p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R51 | R51]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T20 | T20]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T21 | T21]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T22 | T22]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T23 | T23]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T30 | T30]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T40 | T40]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T40p | T40p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T42 | T42]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T42p | T42p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T43 | T43]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T43p | T43p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X20 | X20]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X21 | X21]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X22 | X22]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X23 | X23]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X24 | X24]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X30 | X30]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X31 | X31]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X40 | X40]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Lentinj</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:APM_vs._ACPI&amp;diff=1670</id>
		<title>Talk:APM vs. ACPI</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:APM_vs._ACPI&amp;diff=1670"/>
		<updated>2005-03-15T14:15:31Z</updated>

		<summary type="html">&lt;p&gt;Lentinj: S4Bios explination&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Just wondering...what exactly do headings in this table mean?&lt;br /&gt;
&lt;br /&gt;
* Blank = `Ability to turn off the LCD'&lt;br /&gt;
* Sleep = `Ability to (under at least some circumstances, or, `in theory' perform a SUSPEND-TO-RAM)'&lt;br /&gt;
* Hibernate = `Ability to perform a SUSPEND-TO-DISK via the Phoenix NoteBIOS'&lt;br /&gt;
* Battery = `Ability to get statistics on remaining battery life'&lt;br /&gt;
&lt;br /&gt;
If these are correct, I'd be interested in knowing how hibernation (as described) works under ACPI.&lt;br /&gt;
&lt;br /&gt;
- chris&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Hei,&lt;br /&gt;
&lt;br /&gt;
i just added explanations of how it is meant to the page.&lt;br /&gt;
Do you want to know [[How_to_make_ACPI_work | how to make it work under ACPI]]?&lt;br /&gt;
Or [[How to make APM work|under APM using the BIOS internal hibernation support]]?&lt;br /&gt;
AFAIK in the T4x series models everything works both ways.&lt;br /&gt;
&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 02:10, 15 Mar 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Ah. I was wondering if there was a way to get the internal (BIOS) hibernation to work when ACPI is enabled.  If this is what you mean, I'm all for an explanation as it would be the best of both worlds, and too good to be true all at once.  If you mean SWSUSP, (although I probably won't use it for reliability reasons), an explaination would be great as well.&lt;br /&gt;
&lt;br /&gt;
Thanks,&lt;br /&gt;
&lt;br /&gt;
- chris&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
There ''used'' to be a &amp;quot;S4Bios&amp;quot; state in /proc/acpi/sleep, which is exactly as you describe.  My laptop (770x) offers it, but it dissapeared out of the ACPI support at somepoint.  Definitely back in Linux 2.4.x it was there, and would trigger the BIOS to hibernate the laptop.  Linux didn't make it out of suspend but that was 2.4.x ACPI, so you didn't really expect it to.  google://s4bios gives a few things that should tell you more, and a patch.  Personally though I could try to get this to work, I'm sticking with swsup2, which is probably what everyone means when they say they're hibernating using ACPI.&lt;br /&gt;
&lt;br /&gt;
[[User:lentinj|lentinj]]&lt;/div&gt;</summary>
		<author><name>Lentinj</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=User:Lentinj&amp;diff=15971</id>
		<title>User:Lentinj</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=User:Lentinj&amp;diff=15971"/>
		<updated>2005-03-11T17:31:15Z</updated>

		<summary type="html">&lt;p&gt;Lentinj: A few details about me&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I have a Thinkpad 770X (9549-7A0), with&lt;br /&gt;
* PII 300Mhz&lt;br /&gt;
* 40Gb HDD (&amp;quot;aftermarket&amp;quot; HDD, opened up HDD sardine tin and replaced 14Gb HDD)&lt;br /&gt;
* 1280x1024 LCD&lt;br /&gt;
* Video Capture/MPEG2 Add-on (not that there is ever going to be Linux support for it)&lt;br /&gt;
* DVD / Battery / FDD / HDD Tray for Ultrabay&lt;br /&gt;
* Debian Linux&lt;br /&gt;
&lt;br /&gt;
As well as 765ED, 770X(w/XGA screen), 770Z, A22p &amp;amp; A30 making cameo appearances to test things on.&lt;/div&gt;</summary>
		<author><name>Lentinj</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problem_with_fan_noise&amp;diff=1967</id>
		<title>Problem with fan noise</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Problem_with_fan_noise&amp;diff=1967"/>
		<updated>2005-03-11T17:04:27Z</updated>

		<summary type="html">&lt;p&gt;Lentinj: /* always on problem: 770Z information */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Information about the fan noise problem in Thinkpad models from 2003/2004.&lt;br /&gt;
&lt;br /&gt;
==Problem description==&lt;br /&gt;
&lt;br /&gt;
There seem to be two different occurances of the problem (or two different problems).&lt;br /&gt;
&lt;br /&gt;
===acceleration problem:===&lt;br /&gt;
The Thinkpad Fan accelerates in regular intervals, making an annoying noise.&lt;br /&gt;
&lt;br /&gt;
===always on problem:===&lt;br /&gt;
The Fan is always on, even though the processor is rather cool.&lt;br /&gt;
&lt;br /&gt;
==Affected Models==&lt;br /&gt;
&lt;br /&gt;
===acceleration problem:===&lt;br /&gt;
*Thinkpad T40, T40p, T41, T42(?)&lt;br /&gt;
&lt;br /&gt;
===always on problem:===&lt;br /&gt;
*Thinkpad T40, T40p, T41, T41p, T42, T42p&lt;br /&gt;
*Thinkpad R50, R50p, R51, R51p&lt;br /&gt;
*Thinkpad A31p&lt;br /&gt;
*Thinkpad 770Z&lt;br /&gt;
&lt;br /&gt;
==Affected Operating Systems==&lt;br /&gt;
&lt;br /&gt;
===acceleration problem:===&lt;br /&gt;
*Linux, all flavours&lt;br /&gt;
&lt;br /&gt;
===always on problem:===&lt;br /&gt;
*Linux, all flavours&lt;br /&gt;
*FreeBSD 5.3&lt;br /&gt;
&lt;br /&gt;
==Status==&lt;br /&gt;
&lt;br /&gt;
===acceleration problem:===&lt;br /&gt;
IBM released an update to the embedded controller program that seems to at least partially solve this problem:&lt;br /&gt;
&lt;br /&gt;
 Version 3.03 - 1RHT70WW&lt;br /&gt;
 NOTE: This version of Embedded Controller Program will only work with BIOS Version 3.06f (or higher).&lt;br /&gt;
    * (Fix) Reduced Fan noise in some models.&lt;br /&gt;
&lt;br /&gt;
The update can be found here: http://www-306.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-50279&lt;br /&gt;
&lt;br /&gt;
===always on problem:===&lt;br /&gt;
The problem is yet unsolved.&lt;br /&gt;
&lt;br /&gt;
IBM made a statement regarding this on their homepage:&lt;br /&gt;
http://www-307.ibm.com/pc/support/site.wss/MIGR-56504.html&lt;br /&gt;
&lt;br /&gt;
It seems that it's a feature of centrino - http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/2004-September/019737.html&lt;br /&gt;
Perhaps it's fixable by adding the fans and temps to the dsdt?&lt;br /&gt;
&lt;br /&gt;
==Solutions==&lt;br /&gt;
&lt;br /&gt;
===acceleration problem:===&lt;br /&gt;
&lt;br /&gt;
====Replacing the fan====&lt;br /&gt;
Some people reported that they replaced the original fan against one of a similar notebook without the problem has worked for them,&lt;br /&gt;
i.e. changing a T41s fan against one from a T41p.&lt;br /&gt;
&lt;br /&gt;
====BIOS upgrade====&lt;br /&gt;
You can try upgrading your embedded controller program to version 3.03 or newer.&lt;br /&gt;
&lt;br /&gt;
The update can be found here: http://www-306.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-50279&lt;br /&gt;
&lt;br /&gt;
===always on problem:===&lt;br /&gt;
&lt;br /&gt;
It seems like for some people a combination of enabling dynamic frequency scaling and using the most recent radeon drivers (from xorg 6.8.x) with the  DynamicClocks option enabled helped lowing the fan rotation and hence making it more quiet.&lt;br /&gt;
&lt;br /&gt;
Also the fglrx driver from ATI is said to show the same effect when used together with dynamic frequency scaling.&lt;br /&gt;
&lt;br /&gt;
On a 770Z the fan can be fully controlled through ACPI.  Thermal Zone THM5 (possibly the battery/charging circuit, 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;
[[Category:R50]] [[Category:R50p]] [[Category:R51]] [[Category:R51p]] [[Category:T40p]] [[Category:T41]] [[Category:T41p]] [[Category:T42]] [[Category:T42p]]&lt;/div&gt;</summary>
		<author><name>Lentinj</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problem_with_fan_noise&amp;diff=1571</id>
		<title>Problem with fan noise</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Problem_with_fan_noise&amp;diff=1571"/>
		<updated>2005-03-11T16:53:22Z</updated>

		<summary type="html">&lt;p&gt;Lentinj: /* always on problem: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Information about the fan noise problem in Thinkpad models from 2003/2004.&lt;br /&gt;
&lt;br /&gt;
==Problem description==&lt;br /&gt;
&lt;br /&gt;
There seem to be two different occurances of the problem (or two different problems).&lt;br /&gt;
&lt;br /&gt;
===acceleration problem:===&lt;br /&gt;
The Thinkpad Fan accelerates in regular intervals, making an annoying noise.&lt;br /&gt;
&lt;br /&gt;
===always on problem:===&lt;br /&gt;
The Fan is always on, even though the processor is rather cool.&lt;br /&gt;
&lt;br /&gt;
==Affected Models==&lt;br /&gt;
&lt;br /&gt;
===acceleration problem:===&lt;br /&gt;
*Thinkpad T40, T40p, T41, T42(?)&lt;br /&gt;
&lt;br /&gt;
===always on problem:===&lt;br /&gt;
*Thinkpad T40, T40p, T41, T41p, T42, T42p&lt;br /&gt;
*Thinkpad R50, R50p, R51, R51p&lt;br /&gt;
*Thinkpad A31p&lt;br /&gt;
*Thinkpad 770Z&lt;br /&gt;
&lt;br /&gt;
==Affected Operating Systems==&lt;br /&gt;
&lt;br /&gt;
===acceleration problem:===&lt;br /&gt;
*Linux, all flavours&lt;br /&gt;
&lt;br /&gt;
===always on problem:===&lt;br /&gt;
*Linux, all flavours&lt;br /&gt;
*FreeBSD 5.3&lt;br /&gt;
&lt;br /&gt;
==Status==&lt;br /&gt;
&lt;br /&gt;
===acceleration problem:===&lt;br /&gt;
IBM released an update to the embedded controller program that seems to at least partially solve this problem:&lt;br /&gt;
&lt;br /&gt;
 Version 3.03 - 1RHT70WW&lt;br /&gt;
 NOTE: This version of Embedded Controller Program will only work with BIOS Version 3.06f (or higher).&lt;br /&gt;
    * (Fix) Reduced Fan noise in some models.&lt;br /&gt;
&lt;br /&gt;
The update can be found here: http://www-306.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-50279&lt;br /&gt;
&lt;br /&gt;
===always on problem:===&lt;br /&gt;
The problem is yet unsolved.&lt;br /&gt;
&lt;br /&gt;
IBM made a statement regarding this on their homepage:&lt;br /&gt;
http://www-307.ibm.com/pc/support/site.wss/MIGR-56504.html&lt;br /&gt;
&lt;br /&gt;
It seems that it's a feature of centrino - http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/2004-September/019737.html&lt;br /&gt;
Perhaps it's fixable by adding the fans and temps to the dsdt?&lt;br /&gt;
&lt;br /&gt;
==Solutions==&lt;br /&gt;
&lt;br /&gt;
===acceleration problem:===&lt;br /&gt;
&lt;br /&gt;
====Replacing the fan====&lt;br /&gt;
Some people reported that they replaced the original fan against one of a similar notebook without the problem has worked for them,&lt;br /&gt;
i.e. changing a T41s fan against one from a T41p.&lt;br /&gt;
&lt;br /&gt;
====BIOS upgrade====&lt;br /&gt;
You can try upgrading your embedded controller program to version 3.03 or newer.&lt;br /&gt;
&lt;br /&gt;
The update can be found here: http://www-306.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-50279&lt;br /&gt;
&lt;br /&gt;
===always on problem:===&lt;br /&gt;
&lt;br /&gt;
It seems like for some people a combination of enabling dynamic frequency scaling and using the most recent radeon drivers (from xorg 6.8.x) with the  DynamicClocks option enabled helped lowing the fan rotation and hence making it more quiet.&lt;br /&gt;
&lt;br /&gt;
Also the fglrx driver from ATI is said to show the same effect when used together with dynamic frequency scaling.&lt;br /&gt;
&lt;br /&gt;
[[Category:R50]] [[Category:R50p]] [[Category:R51]] [[Category:R51p]] [[Category:T40p]] [[Category:T41]] [[Category:T41p]] [[Category:T42]] [[Category:T42p]]&lt;/div&gt;</summary>
		<author><name>Lentinj</name></author>
		
	</entry>
</feed>