<?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=Mbsullivan</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=Mbsullivan"/>
	<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/wiki/Special:Contributions/Mbsullivan"/>
	<updated>2026-04-23T07:42:38Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.12</generator>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=BIOS_Upgrade/X_Series&amp;diff=38298</id>
		<title>BIOS Upgrade/X Series</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=BIOS_Upgrade/X_Series&amp;diff=38298"/>
		<updated>2008-07-26T01:13:49Z</updated>

		<summary type="html">&lt;p&gt;Mbsullivan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
X Series Thinkpads do not have an internal drive. If there is no Windows installed, the BIOS must be updated by booting from an USB drive or a drive that is integrated in the docking station. Since a while Lenovo provides BIOS updates in form of bootable CD images. Unfortunately, these images are intended to be used with the docking station's CD drive. If you do not own such a drive, things get complicated.&lt;br /&gt;
&lt;br /&gt;
The problem is that current BIOS updates are quite large, about 3 MB in size. Booting from CDs typically works like booting from a 1.44 MB or 2.88 MB floppy disk. The floppy image is stored on the CD and is referenced in the CD's boot record. Because the BIOS update file are that large, they do not fit on such a floppy image. Thus, they must be stored on the CD outside the virtual floppy image. To access these files a driver for the CD drive has to be loaded. Since Lenovo's CD images are intended to be used with a docking station's CD drive, it is not possible to use them for BIOS updates by booting from an USB CD drive.&lt;br /&gt;
&lt;br /&gt;
Another problem is that older X Series (like the {{X32}}) don't have bootable iso images at all. They have only two options: 1. update from Windows, 2. update using a diskette updater, which requires you to have a real floppy disk drive.&lt;br /&gt;
&lt;br /&gt;
But there is hope. This page describes some approaches to solve the problems above.&lt;br /&gt;
&lt;br /&gt;
Here is a brief overview of each approach:&lt;br /&gt;
* [[#Approach 1: Use larger boot image and create virtual CD drive]]&amp;lt;br&amp;gt;Requires a USB CD drive.  Reported to work on {{X60s}}.&lt;br /&gt;
&lt;br /&gt;
* [[#Approach 2: Load an USB driver, create RAM disk and copy the files to the RAM disk]]&amp;lt;br&amp;gt;Requires a USB CD drive.  People have reported mixed results, with the flash update software freezing, depending on things like CD drive letter and type.  Reported to work on {{X60s}}.&lt;br /&gt;
&lt;br /&gt;
* [[#Approach 3: Alternative method using a USB stick]]&amp;lt;br&amp;gt;Requires a USB flash drive, Microsoft Windows, and some HP software tool.  Reported to work on {{X60s}}, {{X61}}.&lt;br /&gt;
&lt;br /&gt;
* [[#Approach 4: Alternative method to the above &amp;quot;alternative method&amp;quot;]]&amp;lt;br&amp;gt;Requires a USB flash drive, Microsoft Windows, and some HP software tool.  Seems functionally similar to Approach 3.&lt;br /&gt;
&lt;br /&gt;
* [[#Approach 5: Free Alternative method to the above &amp;quot;alternative method&amp;quot;]]&amp;lt;br&amp;gt;Requires a USB flash drive, does not require MS Windows or any proprietary software.&lt;br /&gt;
&lt;br /&gt;
* [[#Approach 6: Using a USB stick to upgrade BIOS on older X Series Thinkpads]]&amp;lt;br&amp;gt;Requires a USB flash drive.  Reported to work on {{X32}}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Approach 1: Use larger boot image and create virtual CD drive =&lt;br /&gt;
&lt;br /&gt;
The CD images provided by Lenovo can be modified such that a BIOS update is possible -- without loading any drivers. I ([[User:Joachim_Selke|Joachim Selke]]) successfully updated my Thinkpad {{X60s}} using the following method.&lt;br /&gt;
&lt;br /&gt;
My first idea was to take Lenovo's ISO CD image and modify it such that a USB CD drive can be used instead the CD drive in the docking station. Unfortunately, simply replacing the drivers is not enough. While doing the BIOS update, the USB ports seem to get disabled or something like that. To circumvent this problem I tried to create a RAM disk, copy the needed files to this RAM disk, and then use this RAM disk as some kind of virtual CD drive. However, there were some problems with this approach as reported below. For a description of this old approach see the section &amp;quot;Approach 2: Load an USB driver, create RAM disk and copy the files to the RAM disk&amp;quot; below. I developed a new approach to solve this problem and will describe it here.&lt;br /&gt;
&lt;br /&gt;
The idea is to create a new bootable ISO image that is large enough to hold the original ISO file. This can be done by switching from the virtual floppy drive used by Lenovo's update disk to a virtual hard disk drive (for details, see the El Torito standard). Instead of loading the CD drive driver provided by Lenovo we load the [[http://www.geocities.com/jadoxa/shsucdx/index.html SHSUCD drivers]]. This driver enables us to create a virtual CD drive from Lenovo's original ISO file.&lt;br /&gt;
&lt;br /&gt;
I wrote a script to automate this steps and create a new ISO file from Lenovo's ISO file. This new ISO file can directly be used to update the BIOS. My script takes four arguments:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;the filename of Lenovo's original ISO file (e.g. &amp;lt;tt&amp;gt;/home/selke/Desktop/7buj23uc.iso&amp;lt;/tt&amp;gt;)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;the filename of the new ISO file to be created (e.g. &amp;lt;tt&amp;gt;/home/selke/Desktop/out.iso&amp;lt;/tt&amp;gt;)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;the location of shsucdrd.exe (e.g. &amp;lt;tt&amp;gt;/home/selke/Desktop/shsucdrd.exe&amp;lt;/tt&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;the location of shsucdx.com (e.g. &amp;lt;tt&amp;gt;/home/selke/Desktop/shsucdx.com&amp;lt;/tt&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Both shsucdrd.exe and shsucdx.com can be downloaded from [http://www.geocities.com/jadoxa/shsucdx/index.html].&lt;br /&gt;
&lt;br /&gt;
To sum up, an example call of the script would be &amp;lt;tt&amp;gt;convertlenovo.sh /home/selke/Desktop/7buj23uc.iso /home/selke/Desktop/out.iso /home/selke/Desktop/shsucdrd.exe /home/selke/Desktop/shsucdx.com&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that you need recent versions of the following tools:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;mkdosfs (for Fedora users: contained in the package dosfstools)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;mkisofs&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The script runs perfectly on my Fedora 8 system (it should also run without problems on Fedora 7 and other popular distributions). If there are problems, please tell me ([[User:Joachim_Selke|Joachim Selke]]).&lt;br /&gt;
&lt;br /&gt;
Further note that the script at some point requires you to enter the root password since it must mount a disk image. As far as I know, this cannot be done without root privileges.&lt;br /&gt;
&lt;br /&gt;
What does the script do? I will give a short overview:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Extract the boot floppy image from Lenovo's bootable ISO file.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Create a new boot hard disk image and copy both the boot sector and the files from Lenovo's boot floppy image to the new image.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Copy Lenovo's ISO image to the new hard disk image.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Also copy the SHSUCD drivers to the hard disk and change autoexec.bat and config.sys accordingly. When booting this hard disk image a new virtual CD drive will be created by SHSUCD. This virtual CD drive will have Lenovo's original ISO disc &amp;quot;inserted.&amp;quot;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Create a new ISO file that only consists of the boot image given by the bootable hard disk image just created.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some additional notes:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Currently, the script is not able to handle spaces in file names properly. Thus, the file names and directory path names used when calling the script should not contain spaces.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The file name of the original ISO file (7buj23uc.iso in the example above) must follow the DOS 8.3 file name conventions; otherwise SHSUCD will not be able to load the ISO image.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is the complete script (save it as &amp;lt;tt&amp;gt;convertlenovo.sh&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# Written by Joachim Selke (mail@joachim-selke.de), 2007-12-28&lt;br /&gt;
&lt;br /&gt;
# Known bugs:&lt;br /&gt;
# - spaces in file names make trouble at the moment (so try to avoid spaces),&lt;br /&gt;
#   I will fix that later&lt;br /&gt;
# - some users seem to have problems with some of the sed statements,&lt;br /&gt;
#   I currently have no idea what is wrong there ... (please report those bugs)&lt;br /&gt;
&lt;br /&gt;
CDIMAGE=$1       # location of Lenovo's CD image&lt;br /&gt;
NEWCDIMAGE=$2    # filename of ISO file to create&lt;br /&gt;
SHSUCDRD_EXE=$3  # location of shsucdrd.exe&lt;br /&gt;
SHSUCDX_COM=$4   # location of shsucdx.com&lt;br /&gt;
&lt;br /&gt;
MB_HDD=50  # HDD image size in megabyte (base 1000)&lt;br /&gt;
&lt;br /&gt;
TMPDIR=`mktemp -d`&lt;br /&gt;
ISODIR=`mktemp -d`&lt;br /&gt;
&lt;br /&gt;
HDDIMG=$ISODIR/hdd.img  # filename of HDD image to create&lt;br /&gt;
FLOPPYIMG=$TMPDIR/floppy.img # filename of floppy image to create&lt;br /&gt;
&lt;br /&gt;
##############################################################################&lt;br /&gt;
&lt;br /&gt;
# This script extracts the floopy boot image from bootable ISO images&lt;br /&gt;
#&lt;br /&gt;
# Written by Joachim Selke (mail@joachim-selke.de), 2007-04-07&lt;br /&gt;
&lt;br /&gt;
ISOFILE=$CDIMAGE&lt;br /&gt;
IMAGEFILE=$FLOPPYIMG&lt;br /&gt;
&lt;br /&gt;
if [ ! -r $ISOFILE ]; then&lt;br /&gt;
        echo $ISOFILE: file does not exist or is not readable&lt;br /&gt;
        exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if [ -z $IMAGEFILE ]; then&lt;br /&gt;
        echo Error: no image file specified&lt;br /&gt;
        exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
ISOFILESIZE=`stat -c %s $ISOFILE`&lt;br /&gt;
&lt;br /&gt;
# collect El Torito data&lt;br /&gt;
# see http://www.phoenix.com/NR/rdonlyres/98D3219C-9CC9-4DF5-B496-A286D893E36A/0/specscdrom.pdf for reference&lt;br /&gt;
&lt;br /&gt;
BOOTCATALOGPOINTERBYTE=$((17 * 0x800 + 0x47))&lt;br /&gt;
&lt;br /&gt;
if [ $ISOFILESIZE -lt $(($BOOTCATALOGPOINTERBYTE + 4)) ]; then&lt;br /&gt;
        echo ISO file is too short, possibly damaged&lt;br /&gt;
        exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# absolute pointer to first sector of boot catalog:&lt;br /&gt;
BOOTCATALOG=`od -A n -t x4 -N 4 -j $BOOTCATALOGPOINTERBYTE $ISOFILE | tr -d [:blank:]`&lt;br /&gt;
&lt;br /&gt;
BOOTCATALOGBYTE=$((0x$BOOTCATALOG * 0x800))&lt;br /&gt;
&lt;br /&gt;
echo Boot catalog starts at byte $BOOTCATALOGBYTE&lt;br /&gt;
&lt;br /&gt;
if [ $ISOFILESIZE -lt $(($BOOTCATALOGBYTE + 32 + 2)) ]; then&lt;br /&gt;
        echo ISO file is too short, possibly damaged&lt;br /&gt;
        exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# media type of boot image&lt;br /&gt;
# only floppy disk images are supported by this script&lt;br /&gt;
BOOTMEDIATYPE=`od -A n -t x1 -N 1 -j $(($BOOTCATALOGBYTE + 32 + 1)) $ISOFILE | tr -d [:blank:]`&lt;br /&gt;
&lt;br /&gt;
if [ $BOOTMEDIATYPE -eq 1 ]; then&lt;br /&gt;
        echo Boot media type is 1.2M floppy disk&lt;br /&gt;
        IMAGEBLOCKS=$((1200 / 2))&lt;br /&gt;
elif [ $BOOTMEDIATYPE -eq 2 ]; then&lt;br /&gt;
        echo Boot media type is 1.44M floppy disk&lt;br /&gt;
        IMAGEBLOCKS=$((1440 / 2))&lt;br /&gt;
elif [ $BOOTMEDIATYPE -eq 3 ]; then&lt;br /&gt;
        echo Boot media type is 2.88M floppy disk&lt;br /&gt;
        IMAGEBLOCKS=$((2880 / 2))&lt;br /&gt;
else&lt;br /&gt;
        echo Boot media type is $((0x$BOOTMEDIATYPE)). This type is not supported yet.&lt;br /&gt;
        exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# absolute pointer to start of boot image&lt;br /&gt;
BOOTIMAGE=`od -A n -t x4 -N 4 -j $(($BOOTCATALOGBYTE + 32 + 8)) $ISOFILE | tr -d [:blank:]`&lt;br /&gt;
&lt;br /&gt;
BOOTIMAGEBYTE=$((0x$BOOTIMAGE * 0x800))&lt;br /&gt;
&lt;br /&gt;
echo Boot image starts at byte $BOOTIMAGEBYTE&lt;br /&gt;
&lt;br /&gt;
if [ $ISOFILESIZE -lt $((0x$BOOTIMAGE * 0x800 + $IMAGEBLOCKS * 0x800)) ]; then&lt;br /&gt;
        echo ISO file is too short, possibly damaged&lt;br /&gt;
        exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
echo Extracting boot image ...&lt;br /&gt;
&lt;br /&gt;
dd if=$ISOFILE of=$IMAGEFILE bs=2K count=$IMAGEBLOCKS skip=$((0x$BOOTIMAGE))&lt;br /&gt;
&lt;br /&gt;
echo Finished&lt;br /&gt;
&lt;br /&gt;
##############################################################################&lt;br /&gt;
&lt;br /&gt;
NO_HEA=16    # heads&lt;br /&gt;
NO_SECT=63   # sectors per cylinder/track&lt;br /&gt;
B_SECT=512   # bytes per sector&lt;br /&gt;
&lt;br /&gt;
B_CYL=$(($NO_HEA * $NO_SECT * $B_SECT))  # bytes per cylinder/track&lt;br /&gt;
&lt;br /&gt;
NO_CYL=$(($MB_HDD * 1000 * 1000 / $B_CYL))  # cylinders/tracks per head&lt;br /&gt;
&lt;br /&gt;
echo -n -e &amp;quot;Cylinders: $NO_CYL\nHeads: $NO_HEA\nSectors per track: $NO_SECT\nBytes per sector: $B_SECT\n&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo Creating empty image ...&lt;br /&gt;
dd if=/dev/zero of=$HDDIMG bs=$B_CYL count=$NO_CYL &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
echo Creating partition structure ...&lt;br /&gt;
echo -n -e &amp;quot;o\n n\n p\n 1\n \n \n t\n 6\n a\n 1\n w\n&amp;quot; | /sbin/fdisk -b $B_SECT -C $NO_CYL -H $NO_HEA -S $NO_SECT $HDDIMG &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
echo Writing master boot record ...&lt;br /&gt;
echo -n -e &amp;quot;\&lt;br /&gt;
\xFA\xB8\x00\x10\x8E\xD0\xBC\x00\xB0\xB8\x00\x00\x8E\xD8\x8E\xC0\&lt;br /&gt;
\xFB\xBE\x00\x7C\xBF\x00\x06\xB9\x00\x02\xF3\xA4\xEA\x21\x06\x00\&lt;br /&gt;
\x00\xBE\xBE\x07\x38\x04\x75\x0B\x83\xC6\x10\x81\xFE\xFE\x07\x75\&lt;br /&gt;
\xF3\xEB\x16\xB4\x02\xB0\x01\xBB\x00\x7C\xB2\x80\x8A\x74\x01\x8B\&lt;br /&gt;
\x4C\x02\xCD\x13\xEA\x00\x7C\x00\x00\xEB\xFE\x00\x00\x00\x00\x00\&lt;br /&gt;
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\&lt;br /&gt;
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\&lt;br /&gt;
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\&lt;br /&gt;
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\&lt;br /&gt;
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\&lt;br /&gt;
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\&lt;br /&gt;
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\&lt;br /&gt;
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\&lt;br /&gt;
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\&lt;br /&gt;
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\&lt;br /&gt;
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\&lt;br /&gt;
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\&lt;br /&gt;
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\&lt;br /&gt;
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\&lt;br /&gt;
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\&lt;br /&gt;
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\&lt;br /&gt;
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\&lt;br /&gt;
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\&lt;br /&gt;
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\&lt;br /&gt;
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\&lt;br /&gt;
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\&lt;br /&gt;
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\&lt;br /&gt;
\x00\x00\x00\x00\x00\x00\x00\x00\x52\xF9\x06\x00\x00\x00\&lt;br /&gt;
&amp;quot; | dd of=$HDDIMG bs=1 conv=notrunc &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
echo Creating primary partition ...&lt;br /&gt;
# extract partition, create FAT16 filesystem and copy back&lt;br /&gt;
PARTFILE=${HDDIMG}-PARTITION&lt;br /&gt;
SECT_PARTTABLE=$NO_SECT&lt;br /&gt;
B_PARTTABLE=$(($SECT_PARTTABLE * $B_SECT))&lt;br /&gt;
dd if=$HDDIMG of=$PARTFILE bs=$B_SECT skip=$SECT_PARTTABLE &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
/sbin/mkdosfs -F 16 -h $NO_SECT $PARTFILE&lt;br /&gt;
# Correct physical drive number (set to 0x00, should be 0x80)&lt;br /&gt;
echo -n -e &amp;quot;\x80&amp;quot; | dd of=$PARTFILE bs=1 seek=36 conv=notrunc &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
# Correct sectors per track (set to 0x0020, should be $NO_SECT)&lt;br /&gt;
NO_SECT_HEX1=$(echo &amp;quot;ibase=10; obase=16; $(($NO_SECT / 256))&amp;quot; | bc)&lt;br /&gt;
NO_SECT_HEX2=$(echo &amp;quot;ibase=10; obase=16; $(($NO_SECT % 256))&amp;quot; | bc)&lt;br /&gt;
NO_SECT_HEX=$(echo -n -e &amp;quot;\\x$NO_SECT_HEX2\\x$NO_SECT_HEX1&amp;quot;)&lt;br /&gt;
echo -n -e $NO_SECT_HEX | dd of=$PARTFILE bs=1 seek=24 conv=notrunc &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
dd if=$PARTFILE of=$HDDIMG bs=$B_SECT seek=$SECT_PARTTABLE &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
rm -f $PARTFILE&lt;br /&gt;
&lt;br /&gt;
# transfer floppy boot sector code&lt;br /&gt;
B_BOOTSECPARAM=62                            # length of parameter block in boot sector&lt;br /&gt;
B_BOOTSECCODE=$(($B_SECT - B_BOOTSECPARAM))  # length of code block in boot sector&lt;br /&gt;
echo Copying boot sector ...&lt;br /&gt;
dd if=$FLOPPYIMG of=$HDDIMG bs=1 count=$B_BOOTSECCODE skip=$B_BOOTSECPARAM seek=$(($B_PARTTABLE + $B_BOOTSECPARAM)) conv=notrunc &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
echo Copying DOS files ...&lt;br /&gt;
CDIMAGE_BASENAME=$(basename $CDIMAGE)&lt;br /&gt;
HDDDIR=$TMPDIR/hdd&lt;br /&gt;
FLOPPYDIR=$TMPDIR/floppy&lt;br /&gt;
su --command=&amp;quot;\&lt;br /&gt;
  mkdir $HDDDIR;\&lt;br /&gt;
  mkdir $FLOPPYDIR;\&lt;br /&gt;
  mount -oloop $FLOPPYIMG $FLOPPYDIR;\&lt;br /&gt;
  mount -t msdos -oloop,offset=$(($SECT_PARTTABLE * $B_SECT)) $HDDIMG $HDDDIR;\&lt;br /&gt;
  cp --preserve $FLOPPYDIR/ibmbio.com $HDDDIR;\&lt;br /&gt;
  cp --preserve $FLOPPYDIR/ibmdos.com $HDDDIR;\&lt;br /&gt;
  cp --preserve -u $FLOPPYDIR/* $HDDDIR;\&lt;br /&gt;
  cp --preserve=timestamps $CDIMAGE $HDDDIR;\&lt;br /&gt;
  cp --preserve=timestamps $SHSUCDRD_EXE $HDDDIR;\&lt;br /&gt;
  cp --preserve=timestamps $SHSUCDX_COM $HDDDIR;\&lt;br /&gt;
  cat $FLOPPYDIR/config.sys | \&lt;br /&gt;
    sed -e 's/A:\\\/C:\\\/' | \&lt;br /&gt;
    grep -v IBMTPCD.SYS &amp;gt;$HDDDIR/config.sys;\&lt;br /&gt;
  cat $FLOPPYDIR/autoexec.bat | \&lt;br /&gt;
    sed -e 's/LOADHIGH MSCDEX.EXE \/D:TPCD001/shsucdrd.exe \/f:$CDIMAGE_BASENAME\r\nshsucdx.com \/d:SHSU-CDR,R/' &amp;gt;$HDDDIR/autoexec.bat;\&lt;br /&gt;
  umount $FLOPPYDIR;\&lt;br /&gt;
  umount $HDDDIR;\&lt;br /&gt;
  rm -rf $FLOPPYDIR;\&lt;br /&gt;
  rm -rf $HDDDIR&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo Creating ISO image ...&lt;br /&gt;
mkisofs -input-charset default -hard-disk-boot -b $(basename $HDDIMG) -hide boot.cat -hide $(basename $HDDIMG) -o $NEWCDIMAGE $ISODIR&lt;br /&gt;
&lt;br /&gt;
rm -rf $TMPDIR&lt;br /&gt;
rm -rf $ISODIR&lt;br /&gt;
&lt;br /&gt;
echo Completed!&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have any questions, feel free to ask. :-)&lt;br /&gt;
&lt;br /&gt;
BTW: It would be much simpler if I simply could put the new ISO images for download somewhere. But I guess for legal reasons this will not be possible.&lt;br /&gt;
&lt;br /&gt;
== Comments on Approach 1 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Reported to work on:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;ThinkPad X60s (1702-55G) with Plextor PX-608CU USB DVD recorder&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;ThinkPad X60 (1702-55G) with Plextor PX-608CU USB DVD recorder, upgraded BIOS from version 2.14 to 2.16&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;ThinkPad X60 (1706-GMG) with Plextor PX-608CU USB DVD recorder, upgraded BIOS from version 2.03 to 2.14&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;ThinkPad X61s (7666-36G) with Freecom FS-50 USB DVD recorder, upgraded BIOS from version 1.10 to 2.07&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Approach 2: Load an USB driver, create RAM disk and copy the files to the RAM disk =&lt;br /&gt;
&lt;br /&gt;
I ([[User:Joachim_Selke | Joachim Selke]]) successfully updated my Thinkpad {{X60s}} using the following method.&lt;br /&gt;
&lt;br /&gt;
My first idea was to take Lenovo's ISO CD image and modify it such that a USB CD drive can be used instead the CD drive in the docking station. Unfortunately, simply replacing the drivers is not enough. While doing the BIOS update, the USB ports seem to get disabled or something like that. To circumvent this problem I tried to create a RAM disk, copy the needed files to this RAM disk, and then use this RAM disk as some kind of virtual CD drive. However, there were some problems with this approach as reported below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Download the ISO image style BIOS update from Lenovo's website. This file will be refered to as &amp;lt;tt&amp;gt;/tmp/bios-lenovo.iso&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Extract the floppy image from this ISO image. You can use the following shell script for this task (or an alternative one from [http://userpages.uni-koblenz.de/~krienke/ftp/noarch/geteltorito/]). Simply save this code into the file &amp;lt;tt&amp;gt;/tmp/extractbootimage.sh&amp;lt;/tt&amp;gt;, set the x-flag (&amp;lt;tt&amp;gt;chmod +x /tmp/extractbootimage.sh&amp;lt;/tt&amp;gt;) and call it using the command &amp;lt;tt&amp;gt;/tmp/extractbootimage.sh /tmp/bios-lenovo.iso /tmp/bios-lenovo.img&amp;lt;/tt&amp;gt;. The floppy image contained in the ISO image will then be saved to &amp;lt;tt&amp;gt;/tmp/bios-lenovo.img&amp;lt;/tt&amp;gt;. Here is the code of the shell script:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# This script extracts the floopy boot image from bootable ISO images&lt;br /&gt;
#&lt;br /&gt;
# Written by Joachim Selke (mail@joachim-selke.de), 2007-04-07&lt;br /&gt;
&lt;br /&gt;
ISOFILE=$1&lt;br /&gt;
IMAGEFILE=$2&lt;br /&gt;
&lt;br /&gt;
if [ ! -r $ISOFILE ]; then&lt;br /&gt;
        echo $ISOFILE: file does not exist or is not readable&lt;br /&gt;
        exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if [ -z $IMAGEFILE ]; then&lt;br /&gt;
        echo Error: no image file specified&lt;br /&gt;
        exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
ISOFILESIZE=`stat -c %s $ISOFILE`&lt;br /&gt;
&lt;br /&gt;
# collect El Torito data&lt;br /&gt;
# see http://www.phoenix.com/NR/rdonlyres/98D3219C-9CC9-4DF5-B496-A286D893E36A/0/specscdrom.pdf for reference&lt;br /&gt;
&lt;br /&gt;
BOOTCATALOGPOINTERBYTE=$((17 * 0x800 + 0x47))&lt;br /&gt;
&lt;br /&gt;
if [ $ISOFILESIZE -lt $(($BOOTCATALOGPOINTERBYTE + 4)) ]; then&lt;br /&gt;
        echo ISO file is too short, possibly damaged&lt;br /&gt;
        exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# absolute pointer to first sector of boot catalog:&lt;br /&gt;
BOOTCATALOG=`od -A n -t x4 -N 4 -j $BOOTCATALOGPOINTERBYTE $ISOFILE | tr -d [:blank:]`&lt;br /&gt;
&lt;br /&gt;
BOOTCATALOGBYTE=$((0x$BOOTCATALOG * 0x800))&lt;br /&gt;
&lt;br /&gt;
echo Boot catalog starts at byte $BOOTCATALOGBYTE&lt;br /&gt;
&lt;br /&gt;
if [ $ISOFILESIZE -lt $(($BOOTCATALOGBYTE + 32 + 2)) ]; then&lt;br /&gt;
        echo ISO file is too short, possibly damaged&lt;br /&gt;
        exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# media type of boot image&lt;br /&gt;
# only floppy disk images are supported by this script&lt;br /&gt;
BOOTMEDIATYPE=`od -A n -t x1 -N 1 -j $(($BOOTCATALOGBYTE + 32 + 1)) $ISOFILE | tr -d [:blank:]`&lt;br /&gt;
&lt;br /&gt;
if [ $BOOTMEDIATYPE -eq 1 ]; then&lt;br /&gt;
        echo Boot media type is 1.2M floppy disk&lt;br /&gt;
        IMAGEBLOCKS=$((1200 / 2))&lt;br /&gt;
elif [ $BOOTMEDIATYPE -eq 2 ]; then&lt;br /&gt;
        echo Boot media type is 1.44M floppy disk&lt;br /&gt;
        IMAGEBLOCKS=$((1440 / 2))&lt;br /&gt;
elif [ $BOOTMEDIATYPE -eq 3 ]; then&lt;br /&gt;
        echo Boot media type is 2.88M floppy disk&lt;br /&gt;
        IMAGEBLOCKS=$((2880 / 2))&lt;br /&gt;
else&lt;br /&gt;
        echo Boot media type is $((0x$BOOTMEDIATYPE)). This type is not supported yet.&lt;br /&gt;
        exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# absolute pointer to start of boot image&lt;br /&gt;
BOOTIMAGE=`od -A n -t x4 -N 4 -j $(($BOOTCATALOGBYTE + 32 + 8)) $ISOFILE | tr -d [:blank:]`&lt;br /&gt;
&lt;br /&gt;
BOOTIMAGEBYTE=$((0x$BOOTIMAGE * 0x800))&lt;br /&gt;
&lt;br /&gt;
echo Boot image starts at byte $BOOTIMAGEBYTE&lt;br /&gt;
&lt;br /&gt;
if [ $ISOFILESIZE -lt $((0x$BOOTIMAGE * 0x800 + $IMAGEBLOCKS * 0x800)) ]; then&lt;br /&gt;
        echo ISO file is too short, possibly damaged&lt;br /&gt;
        exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
echo Extracting boot image ...&lt;br /&gt;
&lt;br /&gt;
dd if=$ISOFILE of=$IMAGEFILE bs=2K count=$IMAGEBLOCKS skip=$((0x$BOOTIMAGE))&lt;br /&gt;
&lt;br /&gt;
echo Finished&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Mount the floppy image '''as root''' using the loop device:&lt;br /&gt;
:{{cmdroot|mkdir /tmp/bios-lenovo.img-mnt}}&lt;br /&gt;
:{{cmdroot|mount -o loop /tmp/bios-lenovo.img /tmp/bios-lenovo.img-mnt}}&lt;br /&gt;
The image is now mounted as &amp;lt;tt&amp;gt;/tmp/bios-lenovo.img-mnt&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Download needed drivers. First download some [http://panasonic.co.jp/pcc/products/drive/other/driver/f2h_usb.exe USB drivers] from Panasonic Japan. Save the file to &amp;lt;tt&amp;gt;/tmp/f2h_usb.exe&amp;lt;/tt&amp;gt; This file is a self-extracting EXE file, that can be executed under Linux using [http://www.winehq.com/ Wine]:&lt;br /&gt;
:{{cmduser|wine /tmp/f2h_usb.exe}}&lt;br /&gt;
You will be asked where to save the extracted files. Choose &amp;lt;tt&amp;gt;/tmp&amp;lt;/tt&amp;gt;. A new directory &amp;lt;tt&amp;gt;/tmp/F2h&amp;lt;/tt&amp;gt; containing the needed drivers will be created.&lt;br /&gt;
&lt;br /&gt;
Additionally, you will need drivers for the RAM disk mentioned. Download them from the [http://sourceforge.net/projects/srdisk ReSizeable RAMDisk project]. Unzip them to &amp;lt;tt&amp;gt;/tmp/srdisk&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Let's modify the floppy image:&lt;br /&gt;
:{{cmduser|cp /tmp/F2h/Usbaspi.sys /tmp/bios-lenovo.img-mnt/}}&lt;br /&gt;
:{{cmduser|cp /tmp/F2h/USBCD.SYS /tmp/bios-lenovo.img-mnt/}}&lt;br /&gt;
:{{cmduser|cp /tmp/F2h/RAMFD.SYS /tmp/bios-lenovo.img-mnt/}}&lt;br /&gt;
:{{cmduser|cp /tmp/srdisk/srdxms.sys /tmp/bios-lenovo.img-mnt/}}&lt;br /&gt;
:{{cmduser|cp /tmp/srdisk/srdisk.exe /tmp/bios-lenovo.img-mnt/}}&lt;br /&gt;
Now add the following lines to &amp;lt;tt&amp;gt;/tmp/bios-lenovo.img-mnt/config.sys&amp;lt;/tt&amp;gt; replacing the line &amp;lt;tt&amp;gt;DEVICE = A:\IBMTPCD.SYS /R /C&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DEVICE = A:\SRDXMS.SYS&lt;br /&gt;
DEVICE = A:\RAMFD.SYS&lt;br /&gt;
DEVICE = A:\USBASPI.SYS /V&lt;br /&gt;
DEVICE = A:\USBCD.SYS /D:TPCD001&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Finally, edit the file &amp;lt;tt&amp;gt;/tmp/bios-lenovo.img-mnt/autoexec.bat&amp;lt;/tt&amp;gt; replacing the last line (saying &amp;lt;tt&amp;gt;COMMAND.COM&amp;lt;/tt&amp;gt;) by the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
A:\SRDISK 10000&lt;br /&gt;
COPY *.* D:&lt;br /&gt;
D:&lt;br /&gt;
COMMAND.COM&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Maybe the RAM disk gets a drive letter different from D: on your system. In this case, you have to change the above lines accordingly.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Unmount the floppy image (as root):&lt;br /&gt;
:{{cmdroot|umount /tmp/bios-lenovo.img-mnt}}&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Copy the content of the original CD image to a new directory and create a new ISO file:&lt;br /&gt;
:{{cmdroot|mkdir /tmp/bios-lenovo.iso-mnt}}&lt;br /&gt;
:{{cmdroot|mount -o loop /tmp/bios-lenovo.iso /tmp/bios-lenovo.iso-mnt}}&lt;br /&gt;
:{{cmduser|mkdir /tmp/bios-new.iso-mnt}}&lt;br /&gt;
:{{cmduser|cp /tmp/bios-lenovo.iso-mnt/* /tmp/bios-new.iso-mnt}}&lt;br /&gt;
:{{cmduser|cp /tmp/bios-lenovo.img /tmp/bios-new.iso-mnt/boot.img}}&lt;br /&gt;
:{{cmdroot|umount /tmp/bios-lenovo.iso-mnt}}&lt;br /&gt;
:{{cmduser|mkisofs -relaxed-filenames -b boot.img -o /tmp/bios-new.iso /tmp/bios-new.iso-mnt/}}&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
The file &amp;lt;tt&amp;gt;/tmp/bios-new.iso&amp;lt;/tt&amp;gt; is the modified ISO file. Just burn it to CD and use this CD for updating your BIOS (boot from it using your USB drive). Please give some comments here if it worked for you.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comments on Approach 2 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
I have followed your excellent instructions. The CD booted, the update program ran but stopped working and responding while updating. Luckily the BIOS was not destroyed. Since destroying the BIOS is a very high risk, I am going to recover the original Windows on an old HD and will run the update exe update program from there.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
I followed these clear instructions, and like the comment above I ended up with a CD that booted but the update program stopped working and responding.  An ALT-CTRL-DELETE rebooted my x60s, and it works so the BIOS must not have been damaged.  I was trying to upgrade from version 2.08 to 2.11, I wonder if these instructions are somehow particular to certain versions?  &lt;br /&gt;
[[User:Latch|Latch]] 01:22, 14 June 2007 (UTC)&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
After following the above instructions, the program also stopped working while updating the BIOS. But after changing the drive letter from D: to C: (see code below), it everything worked fine. However, I had some trouble figuring out, which letter to choose over D: at first, as the BIOS Upgrade program started right away.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
A:\SRDISK 10000&lt;br /&gt;
COPY *.* C:&lt;br /&gt;
C:&lt;br /&gt;
COMMAND.COM&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[User:Mtx|Mtx]], 1 August 2007, Thinkpad X61s&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Flashing the bios (2.12) works for me on a X60s (using drive c). Using the DVD-R on an USB-Hub did not work.&amp;lt;br&amp;gt; [[User:Ra|Ra]] 00:15, 21 August 2007 (UTC)&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Flashing BIOS 2.14 works for me on a X60s (using drive c). 25-02-2008&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Approach 3: Alternative method using a USB stick =&lt;br /&gt;
&lt;br /&gt;
''Note: none of the above methods worked on my X60s.  This method worked for me, however.'' [[User:PhilipPaeps|PhilipPaeps]] 16:41, 24 August 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
This method was surprisingly painless once I convinced my ThinkPad X60s to boot DOS from a USB stick.  I used VMWare and some mystical tool to get DOS on the stick.  If you can find another way to get a bootable DOS stick, please update this section!&lt;br /&gt;
&lt;br /&gt;
* Tell VMWare to create a virtual floppy image for you and format it under Microsoft Windows and tell it to create a system disk.  You can do this by clicking into &amp;quot;My Computer&amp;quot;, then right-clicking on the &amp;quot;Floppy&amp;quot; icon and selecting &amp;quot;Format&amp;quot;.  In the box that pops up, you need to check the box that says &amp;quot;Create an MS-DOS startup disk&amp;quot; and then click &amp;quot;Start&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* When you've done that, get this tool: http://www.techpowerup.com/downloads/330/mirrors.php and install it.  The tool is apparantly something HP once wrote, but I have been unable to find a link to it anywhere on the HP website.&lt;br /&gt;
&lt;br /&gt;
* In a command prompt again: &amp;lt;code&amp;gt;C:\DriveKey\HPUSBF.EXE E: -Q -B:A:\&amp;lt;/code&amp;gt;, replacing the &amp;lt;code&amp;gt;E:&amp;lt;/code&amp;gt; with the &amp;quot;drive letter&amp;quot; associated with your USB stick (you can find this letter in &amp;quot;My Computer&amp;quot; under &amp;quot;Removable Storage&amp;quot;).  '''WARNING:''' this wipes anything on the USB stick.  You will end up with a USB stick which appears empty at this point, but there is DOS on it somewhere.&lt;br /&gt;
&lt;br /&gt;
* Now mount the BIOS update ISO image from Lenovo as a virtual CDROM using VMWare again and copy the files from it to the USB stick: &amp;lt;code&amp;gt;copy D:\*.* E:\&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
At this point, you may want to fiddle with the splash image, as described elsewhere on ThinkWiki.&lt;br /&gt;
&lt;br /&gt;
* Reboot and press F12, tell the BIOS to boot from your USB stick.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;cd flash&amp;lt;/code&amp;gt; ; &amp;lt;code&amp;gt;updtflsh.exe&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Think happy thoughts.  The ThinkPad will beep quite ominously (and loudly!) a couple of times.  Do not let this worry you too much.  After about three minutes, the program will ask you to press enter to restart and hopefully all will be well.&lt;br /&gt;
&lt;br /&gt;
= Approach 4: Alternative method to the above &amp;quot;alternative method&amp;quot; =&lt;br /&gt;
&lt;br /&gt;
This is based on the above &amp;quot;Alternative Method&amp;quot; and works on my {{X60}}.&lt;br /&gt;
&lt;br /&gt;
1. Download the [[BIOS_Upgrade_Downloads|BIOS Update]] iso image and the [http://www.techpowerup.com/downloads/330/mirrors.php|HP USB Stick Formatter].&lt;br /&gt;
&lt;br /&gt;
2. Now get access to Windows -- be it in an emulator, or a colleague's PC. Steps 3, 4, 5 needs Windows to complete.&lt;br /&gt;
&lt;br /&gt;
3. Install the HP USB Stick Formatter.&lt;br /&gt;
&lt;br /&gt;
4. Go to the directory where you installed the tool: e.g. C:\DriveKey and extract HPUSBF.EXE to a new directory HPUSBF\ (using WinRAR, 7zip or similar).&lt;br /&gt;
&lt;br /&gt;
5. Run the HPUSBFW.EXE utility, selecting the location of system files as C:\DriveKey\HPUSBF, and let it format the USB stick.&lt;br /&gt;
&lt;br /&gt;
6. Extract the iso image to the USB stick, for example to K:\7buj22us (K: being the USB stick).&lt;br /&gt;
&lt;br /&gt;
7. On the target computer, boot with the USB stick and issue the commands &amp;quot;cd 7buj22us&amp;quot; then &amp;quot;command.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This brings up the BIOS flash interface and you can update your BIOS from here.&lt;br /&gt;
&lt;br /&gt;
== Comments on Approach 4 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
I (Martin Aulbach) followed these clear instructions and updated my X61t (from BIOS v1.08 to v1.10) without any problems and with a nice graphic splash screen. It is not necessary to let Windows format the USB stick as a MS-DOS startup disk, as outlined in Approach 3. The HP format tool will take care of this (in Step 5) and the USB stick will boot sucessfully at startup (correct boot order provided).&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; This update to BIOS 2.14 worked on a brand-new X61s, 2008-06-27. (adsmith)&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Approach 5: Free Alternative method to the above &amp;quot;alternative method&amp;quot; =&lt;br /&gt;
&lt;br /&gt;
This is functionally equivalent to the above two &amp;quot;alternative methods&amp;quot;, yet does not depend on MS Windows or any other proprietary software. It updates the BIOS through a bootable USB stick, and depends upon the FreeDOS, SYSLINUX, and AdvanceMAME projects. A detailed description is provided at [http://ubuntuforums.org/showthread.php?p=5459421#post5459421].&lt;br /&gt;
&lt;br /&gt;
= Approach 6: Using a USB stick to upgrade BIOS on older X Series Thinkpads =&lt;br /&gt;
&lt;br /&gt;
This method has been successfully applied for upgrading an {{X32}} Thinkpad. The previous BIOS version was 3.00d, and it was upgraded to 3.02 . Below are the steps:&lt;br /&gt;
&lt;br /&gt;
1. Download the new BIOS and EC Diskette-type upgrades.&lt;br /&gt;
&lt;br /&gt;
2. Make a DOS-bootable USB stick. See the section above for instructions on how to do this.&lt;br /&gt;
&lt;br /&gt;
3. Copy the upgrade programs to the USB stick.&lt;br /&gt;
&lt;br /&gt;
4. Make two zero-files (using dd), each with the size of a floppy disk.&lt;br /&gt;
&lt;br /&gt;
5. Boot up the USB stick using QEMU, with the USB stick as hda, and the two floppy disk images as A: and B: .&lt;br /&gt;
&lt;br /&gt;
6. Run the BIOS upgrade program, and select the first diskette as its destination. This will not actually upgrade the BIOS; it will only fill up the disk image.&lt;br /&gt;
&lt;br /&gt;
7. Run the EC upgrade program, with the second diskette as target. Again, this will only fill up the disk image, not upgrade the EC.&lt;br /&gt;
&lt;br /&gt;
8. Make two directories, C:\1 and C:\2 .&lt;br /&gt;
&lt;br /&gt;
9. Copy the contents of the first diskette to C:\1 and the second diskette to C:\2 .&lt;br /&gt;
&lt;br /&gt;
10. Exit QEMU, use the USB stick to boot the Thinkpad which BIOS we are going to upgrade.&lt;br /&gt;
&lt;br /&gt;
11. cd into C:\1 and run command.com inside it. This will bring up the BIOS update interface, so update the BIOS.&lt;br /&gt;
&lt;br /&gt;
12. After updating the BIOS, the machine will turn off by itself. Now boot again, with the same USB stick.&lt;br /&gt;
&lt;br /&gt;
13. cd into C:\2 and run command.com inside it. This will bring up the EC update interface. Update the EC and wait for the machine to shut down completely.&lt;br /&gt;
&lt;br /&gt;
14. Remove the USB stick. Now boot into the machine and go into BIOS setup. Right now you should see the new BIOS and EC version. If not, then something is wrong; make sure you have followed the above steps properly. Please also discuss this.&lt;/div&gt;</summary>
		<author><name>Mbsullivan</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installation_instructions_for_the_ThinkPad_X61&amp;diff=37947</id>
		<title>Installation instructions for the ThinkPad X61</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installation_instructions_for_the_ThinkPad_X61&amp;diff=37947"/>
		<updated>2008-06-09T15:19:58Z</updated>

		<summary type="html">&lt;p&gt;Mbsullivan: Added section for upgrading X61 BIOS&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== External Sources ==&lt;br /&gt;
&lt;br /&gt;
There are informative Ubuntu forum threads on [http://ubuntuforums.org/showthread.php?t=503233 Feisty] and [http://ubuntuforums.org/showthread.php?t=523022 Gutsy] for the X61.&lt;br /&gt;
&lt;br /&gt;
A very detailed report on the X61 under Ubuntu Gutsy Gibbon is  [https://wiki.ubuntu.com/LaptopTestingTeam/ThinkpadX61 here].  The report was written describing Tribe 5, the last prerelease, but describes the release version of Gutsy Gibbon equally well.&lt;br /&gt;
&lt;br /&gt;
* [http://slackwiki.org/ThinkPad_X61s Slackware installation instructions]&lt;br /&gt;
* [http://wiki.webvm.net/x61 Debian Lenny installation notes]&lt;br /&gt;
* [http://br1.einfach.org/GentooX61 Installing Gentoo on a Thinkpad X61]&lt;br /&gt;
&lt;br /&gt;
There is also fairly complex [[Installing openSUSE 10.3 on a ThinkPad X61|instalation HOWTO for openSUSE 10.3]] here on ThinkWiki.&lt;br /&gt;
&lt;br /&gt;
== Problems and Solutions ==&lt;br /&gt;
&lt;br /&gt;
=== X61 won't boot from the CD-ROM/DVD drive (Solved) ===&lt;br /&gt;
&lt;br /&gt;
Follow these instructions to enable your [http://en.wikipedia.org/wiki/Optical_drive optical drive]:&lt;br /&gt;
&lt;br /&gt;
# Reboot your X61. Press the ThinkVantage button quickly when you see the ThinkPad screen and then press F1 to enter [http://en.wikipedia.org/wiki/BIOS BIOS].&lt;br /&gt;
# In BIOS, select Configure -&amp;gt; Serial ATA.&lt;br /&gt;
# Now, select Compatibility instead of AHCI.&lt;br /&gt;
# Exit BIOS and start your computer normally.&lt;br /&gt;
&lt;br /&gt;
Do this only when booting does not work. This is not always necessary!&lt;br /&gt;
&lt;br /&gt;
=== Suspend/Resume doesn't work out of the box (Solved) ===&lt;br /&gt;
&lt;br /&gt;
Under GNOME, you may find that Suspend/Resume doesn't work out of the box.  Fn-F4 does suspend and lid open does resume, but the backlight is off after resume.&lt;br /&gt;
&lt;br /&gt;
To fix this, do the following:&lt;br /&gt;
&lt;br /&gt;
# In the file /boot/grub/menu.lst, find the line beginning with &amp;quot;# kopt=&amp;quot;.  This is where grub sets the options for your kernel. Append to this line the following: &amp;quot; acpi_sleep=s3_bios&amp;quot;. (That is, these words should be preceded by a space separating them from the existing options.  Do not remove the initial &amp;quot;#&amp;quot; from the line.)&lt;br /&gt;
&lt;br /&gt;
# Run the command '''update-grub''' as root.&lt;br /&gt;
&lt;br /&gt;
This fix '''is''' needed under Ubuntu 7.04 (Feisty Fawn), but '''is not''' needed under Gutsy Gibbon Tribe 5 or the final release version.  It seems likely the difference is due to the GNOME upgrade.&lt;br /&gt;
&lt;br /&gt;
In general the the backlight problem can be solved by suspending with &lt;br /&gt;
 s2ram -f -a 1&lt;br /&gt;
or using vbetool to restore your video state. for hibernate-scripts put into {{path|/etc/hibernate/ram.conf}}&lt;br /&gt;
&lt;br /&gt;
 TryMethod sysfs-ram.conf&lt;br /&gt;
 EnableVbetool yes&lt;br /&gt;
 VbetoolPost yes&lt;br /&gt;
&lt;br /&gt;
=== Sound doesn't work (Solved) ===&lt;br /&gt;
&lt;br /&gt;
Sound won't work under the stock ALSA 1.0.14 shipped with Ubuntu Feisty Fawn, but will in later versions including the patched 1.0.14 shipped with Ubuntu Gutsy Gibbon.&lt;br /&gt;
&lt;br /&gt;
Your speakers default to being muted.  To fix this, run alsamixer in a terminal window; right-arrow over until the Speaker column is visible, and press the &amp;quot;m&amp;quot; key to toggle it from mute (&amp;quot;MM&amp;quot;) to on (&amp;quot;OO&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
You may have to go to System-&amp;gt;Preferences-&amp;gt;Sound-&amp;gt;Devices and select PCM to enable your Volume button to work.&lt;br /&gt;
&lt;br /&gt;
The mute button always mutes rather than toggling; you have to undo it by hitting the volume-up button.&lt;br /&gt;
&lt;br /&gt;
=== Known Issues under Ubuntu Feisty Fawn 7.04 and Gutsy Gibbon Beta (Tribe 5) ===&lt;br /&gt;
&lt;br /&gt;
# Sound doesn't work under Feisty, but '''does''' under Gutsy Tribe 5 and Gutsy Final.   &lt;br /&gt;
# Wireless doesn't work under Feisty, but '''does''' under Gutsy Tribe 5 and Gutsy Final.&lt;br /&gt;
# 2D graphics works fine, but there is no 3D acceleration yet. (3D acceleration works in Hardy)&lt;br /&gt;
# Fingerprint reader doesn't work yet.&lt;br /&gt;
&lt;br /&gt;
=== Other Notes ===&lt;br /&gt;
&lt;br /&gt;
The stock drive in the X61 of October 2007 appears not to have the [[Problem_with_hard_drive_clicking|click-of-death]] issue noted on some other ThinkPads.  Note, this could potentially change if Lenovo changes drive suppliers.&lt;br /&gt;
&lt;br /&gt;
The X61 is apparently very similar to a T61 internally.  You may be able to find helpful tips in the &lt;br /&gt;
installation instructions  for the [[Installation_instructions_for_the_ThinkPad_T61|Installation instructions for the Thinkpad T61]] for problems that are not solved here.&lt;br /&gt;
&lt;br /&gt;
=== Immediate Resume after Suspend ===&lt;br /&gt;
&lt;br /&gt;
If your X61 starts to resume a few seconds after you suspended it to RAM, then you might need to unload the USB modules uhci_hcd and ehci_hcd before going to sleep.&lt;br /&gt;
&lt;br /&gt;
For hibernate-scripts you can put this in {{path|/etc/hibernate/common.conf}}&lt;br /&gt;
 UnloadModules uhci_hcd ehci_hcd&lt;br /&gt;
&lt;br /&gt;
== USB ports on right side don't work ==&lt;br /&gt;
&lt;br /&gt;
Can be fixed with a firmware update (from Lenovo); or using [[irqfixup]].&lt;br /&gt;
&lt;br /&gt;
See [http://ubuntuforums.org/showthread.php?t=658065 this thread on ubuntuforums].&lt;br /&gt;
&lt;br /&gt;
=== BIOS/Firmware Upgrade Difficult Without Ultrabase ===&lt;br /&gt;
&lt;br /&gt;
BIOS upgrades are available from Lenovo online in the form of a bootable CD image. However, USB CD-ROM drivers are not included on the disk, such that external CD-ROM drives will not work with the BIOS upgrade. Due to the lack of internal CD-ROM drive in the X61 series of laptops, this makes upgrading the BIOS difficult without a 32-bit version of Windows (for which there is an executable BIOS upgrade program).&lt;br /&gt;
&lt;br /&gt;
A CD-ROM drive in a Thinkpad ultrabase will be able to boot Lenovo's unmodified ISO and upgrade the BIOS/firmware. Failing this, it is possible to upgrade the X61 BIOS using a bootable USB stick, as per the instructions detailed [http://ubuntuforums.org/showthread.php?t=817897 here].&lt;br /&gt;
&lt;br /&gt;
== Bluetooth ==&lt;br /&gt;
&lt;br /&gt;
if bluetooth is disabled, just hit fn-f5.&lt;br /&gt;
&lt;br /&gt;
== Multiple monitors ==&lt;br /&gt;
&lt;br /&gt;
To clone the screen, just plug in a second monitor and hit Fn-F7.&lt;br /&gt;
&lt;br /&gt;
See: [[Xorg RandR 1.2]] for more details on setting up two monitors.&lt;br /&gt;
&lt;br /&gt;
To keep compiz effects, the largest Virtual screen size you can have currently is 2024 x 2024 (combined size of both monitors). This is apparently a software limitation, and may be extended in future. See [[Xorg RandR 1.2]] for details.&lt;br /&gt;
&lt;br /&gt;
You can change screen setup settings with these GUI apps:&lt;br /&gt;
* &amp;lt;code&amp;gt;gnome-display-properties&amp;lt;/code&amp;gt; (called &amp;quot;Screen Resolution&amp;quot; in System | Preferences menu)&lt;br /&gt;
* &amp;lt;code&amp;gt;grandr&amp;lt;/code&amp;gt; (not installed by default. try the command line tool &amp;lt;code&amp;gt;xrandr&amp;lt;/code&amp;gt; if grandr doesn't do what you want.)&lt;br /&gt;
* &amp;lt;code&amp;gt;gksu displayconfig-gtk&amp;lt;/code&amp;gt; (Warning: displayconfig-gtk may mess with your xorg.conf in a bad way. Keep a backup and/or avoid this program!)&lt;br /&gt;
&lt;br /&gt;
[[Category:X61]]&lt;/div&gt;</summary>
		<author><name>Mbsullivan</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_7.04_(Feisty_Fawn)_on_a_ThinkPad_T61&amp;diff=32567</id>
		<title>Installing Ubuntu 7.04 (Feisty Fawn) on a ThinkPad T61</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_7.04_(Feisty_Fawn)_on_a_ThinkPad_T61&amp;diff=32567"/>
		<updated>2007-08-27T04:21:03Z</updated>

		<summary type="html">&lt;p&gt;Mbsullivan: /* HDAPS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We'll I got it basically working, so far (will update as I get more things working).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===My DVD drive/CD burner/DVD burner doesn't work (Solved)===&lt;br /&gt;
&lt;br /&gt;
Follow these instructions to enable your [http://en.wikipedia.org/wiki/Optical_drive optical drive]:&amp;lt;br&amp;gt;&lt;br /&gt;
1) Reboot your T61. Press the ThinkVantage button quickly when you see the ThinkPad screen and then press F1 enter [http://en.wikipedia.org/wiki/BIOS BIOS].&amp;lt;br&amp;gt;&lt;br /&gt;
2) In BIOS, select Configure -&amp;gt; Serial ATA.&amp;lt;br&amp;gt;&lt;br /&gt;
3) Now, select Compatibility instead of AHCI.&amp;lt;br&amp;gt;&lt;br /&gt;
4) Exit BIOS and start your computer normally.&amp;lt;br&amp;gt;&lt;br /&gt;
5) Go to Places -&amp;gt; Computer, right-click your CD-ROM/DVD/etc. drive, and select Properties. Then, go to Drive -&amp;gt; Settings. Set the mount point to ''cdrom'' (regardless of whether it's a CD-ROM drive, DVD drive, etc.).&lt;br /&gt;
&lt;br /&gt;
:Remember step 5! If the Synaptic Package Manager does not see your installation CD, even though you can see it in Places -&amp;gt; Computer, do the following:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
:1) [http://ubuntuforums.org/showthread.php?t=31053 Log in as the root user].&amp;lt;br&amp;gt;&lt;br /&gt;
:2) Go to /media and rename cdrom to something that isn't already used in the /media folder.&amp;lt;br&amp;gt;&lt;br /&gt;
:3) Right-click on the desktop and select Create Launcher. Enter cdrom as the name and /media/Ubuntu 7.04 i386 as the command. Drag the launcher into /media. Note: Ubuntu 7.04 i386 can be anything, so change it if you need to access a different CD this way (i.e., if you need a different CD to appear as cdrom), but to get a package from your CD via Synaptic the name must be the same as your install CD´s (probably Ubuntu 7.04 i386).&amp;lt;br&amp;gt;&lt;br /&gt;
:4) Remember to rename the original cdrom after you´re done; you can keep the launcher cdrom under a different name.&lt;br /&gt;
&lt;br /&gt;
Of course, this way isn´t by the book and will get annoying if you have to do it a lot, so there´s probably a better way of getting packages from your installation CD with Synaptic, but itĺl work for getting the necessary packages to get your other hardware working.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
At first, the Ubuntu Live CD would not start at all, this seems to be a problem with the SATA AHCI driver.  I had to go into the BIOS and change the SATA driver from ACHI to compatibility (What is the difference? Am I loosing performance?).&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
After you've installed and booted, try the advice from [[Problems_with_SATA_and_Linux]]. Do this:&lt;br /&gt;
 '''# echo options libata atapi_enabled=1&amp;gt;/etc/modprobe.d/atapienable &amp;amp;&amp;amp; update-initramfs -u'''&lt;br /&gt;
Then try turning AHCI back on in the BIOS. On a custom-built 2.6.21.5 kernel, my DVD drive appears as /dev/hda and DMA works.&lt;br /&gt;
--[[User:Kc8tbe|Kc8tbe]] 12:45, 1 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
If your DVD drive does not appear, modprobe pata-jmicron and ide-generic.&lt;br /&gt;
--[[User:Antikristian|Antikristian]] 01:23, 30 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
===NVIDIA Quadro NVS 140M (Solved)===&lt;br /&gt;
After initial issues like those explained above in the SATA Issues, I received the xorg error 'fatal error: no screens found'.  I was able to boot into Safe Graphics Mode and run the installer, though I had to move both window manager bars to see enough of the install window to use it.&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can download the drivers via wget in a console. Take care to follow the instructions in &lt;br /&gt;
[http://www.nvnews.net/vbulletin/showthread.php?t=72490 the NVidia Forum] and uninstall all the packages wit apt-get remove, as descirbed.&lt;br /&gt;
Then run the nvidia installer.&lt;br /&gt;
&lt;br /&gt;
Remember that, after you upgrade the kernel, you also have to re-install the drivers.&lt;br /&gt;
&lt;br /&gt;
After installing the NVIDIA drivers, your laptop may not wake after suspend or hibernation.  I followed these instructions to fix it [https://help.ubuntu.com/community/NvidiaLaptopBinaryDriverSuspend Ubuntu Community Help].&lt;br /&gt;
&lt;br /&gt;
====Alternative NVIDIA driver installation====&lt;br /&gt;
Instead of installing the NVIDIA drivers manually as described above, you can try using [http://www.albertomilone.com/nvidia_scripts1.html Envy]. It automatically installs the latest NVIDIA drivers, and cleans up any previous installations.&lt;br /&gt;
&lt;br /&gt;
=== Intel Graphics Media Accelerator X3100 (Chipset GM965) (Solved)===&lt;br /&gt;
After that the CD seemed to boot but the screen was just garbage [http://shadowarts.nonlogic.org/projects/thinkpad/screen_garbage.jpg Picture].  In order to get around that issue I had to go back and download the Alternate CD, which allows you to install in text only mode. From here, the text-only install went okay. Changing the VGA settings on the regular CD worked for me. &lt;br /&gt;
&lt;br /&gt;
When I booted up after the installation, I was still getting the same garbage on the screen.  To resolve this I edited my [http://shadowarts.nonlogic.org/projects/thinkpad/xorg.conf xorg.conf] file as shown.  I also had to install the latest kernel for Feisty, as the one off of the install disk did have have /dev/agpgart.  And I could then use X11.  There were still some issues however.  The screen seemed somewhat fuzzy.  This was a little more challenging of a fix...  I found [http://www.spinics.net/lists/xorg/msg25099.html this] mailing list posting, according to it, there was a small glitch in the driver.  To fix it:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-get source xserver-xorg-video-intel&lt;br /&gt;
cd xserver-xorg-video-intel-1.9.94/&lt;br /&gt;
vim src/i830_lvds.c&lt;br /&gt;
Goto line 230 and delete (PFIT_ENABLE | VERT_AUTSCALE ....);, replacing it with 0;  then quit vim&lt;br /&gt;
dpkg-buildpackage -rfakeroot -uc -b&lt;br /&gt;
cd ..&lt;br /&gt;
dpkg -i xserver-xorg-video-intel_1.9.94-lubuntu3_amd64.deb (wont be amd64 with a 32-bit install)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now reboot your computer, and it should work.  **NOTE: For some reason just restarting X didn't fix it, seems like you must reboot.**  At this point you should have a nice, crisp display.&lt;br /&gt;
&lt;br /&gt;
I am still working on aiglx and compiz (switching desktops on a cube doesnt seem to work, though I have some ideas...).  There are some issues with OpenGL apps freezing Xorg as well, but the standard 2D desktop works flawlessly.&lt;br /&gt;
----&lt;br /&gt;
It doesn't seem to be necessary to modify the soruce of xserver-xorg-video-intel anymore, but 3D-acceleration doesn't seem to be stable yet and kdm occasionally needs to be restarted after a login attempt.--[[User:Kc8tbe|Kc8tbe]] 12:49, 1 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
I was able to use the normal feisty install disk by changing the SATA setting in BIOS, then change the resolution to 800x600 prior to install, then sudo apt-get update and upgrade, and then sudo apt-get install xserver-xorg-video-intel, then change xorg.conf to match link above and 2D graphics work fine.  Jul 18, 2008 - John E&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
It seems that everything works fine when using &amp;quot;apt pinning&amp;quot; and updating the xserver-xorg-video-intel, mesa and other packages to the versions provided by Gutsy. I did the following and the resolution and Compiz Fusion are working fine at the moment. The original source of the steps described below can be found here: [http://techreport.com/forums/viewtopic.php?p=714998#714998]&lt;br /&gt;
&lt;br /&gt;
'''Instructions:'''&lt;br /&gt;
* Make a new file /etc/apt/preferences&lt;br /&gt;
* In the preferences file, put: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Package: *&lt;br /&gt;
Pin: release a=feisty&lt;br /&gt;
Pin-Priority: 700&lt;br /&gt;
&lt;br /&gt;
Package: *&lt;br /&gt;
Pin: release a=gutsy&lt;br /&gt;
Pin-Priority: 200&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Now, edit your sources.list and copy the main and restricted (and others if you want) repo lines replacing feisty with gutsy: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# original&lt;br /&gt;
deb http://archive.ubuntu.com/ubuntu feisty main restricted universe multiverse&lt;br /&gt;
deb-src http://security.ubuntu.com/ubuntu feisty main restricted universe multiverse&lt;br /&gt;
&lt;br /&gt;
# your addition&lt;br /&gt;
deb http://archive.ubuntu.com/ubuntu gutsy main restricted universe multiverse&lt;br /&gt;
deb-src http://security.ubuntu.com/ubuntu gutsy main restricted universe multiverse&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Now run:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get -t gutsy install xserver-xorg-video-intel&lt;br /&gt;
sudo apt-get -t gutsy install linux&lt;br /&gt;
sudo apt-get -t gutsy install libgl1-mesa-dri&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Now reboot.&lt;br /&gt;
&lt;br /&gt;
Probably now you have the weird effect that your GUI is scaled wrong and doesn't fill the full width of the monitor. To fix that, open your xorg.conf and make the following changes:&lt;br /&gt;
* Add the following section to your xorg.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
    Identifier &amp;quot;TVOutput&amp;quot;&lt;br /&gt;
    Option &amp;quot;Disable&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
EndSection&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Then in the &amp;quot;Device&amp;quot; section add the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Option &amp;quot;monitor-TV&amp;quot; &amp;quot;TVOutput&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That should fix the scaling problem and now everything should work fine.&lt;br /&gt;
--[[User:Shuk|Shuk]] 02:26, 10 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
===ThinkFinger===&lt;br /&gt;
Ubuntu does not come with a package for thinkfinger.  Downloading the most recent source and building it was simple enough: Download most recent version (0.3 at time of writing)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install libpam0g-dev libusb-dev&lt;br /&gt;
tar xvzf thinkfinger-0.3.tar.gz&lt;br /&gt;
cd thinkfinger-0.3/&lt;br /&gt;
./configure --with-securedir=/lib/security --with-birdir=/etc/pam_thinkfinger&lt;br /&gt;
make -j5             (hey its dual core!)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Configuring it is easy as well, open /etc/pam.d/common-auth:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
auth sufficient pam_thinkfinger.so&lt;br /&gt;
auth required pam_unix.so try_first_pass nullok_secure&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create the data directory and set your fingerprint:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
subo mkdir /etc/pam_thinkfinger&lt;br /&gt;
sudo tf-tool --add-user &amp;lt;username&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
It will all be setup.  (I found this somewhere on the web, I wish I could give a source but I'm afraid I cant find it, thank you Anonymous!).&lt;br /&gt;
&lt;br /&gt;
*I am having trouble. I get this error with the last command on the above instructions &amp;quot;tf-tool: error while loading shared libraries: libthinkfinger.so.0: cannot open shared object file: No such file or directory&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===HDAPS===&lt;br /&gt;
This seems to be working fine now, I just follow the step on [[How_to_protect_the_harddisk_through_APS]].  Using hdaps-gl does the inverse of the accelerometer, though it's not really a big deal, the harddrive protection should still work.&lt;br /&gt;
&lt;br /&gt;
Assuming that the (improved) hdaps code bundled with tp_smapi is being used, editing the transform_axis function in tp_smapi-0.32/hdaps.c will allow for the proper operation of the accelerometer. Assuming that the accelerometer is rotated 90 degrees from its proper orientation (as it is with the X61), the following code will suffice:&lt;br /&gt;
&lt;br /&gt;
static void transform_axes(int *x, int *y)&lt;br /&gt;
{&lt;br /&gt;
	int temp = *x;&lt;br /&gt;
	*x = -*y;&lt;br /&gt;
	*y = temp;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
For those paying attention in linear algebra, this corresponds to a linear transformation that rotates a 2D coordinate system 90 degrees.&lt;br /&gt;
--[[User:Mbsullivan|Mbsullivan]] 04:21, 27 August 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
===WiFi===&lt;br /&gt;
If you have Intel 4965AGN WiFi card, you have to use ndiswrapper OR use backported kernel from Ubuntu Gutsy (Anybody have howto?) and use following: &lt;br /&gt;
http://kuscsik.blogspot.com/2007/06/how-to-install-intel-4965-wireless.html&lt;br /&gt;
&lt;br /&gt;
'''Note:'''&lt;br /&gt;
Do not use the latest versions of iwlwifi and mac80211. For me with Gutsy mac80211-8.0.2 and iwlwifi-0.0.42 work with the latest firmware. No further modification needed.&lt;br /&gt;
&lt;br /&gt;
If you have the Atheros card, Ubuntu should automatically install madwifi, which works out of the box&lt;br /&gt;
----&lt;br /&gt;
Works for me with iwlwifi-4965-ucode-4.44.15, iwlwifi-0.0.34, and mac80211-8.0.1. The catch is, you need to patch your kernel with mac80211, which will fail at compile time with the stock Ubuntu sources. Worked for me with vanilla 2.6.21.5 sources patched for tp_smapi and hdaps protect. Make sure to disable CONFIG_NET_WIRELESS_RTNETLINK in your kernel config.&lt;br /&gt;
&lt;br /&gt;
You can download what you need for for iwlwifi and mac80211 from &lt;br /&gt;
http://intellinuxwireless.org .--[[User:Kc8tbe|Kc8tbe]] 13:00, 1 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
Works for me with vanilla kernel v2.6.22.1, ucode 4.44.17, iwlwifi 0.1.2 and mac80211 9.0.2. --[[User:Mbsullivan|Mbsullivan]] 13:40, 24 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
You can also use Kernel 2.6.22.9 and Ubuntu Modules 2.6.22.9 from Gutsy and you will not need to compile anything! Works very well.&lt;br /&gt;
&lt;br /&gt;
===Keyboard/Apostrophe issues (Solved)===&lt;br /&gt;
When installing with the alternate CD, Ubuntu asks you if your keyboard as a character that appears to be a quotation mark (this character: &amp;quot;). If you're using a US English keyboard, say no; the character is actually an umlaut. [[User:SteveSims|SteveSims]] 02:15, 19 August 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
My apostrophe key outputs ´ instead of '. I went to System -&amp;gt; Preferences -&amp;gt; Keyboard and could not figure out how to fix it. [[User:SteveSims|SteveSims]] 21:50, 11 August 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
:Try switching your keyboard layout to US-Classic, and putting it on the top of the list.  After you do that, it works perfectly. --[[User:Adamacious|Adamacious]] 04:29, 13 August 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
::There is no &amp;quot;US Classic&amp;quot; option. Here's what I have:&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:Keyboard_options.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[User:SteveSims|SteveSims]] 02:17, 15 August 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
:::It started working, even though I changed nothing. I'm running it as a Macintosh US English keyboard. [[User:SteveSims|SteveSims]] 17:20, 15 August 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
::::Sorry Steve, what you had to do (and what you did) is select US English, as in the header in the list.  It doesn't look selectable, but it is.--[[User:Adamacious|Adamacious]] 20:02, 22 August 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
===Can you hear me now?.... What? (Solved!)===&lt;br /&gt;
====Python script fix (easy fix, recommended for most users)====&lt;br /&gt;
1) Download the [http://launchpadlibrarian.net/8899521/t61_audio_hack.py T61 audio hack] from [[Launchpad]]. Move it to a convenient folder (e.g., not your desktop).&amp;lt;br&amp;gt;&lt;br /&gt;
2) Go to System -&amp;gt; Preferences -&amp;gt; Sessions -&amp;gt; Startup Programs -&amp;gt; Add.&amp;lt;br&amp;gt;&lt;br /&gt;
3) Name it whatever you want. Choose something simple like &amp;quot;Python audio fix.&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
4) Go to Command, and enter the following (with quotation marks):&lt;br /&gt;
&amp;lt;pre&amp;gt;gksudo &amp;lt;nowiki&amp;gt;&amp;quot;[THE FOLDER THAT T61_AUDIO_HACK.PY IS IN]&amp;lt;/nowiki&amp;gt;/t61_audio_hack.py&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
For example, on my computer, I put t61_audio_hack.py into the /fixes folder in my home folder, so I entered:&lt;br /&gt;
&amp;lt;pre&amp;gt;sksudo &amp;quot;/home/sims/fixes/t61_audio_hack.py&amp;quot;&amp;lt;/pre&amp;gt; into the Command textbox.&amp;lt;br&amp;gt;&lt;br /&gt;
5) Log out, log back in, and type your password quickly when prompted the second time.&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
[https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.20/+bug/122560 Launchpad Bug #122560]&lt;br /&gt;
[https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.20/+bug/133105 Launchpad Bug #133105]&lt;br /&gt;
&lt;br /&gt;
====ALSA driver update (hard fix, recommended for advanced users)====&lt;br /&gt;
&lt;br /&gt;
:'''''Note: This section assumes a high level of technical proficiency. Please fix it.'''''&lt;br /&gt;
::*&amp;lt;s&amp;gt;At [http://www.alsa-project.org www.asla-project.org], did you download only alsa-driver-1.0.14? That and alsa-lib-1.0.14a?&amp;lt;/s&amp;gt;&lt;br /&gt;
:::Download alsa-driver, alsa-kernel, alsa-lib, and alsa-utils, according to [http://alsa.opensrc.org/index.php/AlsaCVS http://alsa.opensrc.org/index.php/AlsaCVS]. Other sources, however, say only the driver is necessary. Perhaps alsa-project.org simply recommends the other two?&lt;br /&gt;
::*''How'' did you compile it from source? ''How'' did you add the patch?&lt;br /&gt;
::*In short, please explain ''how'' you did these things in addition to just telling us ''what'' you did. I´m not trying to be rude but seriously, not all Linux users are programmers ;). Thanks. [[User:SteveSims|SteveSims]] 22:19, 11 August 2007 (UTC)&lt;br /&gt;
After upgrading to 1.0.14 I still had no sound, and this took about a week to solved (though it was so sadly obvious though).  Just upgrading to alsa 1.0.14 will not be enough, there were a few patches released right after the release that fix the Thinkpad's.  The reason I missed this was because it was the same day so the release of 1.0.14!&lt;br /&gt;
&lt;br /&gt;
---------------------------------------------------------------------------&lt;br /&gt;
VERY SIMPLE METHOD OF MAKING SOUND WORK &lt;br /&gt;
http://forums.fedoraforum.org/showthread.php?t=159516&amp;amp;page=1&amp;amp;pp=15&lt;br /&gt;
Just follow the instructions step by step, except for two small things:&lt;br /&gt;
When doing &amp;quot;cp ../patch_analog.c alsa-driver-1.0.14/alsa-kernel/pci/hda/&amp;quot; use &amp;quot;cp ../patch_analog.c alsa-kernel/pci/hda/&amp;quot; instead&lt;br /&gt;
Also, when you get to the part about modifying the modprobe.conf file, it doesn't exist in ubuntu. Adding &amp;quot;options snd-hda-intel index=0 model=thinkpad&amp;quot; to any file (even one you make yourself) inside etc/modprobe.d should work. I personally added it to the options file, and it works fine. &lt;br /&gt;
&lt;br /&gt;
-credit for the guide goes to ciphermonk, and credit to the small changes needed to make this work on ubuntu go to my friend John. &lt;br /&gt;
&lt;br /&gt;
-hotkeys control mic volume, not speaker volume for some reason. I do not know how to fix this&lt;br /&gt;
&lt;br /&gt;
-this fix should provide sound for both headphones and speakers. &lt;br /&gt;
&lt;br /&gt;
-this edit by fatalchaos &lt;br /&gt;
---------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
First make sure these packages are installed (System -&amp;gt; Administration -&amp;gt; Synaptic Package Manager) : automake, autoconfig, cvs, libtool, python-dev, build-essential&lt;br /&gt;
&lt;br /&gt;
Then download the source code to the alsa-driver and apply these patches: (links to the revisions)&lt;br /&gt;
 &lt;br /&gt;
* [http://hg.alsa-project.org/alsa-kernel/rev/958b39f3e8dd Fix Oops with AD1984 thinkpad model]&lt;br /&gt;
* [http://hg.alsa-project.org/alsa-kernel/rev/47ca87407c84 Fix AD1984 basic model]&lt;br /&gt;
* [http://hg.alsa-project.org/alsa-kernel/rev/ca37aeeeb0ea Fix Thinkpad X61/T61 outputs]&lt;br /&gt;
&lt;br /&gt;
'''Please use CVS version of ALSA instead. All of these patches are committed'''. The link to the CVS version of ALSA is dead[http://alsa.opensrc.org/index.php/AlsaCVS].&lt;br /&gt;
&lt;br /&gt;
After doing a make and make install reboot your computer (or rrmmod snd-hda-intel &amp;amp;&amp;amp; modprobe snd-hda-intel).  And run alsamixer (for me it only works as root atm).  If you can´t find alsamixer, you can run it in the terminal (Applications -&amp;gt; Accessories -&amp;gt; Terminal) by entering ''alsamixer''. You will have to play with the settings a bit.  Make sure the speaker option is not muted and leave the Internal Mic Boost at 0, other wise you will have a really loud microphone feedback sort of sound constantly.&lt;br /&gt;
&lt;br /&gt;
I had to chmod -R 777 /dev/snd/ to get everything work for now. (THIS IS NOT THE CORRECT WAY TO DO IT, IT WILL NOT STAY BETWEEN REBOOTS!).&lt;br /&gt;
&lt;br /&gt;
Audio playback should then work, audio capture (microphone) doesn't seem to work, but I am probably not going to try and fix it, I don't use the capture so I am not concerned with that at the moment.&lt;br /&gt;
'''Update:''' With ALSA CVS, microphone seems to work&lt;br /&gt;
&lt;br /&gt;
If you can't hear the mic boost mic settings.  Here are my settings at KMix&lt;br /&gt;
Output&lt;br /&gt;
   Mic - low&lt;br /&gt;
   Mic Boost - full&lt;br /&gt;
Input &lt;br /&gt;
   Mic boost [enable] - medium&lt;br /&gt;
   capture [enable] - medium&lt;br /&gt;
&lt;br /&gt;
works great with Skype.  Also you can use the 'mic level meter' on KRecord to check the mic&lt;br /&gt;
&lt;br /&gt;
In Gnome, default channel mapped to thinkpad volume buttons is MIC, which is bad. Go to ''System-&amp;gt;Preferences-&amp;gt;Sound-&amp;gt;Default mixer tracks'' to change it&lt;br /&gt;
&lt;br /&gt;
'''Please note''' that internal speakers doesn't work with ALSA CVS. Use the headphone jack. Solution?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
When starting alsamixer over the terminal I couldn't activate the speakers and only had sound over the headphone. However, I figured out how to easily activate the speakers:&lt;br /&gt;
* Right-click on your microphone icon in the top panel.&lt;br /&gt;
* (If &amp;quot;Mute&amp;quot; is activated, deactivate it. I had that at the beginning and was confused since in alsa you don't really realize it.)&lt;br /&gt;
* Click on &amp;quot;Open Volume Control&amp;quot;&lt;br /&gt;
* Change to the tab &amp;quot;Switches&amp;quot; and activate the option for speaker. &lt;br /&gt;
That should be enough to make it work.&lt;br /&gt;
--[[User:Shuk|Shuk]] 02:51, 11 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
I tried those patches, it didnt work for me. But this python script did: http://www.klabs.be/~fpiat/linux/debian/Etch_on_Thinkpad_T61.html#Sound  .. apparently if you make the PC speaker play constantly, you cant hear it but you can then hear sound. Hopefully gutsy will fix this :/ --[[User:Rubin|Rubin]] 07:18, 14 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Suspend==&lt;br /&gt;
Suspending doesn't work by default. It succesfully suspends, but after resuming, Kernel panic occurs. I didn't test hibernate.&lt;br /&gt;
I managed to get suspend to ram to work by using this script:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 # if launched through a lid event and lid is open, do nothing&lt;br /&gt;
 echo &amp;quot;$1&amp;quot; | grep &amp;quot;button/lid&amp;quot; &amp;amp;&amp;amp; grep -q open /proc/acpi/button/lid/LID/state &amp;amp;&amp;amp; exit 0&lt;br /&gt;
 &lt;br /&gt;
 # remove USB 1.1 driver&lt;br /&gt;
 rmmod uhci_hcd&lt;br /&gt;
 rmmod ehci_hcd&lt;br /&gt;
 &lt;br /&gt;
 # sync filesystem and clock&lt;br /&gt;
 sync&lt;br /&gt;
 /sbin/hwclock --systohc&lt;br /&gt;
 &lt;br /&gt;
 # switch to console&lt;br /&gt;
 FGCONSOLE=`fgconsole`&lt;br /&gt;
 chvt 6&lt;br /&gt;
 &lt;br /&gt;
 # go to sleep&lt;br /&gt;
 sleep 5 &amp;amp;&amp;amp; echo -n &amp;quot;mem&amp;quot; &amp;gt; /sys/power/state&lt;br /&gt;
 &lt;br /&gt;
 # readjust the clock (it might be off a bit after suspend)&lt;br /&gt;
 /sbin/hwclock --adjust&lt;br /&gt;
 /sbin/hwclock --hctosys&lt;br /&gt;
 &lt;br /&gt;
 # reload USB 1.1 driver&lt;br /&gt;
 modprobe uhci_hcd&lt;br /&gt;
 modprobe ehci_hcd&lt;br /&gt;
 &lt;br /&gt;
 # turn on the backlight and switch back to X&lt;br /&gt;
 chvt $FGCONSOLE&lt;br /&gt;
&lt;br /&gt;
It's very similar to script posted on thinkwiki, but I had to add ehci_hcd to removed modules and remove some radeon stuff (when using Nvidia)&lt;br /&gt;
&lt;br /&gt;
'''Problems''' the problem with this suspend script is, that after resuming, the laptop is incredibly slow. Applications start about 20 seconds, Firefox is lagging. But processor doesn't run at highest frequency, nothing seems unusual. '''Suggestions?'''&lt;br /&gt;
&lt;br /&gt;
When using this script, my USB ports are 'dead' after resume (i.e.  nothing connected to it gets any power).  I have commented out 'rmmod ehci_hcd' and 'modprobe ehci_hcd' lines, to make the USB ports active after a suspend/resume cycle.  (this is using nvidia card)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Suspend and hibernate work out-of-the-box for me with the 2.6.21.5 kernel, except that you need to put acpi_sleep=s3_bios in the kernel command line (i.e. at the end of each kernel line in /boot/grub/menu.lst).&lt;br /&gt;
--[[User:Kc8tbe|Kc8tbe]] 13:03, 1 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
Hmm, with 2.6.21.5 + acpi_sleep=s3_bios,  laptop suspends, but resume fails - machine locks up.  This is with nvidia 140.  Same result when doing it at console.  When I resume, I hear a beep and the machine hangs.  Have to hard-reset.  Suggestions?&lt;br /&gt;
&lt;br /&gt;
Some things seem to break after suspend for me, like network connections time out randomly, cdrom stops working etc. Running 'sudo /etc/init.d/dbus restart' seems to solve it for the most part.&lt;br /&gt;
&lt;br /&gt;
==Brightness==&lt;br /&gt;
Changing brightness doesn't work at all. There are many issues. I tried Gutsy and still the same (even worse)&lt;br /&gt;
&lt;br /&gt;
Not a real solution, but if using the vesa driver, brightness control works. ''--Daniel06'' 11:58, 4 July 2007&lt;br /&gt;
&lt;br /&gt;
doesnt work for me with vesa or intel --[[User:Rubin|Rubin]] 06:19, 14 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
It works fine on mine and I have built-in graphics on my motherboard. [[User:SteveSims|SteveSims]] 02:19, 15 August 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
=== one idea ===&lt;br /&gt;
  echo &amp;quot;up&amp;quot; &amp;gt;/proc/acpi/ibm/brightness   &lt;br /&gt;
...works. as does 'down' and 'level x' where x is 1-7.  But how to tie that into the buttons? Seems they are currently using something else in /proc that doesnt exist for us.  --[[User:Rubin|Rubin]] 06:19, 14 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
=== yet another idea ===&lt;br /&gt;
&lt;br /&gt;
You can add the Gnome power manager brightness applet to the gnome panel, which gives you a GUI tool to do the job, rather than hardware buttons.  I don't know about KDE or other window managers.  --[[User:Atoponce|Atoponce]] 13:07 22, Aug 2007&lt;br /&gt;
&lt;br /&gt;
=== Another solution for Brightness, using xbacklight and laptop-mode ===&lt;br /&gt;
&lt;br /&gt;
While the hardware buttons still don't work, I have a solution that will automatically raise and lower the backlight when plugged in or on battery.  &lt;br /&gt;
&lt;br /&gt;
First, make sure Gnome isn't trying to set the brightness, by going to System &amp;gt; Preferences &amp;gt; Power Management.  In the On Battery Power tab, set &amp;quot;Dim display brightness by&amp;quot; to 0%.&lt;br /&gt;
&lt;br /&gt;
Next, install xbacklight.&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install xbacklight&lt;br /&gt;
&lt;br /&gt;
You can manually set the backlight by using &amp;quot;xbacklight -set &amp;lt;number from 1-100&amp;gt;&amp;quot;.  Note that by using xbacklight, you can make the backlight go brighter or dimmer than normally allowed by Windows or Ubuntu.&lt;br /&gt;
&lt;br /&gt;
To automate brightness changes, first enable laptop-mode&lt;br /&gt;
&lt;br /&gt;
  sudo nano /etc/default/acpi-support&lt;br /&gt;
&lt;br /&gt;
Scroll to the bottom and change ENABLE_LAPTOP_MODE to true&lt;br /&gt;
&lt;br /&gt;
  ENABLE_LAPTOP_MODE=true&lt;br /&gt;
&lt;br /&gt;
Set laptop mode to start automatically&lt;br /&gt;
&lt;br /&gt;
  sudo update-rc.d laptop-mode multiuser&lt;br /&gt;
&lt;br /&gt;
Edit laptop-mode.conf to automate brightness changes.  Scroll down to LCD brightness settings.  Modify the section to read as follows:&lt;br /&gt;
&lt;br /&gt;
  CONTROL_BRIGHTNESS=1&lt;br /&gt;
&lt;br /&gt;
  BATT_BRIGHTNESS_COMMAND=&amp;quot;xbacklight -set 20&amp;quot;&lt;br /&gt;
  LM_AC_BRIGHTNESS_COMMAND=&amp;quot;xbacklight -set 100&amp;quot;&lt;br /&gt;
  NOLM_AC_BRIGHTNESS_COMMAND=&amp;quot;xbacklight -set 100&amp;quot;&lt;br /&gt;
  BRIGHTNESS_OUTPUT=&amp;quot;/dev/null&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Note: You can use any value from 1 to 100 after -set, I used 20 and 100 as examples.  After this, start the laptop-mode daemon, and test if it works.  You may have to restart acpid as well.&lt;br /&gt;
&lt;br /&gt;
  sudo /etc/init.d/laptop-mode start&lt;br /&gt;
  sudo /etc/init.d/acpid restart&lt;br /&gt;
&lt;br /&gt;
==Webcam==&lt;br /&gt;
The webcam in T61 is some sort of UVC camera: Found UVC 1.00 device Integrated Camera (17ef:1004). The module loads out of the box. I tested the camera using:&lt;br /&gt;
Luvcview: http://mxhaard.free.fr/spca50x/Investigation/uvc/luvcview-20070512.tar.gz&lt;br /&gt;
Just compile and run using ./luvcview -f yuv (JPG format doesn't work)&lt;br /&gt;
&lt;br /&gt;
I also tried gqcam and webcam, but both doesn't work (first SEGFAULTs, second prints Invalid argument)&lt;br /&gt;
&lt;br /&gt;
luvcview has a button to take pictures. Place your mouse over the buttons at the bottom of the window, and their function is revealed in the title bar. Unfortunately, the button for avi capture does not seem to work (although it does tell you what the video framerate is, which is helpful).&lt;br /&gt;
&lt;br /&gt;
To capture a video stream, run ./luvcview -f yuv -S&lt;br /&gt;
To play back the video stream, run mplayer -demuxer rawvideo -rawvideo fps=7:w=320:h=240:yuy2 stream.raw&lt;br /&gt;
&lt;br /&gt;
==64bit systems issues==&lt;br /&gt;
If you are running 64bit Ubuntu, you will face some problems wit 32bit only proprietary applications. Most of them can be solved. &lt;br /&gt;
&lt;br /&gt;
===Firefox &amp;amp; Flash===&lt;br /&gt;
You can use 32bit version of Firefox (see google), or use http://gwenole.beauchesne.info/projects/nspluginwrapper/ nspluginwrapper] which i prefer:&lt;br /&gt;
 sudo apt-get install ia32-libs ia32-libs-gtk linux32 lib32asound2 alien&lt;br /&gt;
Now download both nspluginwrapper rpms (Plugin + Viewer) and convert them:&lt;br /&gt;
 sudo alien nspluginwrapper*.rpm&lt;br /&gt;
 sudo dpkg -i nspluginwrapper*.deb&lt;br /&gt;
&lt;br /&gt;
Download Adobe Flash Player: http://fpdownload.macromedia.com/get/flashplayer/current/install_flash_player_9_linux.tar.gz&lt;br /&gt;
 tar -xvzf install_flash_player_9_linux.tar.gz&lt;br /&gt;
 cd install_flash_player_9_linux&lt;br /&gt;
 sudo install libflashplayer.so flashplayer.xpt /usr/lib/firefox/plugins&lt;br /&gt;
 nspluginwrapper -i /usr/lib/firefox/plugins/libflashplayer.so&lt;br /&gt;
 cd ~/.mozilla/plugins/&lt;br /&gt;
 sudo install npwrapper.libflashplayer.so /usr/lib/mozilla-firefox/plugins/&lt;br /&gt;
This howto is taken from [http://webzine.smehlik.net/64bit-ubuntu-adobe-flash-plugin-pomoci-nspluginwrapper/ Smehlik Webzine (in Czech)]&lt;br /&gt;
&lt;br /&gt;
===Skype===&lt;br /&gt;
Download Skype for Ubuntu Feisty&lt;br /&gt;
Use this commandlibdbus, libqt4-core, libqt4-gui, libsigc++ to determine missing libraries:&lt;br /&gt;
 ldd /usr/bin/skype | grep not&lt;br /&gt;
It should be these:&lt;br /&gt;
 libdbus, libqt4-core, libqt4-gui, libsigc++ (2.0 version)&lt;br /&gt;
Download them from http://packages.ubuntu.com (32bit versions!)&lt;br /&gt;
 mkdir testlibs&lt;br /&gt;
 dpkg-deb --extract &amp;lt;deb file&amp;gt; testlibs&lt;br /&gt;
Now copy everything from testlibs to /usr/lib32&lt;br /&gt;
 cp -r testlibs/usr/lib/* /usr/lib32&lt;br /&gt;
Freedom lovers are advised to avoid proprietary systems like Skype, however.  Centralized directories and signalling architectures can't be good for your health.&lt;br /&gt;
&lt;br /&gt;
==Bluetooth==&lt;br /&gt;
works for me (TM)&lt;br /&gt;
&lt;br /&gt;
==USB==&lt;br /&gt;
A short time after the system has booted, I get a message on the console of every window indicating IRQ# 23 has fired but noone is expecting it. After this message, the USB ports on the right side fail to work anymore.  It was suggested on a forum that they will work, its just it takes it a long time to discover there is a new device.  I looked in /proc and determined that the bluetooth device is using IRQ23, so it may be involved, but there may be sharing so it could be something else.  Regardless, there are USB bus problems with the T61 and linux.&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
==Overall==&lt;br /&gt;
I initially had some big problems getting this working, but now its working quite well.  The wifi card worked at startup (uses madwifi) and I am happy because I don't seem to need any proprietary software to run this system.&lt;br /&gt;
&lt;br /&gt;
==Discussion==&lt;br /&gt;
In case you missed it the discussion page (for questions/responses) is right here:&lt;br /&gt;
http://www.thinkwiki.org/wiki/Talk:Installing_Ubuntu_7.04_%28Feisty_Fawn%29_on_a_ThinkPad_T61&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* This guide is listed at the [http://tuxmobil.org/ibm.html TuxMobil Linux laptop and notebook installation guides survey (IBM/Lenovo)].&lt;br /&gt;
* Many other suggestions and references can be found in the following ubuntu forum: http://ubuntuforums.org/showthread.php?t=471563&lt;br /&gt;
&lt;br /&gt;
[[Category:Ubuntu 7.04]]&lt;br /&gt;
[[Category:T61]]&lt;/div&gt;</summary>
		<author><name>Mbsullivan</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:HDAPS&amp;diff=32375</id>
		<title>Talk:HDAPS</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:HDAPS&amp;diff=32375"/>
		<updated>2007-08-24T05:41:03Z</updated>

		<summary type="html">&lt;p&gt;Mbsullivan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;So, this is in the stable kernel now, but what userspace program do we need to actually park the heads?&lt;br /&gt;
--[[User:MrStaticVoid|MrStaticVoid]] 01:26, 30 Oct 2005 (CEST)&lt;br /&gt;
----&lt;br /&gt;
Yes the hdaps driver is in the 2.6.14 kernel, but support to park the heads quickly and freeze the disk queue (to prevent the heads from getting un-parked) is not. There is some disagreement into how that should be implemented.&lt;br /&gt;
&lt;br /&gt;
In other words, the hdaps driver for the moment is rather useless, unless you want to use it to play games.&lt;br /&gt;
&lt;br /&gt;
--[[User:Tonko|Tonko]] 02:10, 30 Oct 2005 (CEST)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
I head rumours that you can make SDL handle this like a joystick, e.g. for playing Neverball. Can anyone confirm or deny that? Thanx --[[User:Nomeata|Nomeata]] 01:16, 16 Nov 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
Yes it is possible to use it as a joystick, as Tonko allready mentioned.&lt;br /&gt;
/dev/input/jsX modprobe joydev&lt;br /&gt;
&lt;br /&gt;
Ozi&lt;br /&gt;
&lt;br /&gt;
Thanks, I didn't have the joydev module. Rebuilding... --[[User:129.13.186.1|129.13.186.1]] 15:30, 16 Nov 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Yeah, it's a pretty good party trick - set up the HDAPS joystick as xmame input.  You can play Ms. Pac-man by tilting your laptop to make pac-man navigate the maze.  You can imagine that the pac-man &amp;quot;rolls&amp;quot; downhill, just like those old wooden marble-puzzles that you see around.  Heh, can actually clear a level or two.&lt;br /&gt;
&lt;br /&gt;
Marble madness was strangely unsatisfying though, and just didn't work well (probably due to the diagonal nature of the screen in that game).&lt;br /&gt;
&lt;br /&gt;
--[[User:gsmenden|gsmenden]] 20:10, 13 Jan 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Anyone got the queue freezing patch running on 2.6.16? I'm going to try to manually merge it but didn't want to duplicate someone else's work.&lt;br /&gt;
&lt;br /&gt;
--[[User:Ajbarr|Ajbarr]] 19:12, 22 March 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;Reduced Power&amp;quot; hdapsd Consuming More Power ==&lt;br /&gt;
&lt;br /&gt;
There is a link to a &amp;quot;reduced power&amp;quot; version of hdapsd, which is supposed to lower the number of timer interrupts (thereby reducing the power consumed by the daemon).  From my experiments (using powertop), however, this program requires about twice as many interrupts to operate in &amp;quot;low power&amp;quot; mode as it does using the (older) sysfs interface.  It also consumes enough CPU cycles to force my CPU back on periodically, consuming more power.  Has anybody else had this experience?&lt;br /&gt;
&lt;br /&gt;
--[[User:Mbsullivan|Mbsullivan]] 05:41, 24 August 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== I hawe a problem ==&lt;br /&gt;
&lt;br /&gt;
I tray to start working my IBM x40 with hdaps function but I can't make it right.&lt;br /&gt;
&lt;br /&gt;
The main problem is in a not hanging variables when I read&lt;br /&gt;
/sys/devices/platform/hdaps/position&lt;br /&gt;
&lt;br /&gt;
==I also have this problem!==&lt;br /&gt;
Hi, I also have this problem that on my X40 the device/platform/hdaps/position does not give the right response. It is simply constant (128,1).&lt;br /&gt;
Does anyone have a clue? I use the suse kernel 2.6.16.13-4-default from suse10.1. the hdaps sources in that kernel are the same as in the original kernel.&lt;br /&gt;
thanks in advance,&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Does the HDAPS sensor work under Windows (as observed from actual disk parking, or the graphical animation)? &lt;br /&gt;
Also, try loading [[tp_smapi]], it includes some patches for the hdaps driver. Does it help?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 16:45, 8 June 2006 (CEST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
HI Again,&lt;br /&gt;
HDAPS does work under windows. When I had windows running and then reboot the machine, hdaps is running under suse10.1 also. If I, however, turn off the machine and restart it, then, hdaps does *not* work anymore.&lt;br /&gt;
I remember that with suse 10.0 and the separate module, hdaps did work.&lt;br /&gt;
HDAPS now works with tp_smapi as suggested above.&lt;br /&gt;
Still, where does the problem derive from?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
The hdaps in the vanilla kernel has some bugs (i.e., in doesn't talk to the hardware correctly) which tp_smapi fixes. Looks like you've hit one of these.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 18:05, 12 June 2006 (CEST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==laptop acpi problem with hdaps==&lt;br /&gt;
&amp;lt;b&amp;gt; UPDATE: the problem seems fixed in the version 0.21 &amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;s&amp;gt;&lt;br /&gt;
My my both IBM T42/T43 laptops freezes time to times with the follow:&lt;br /&gt;
&lt;br /&gt;
kernel 2.6.16/sata patch&amp;lt;br&amp;gt;&lt;br /&gt;
hdaps build as a module from the kernel.&lt;br /&gt;
tp_smapi 0.20/hdapsd&lt;br /&gt;
&lt;br /&gt;
The freez is quite common then I access CD-ROM,but it also might freez without touching anything.&amp;lt;br&amp;gt;&lt;br /&gt;
After the freez keyboard doesn't work or priting some character,power button doesn't work, however mouse might continue to work.&amp;lt;br&amp;gt;&lt;br /&gt;
KDE battery systray shows discarchged  batteries.&amp;lt;br&amp;gt;&lt;br /&gt;
Still under investigation that cases the problem.&amp;lt;br&amp;gt;&lt;br /&gt;
The related software:&lt;br /&gt;
khdapsmon 0.1.2&amp;lt;br&amp;gt;&lt;br /&gt;
ibm-acpi build-in as a module from the kernel(for ksensors)&lt;br /&gt;
modified ksensors without lm_sensors with a patch&lt;br /&gt;
http://bugs.gentoo.org/show_bug.cgi?id=116661&lt;br /&gt;
&lt;br /&gt;
--noname 00:25, 13 June 2006 (CEST)Anton&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
You're the 2nd one reporting this. The fact you can reproduce it on two machines may be very helpful! Are these machines configured identically? Do they run the same software? Can you send your kernel .config, and precise kernel version + patches, to the e-mail address in the tp_smapi README? Please specify which hdaps or tp_smapi -related applications you're typically running.&lt;br /&gt;
&lt;br /&gt;
BTW, if you have [[swsusp]] or [[Software Suspend 2]] installed, you can do a suspend-to-disk cycle to recover from the hang.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 11:53, 13 June 2006 (CEST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I also have the follow &lt;br /&gt;
[[Problems_with_SATA_and_Linux#No_DMA_on_DVD_drive]].&lt;br /&gt;
So I switched cdrom driver from IDE to ATA and it fixed the problem.&lt;br /&gt;
However HDAPS has stared to freez a machine if I shake it then HDD is active.&lt;br /&gt;
The issue might be not related to ACPI but I'll log it here for now.&lt;br /&gt;
&lt;br /&gt;
I'll send configs. Thank you.&lt;br /&gt;
ps. 0.21 is out so let me try the new version.&lt;br /&gt;
--noname 08:34, 22 June 2006 (CEST)Anton&lt;br /&gt;
&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hdaps and /sys ==&lt;br /&gt;
&lt;br /&gt;
Hey Fellas,&lt;br /&gt;
&lt;br /&gt;
 I've just upgraded from 2.6.15.2, where the patches all dropped in ok and all was well, to 2.6.17.6, where hdaps is built into the kernel.&lt;br /&gt;
 the hdapsd daemon referenced on thinkwiki looks in /sys/block/&amp;lt;drive&amp;gt;/queue/protect to get started.&lt;br /&gt;
 The default drivers that come with 2.6.17.6 for hdaps apparently dont put anything in /queue there, so there is no 'protect' directory.&lt;br /&gt;
 Has anyone else experienced this? I'd love to get my drive protection back :)&lt;br /&gt;
 ON THE UPSIDE! - the Ricoh card reader in my z60m came to life, and I can read sd cards (but not sony memory sticks, oddly enough)&lt;br /&gt;
 Any input would be awesome!&lt;br /&gt;
 dan@itkinetix.com&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
You need an extra kernel patch for &amp;quot;protect&amp;quot;. Please read the page more carefully.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 00:24, 22 July 2006 (CEST)&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Mbsullivan</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_7.04_(Feisty_Fawn)_on_a_ThinkPad_T61&amp;diff=31463</id>
		<title>Installing Ubuntu 7.04 (Feisty Fawn) on a ThinkPad T61</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_7.04_(Feisty_Fawn)_on_a_ThinkPad_T61&amp;diff=31463"/>
		<updated>2007-07-24T13:40:34Z</updated>

		<summary type="html">&lt;p&gt;Mbsullivan: /* WiFi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We'll I got it basically working, so far (will update as i get more thing working).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SATA Issues===&lt;br /&gt;
At first, the Ubuntu Live CD would not start at all, this seems to be a problem with the SATA AHCI driver.  I had to go into the BIOS and change the SATA driver from ACHI to compatibility (What is the difference? Am I loosing performance?).&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
After you've installed and booted, try the advice from [[Problems_with_SATA_and_Linux]]. Do this:&lt;br /&gt;
 '''# echo options libata atapi_enabled=1&amp;gt;/etc/modprobe.d/atapienable &amp;amp;&amp;amp; update-initramfs -u'''&lt;br /&gt;
Then try turning AHCI back on in the BIOS. On a custom-built 2.6.21.5 kernel, my DVD drive appears as /dev/hda and DMA works.&lt;br /&gt;
--[[User:Kc8tbe|Kc8tbe]] 12:45, 1 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
===NVIDIA Quadro NVS 140M (Solved)===&lt;br /&gt;
After initial issues like those explained above in the SATA Issues, I received the xorg error 'fatal error: no screens found'.  I was able to boot into Safe Graphics Mode and run the installer, though I had to move both window manager bars to see enough of the install window to use it.&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can download the drivers via wget in a console. Take care to follow the instructions in &lt;br /&gt;
[http://www.nvnews.net/vbulletin/showthread.php?t=72490 the NVidia Forum] and uninstall all the packages wit apt-get remove, as descirbed.&lt;br /&gt;
Then run the nvidia installer.&lt;br /&gt;
&lt;br /&gt;
Remember that, after you upgrade the kernel, you also have to re-install the drivers.&lt;br /&gt;
&lt;br /&gt;
After installing the NVIDIA drivers, your laptop may not wake after suspend or hibernation.  I followed these instructions to fix it [https://help.ubuntu.com/community/NvidiaLaptopBinaryDriverSuspend Ubuntu Community Help].&lt;br /&gt;
&lt;br /&gt;
====Alternative NVIDIA driver installation====&lt;br /&gt;
Instead of installing the NVIDIA drivers manually as described above, you can try using [http://www.albertomilone.com/nvidia_scripts1.html Envy]. It automatically installs the latest NVIDIA drivers, and cleans up any previous installations.&lt;br /&gt;
&lt;br /&gt;
=== Intel Graphics Media Accelerator X3100 (Chipset GM965) (Solved)===&lt;br /&gt;
After that the CD seemed to boot but the screen was just garbage [http://shadowarts.nonlogic.org/projects/thinkpad/screen_garbage.jpg Picture].  In order to get around that issue I had to go back and download the Alternate CD, which allows you to install in text only mode. From here, the text-only install went okay. Changing the VGA settings on the regular CD worked for me. &lt;br /&gt;
&lt;br /&gt;
When I booted up after the installation, I was still getting the same garbage on the screen.  To resolve this I edited my [http://shadowarts.nonlogic.org/projects/thinkpad/xorg.conf xorg.conf] file as shown.  I also had to install the latest kernel for Feisty, as the one off of the install disk did have have /dev/agpgart.  And I could then use X11.  There were still some issues however.  The screen seemed somewhat fuzzy.  This was a little more challenging of a fix...  I found [http://www.spinics.net/lists/xorg/msg25099.html this] mailing list posting, according to it, there was a small glitch in the driver.  To fix it:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-get source xserver-xorg-video-intel&lt;br /&gt;
cd xserver-xorg-video-intel-1.9.94/&lt;br /&gt;
vim src/i830_lvds.c&lt;br /&gt;
Goto line 230 and delete (PFIT_ENABLE | VERT_AUTSCALE ....);, replacing it with 0;  then quit vim&lt;br /&gt;
dpkg-buildpackage -rfakeroot -uc -b&lt;br /&gt;
cd ..&lt;br /&gt;
dpkg -i xserver-xorg-video-intel_1.9.94-lubuntu3_amd64.deb (wont be amd64 with a 32-bit install)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now reboot your computer, and it should work.  **NOTE: For some reason just restarting X didn't fix it, seems like you must reboot.**  At this point you should have a nice, crisp display.&lt;br /&gt;
&lt;br /&gt;
I am still working on aiglx and compiz (switching desktops on a cube doesnt seem to work, though I have some ideas...).  There are some issues with OpenGL apps freezing Xorg as well, but the standard 2D desktop works flawlessly.&lt;br /&gt;
----&lt;br /&gt;
It doesn't seem to be necessary to modify the soruce of xserver-xorg-video-intel anymore, but 3D-acceleration doesn't seem to be stable yet and kdm occasionally needs to be restarted after a login attempt.--[[User:Kc8tbe|Kc8tbe]] 12:49, 1 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
I was able to use the normal feisty install disk by changing the SATA setting in BIOS, then change the resolution to 800x600 prior to install, then sudo apt-get update and upgrade, and then sudo apt-get install xserver-xorg-video-intel, then change xorg.conf to match link above and 2D graphics work fine.  Jul 18, 2008 - John E&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
It seems that everything works fine when using &amp;quot;apt pinning&amp;quot; and updating the xserver-xorg-video-intel, mesa and other packages to the versions provided by Gutsy. I did the following and the resolution and Compiz Fusion are working fine at the moment. The original source of the steps described below can be found here: [http://techreport.com/forums/viewtopic.php?p=714998#714998]&lt;br /&gt;
&lt;br /&gt;
'''Instructions:'''&lt;br /&gt;
* Make a new file /etc/apt/preferences&lt;br /&gt;
* In the preferences file, put: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Package: *&lt;br /&gt;
Pin: release a=feisty&lt;br /&gt;
Pin-Priority: 700&lt;br /&gt;
&lt;br /&gt;
Package: *&lt;br /&gt;
Pin: release a=gutsy&lt;br /&gt;
Pin-Priority: 200&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Now, edit your sources.list and copy the main and restricted (and others if you want) repo lines replacing feisty with gutsy: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# original&lt;br /&gt;
deb http://archive.ubuntu.com/ubuntu feisty main restricted universe multiverse&lt;br /&gt;
deb-src http://security.ubuntu.com/ubuntu feisty main restricted universe multiverse&lt;br /&gt;
&lt;br /&gt;
# your addition&lt;br /&gt;
deb http://archive.ubuntu.com/ubuntu gutsy main restricted universe multiverse&lt;br /&gt;
deb-src http://security.ubuntu.com/ubuntu gutsy main restricted universe multiverse&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Now run:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get -t gutsy install xserver-xorg-video-intel&lt;br /&gt;
sudo apt-get -t gutsy install linux&lt;br /&gt;
sudo apt-get -t gutsy install libgl1-mesa-dri&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Now reboot.&lt;br /&gt;
&lt;br /&gt;
Probably now you have the weird effect that your GUI is scaled wrong and doesn't fill the full width of the monitor. To fix that, open your xorg.conf and make the following changes:&lt;br /&gt;
* Add the following section to your xorg.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
    Identifier &amp;quot;TVOutput&amp;quot;&lt;br /&gt;
    Option &amp;quot;Disable&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
EndSection&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Then in the &amp;quot;Device&amp;quot; section add the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Option &amp;quot;monitor-TV&amp;quot; &amp;quot;TVOutput&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That should fix the scaling problem and now everything should work fine.&lt;br /&gt;
--[[User:Shuk|Shuk]] 02:26, 10 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
===ThinkFinger===&lt;br /&gt;
Ubuntu does not come with a package for thinkfinger.  Downloading the most recent source and building it was simple enough: Download most recent version (0.3 at time of writing)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tar xvzf thinkfinger-0.3.tar.gz&lt;br /&gt;
cd thinkfinger-0.3/&lt;br /&gt;
./configure --with-securedir=/lib/security --with-birdir=/etc/pam_thinkfinger&lt;br /&gt;
make -j5             (hey its dual core!)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Configuring it is easy as well, open /etc/pam.d/common-auth:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
auth sufficient pam_thinkfinger.so&lt;br /&gt;
auth required pam_unix.so try_first_pass nullok_secure&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now just run sudo tf-tool --add-user &amp;lt;username&amp;gt; and it will all be setup.  (I found this somewhere on the web, I wish I could give a source but I'm afraid I cant find it, thank you Anonymous!).&lt;br /&gt;
&lt;br /&gt;
===HDAPS===&lt;br /&gt;
This seems to be working fine now, I just follow the step on [[How_to_protect_the_harddisk_through_APS]].  Using hdaps-gl does the inverse of the accelerometer, though it's not really a big deal, the harddrive protection should still work.&lt;br /&gt;
&lt;br /&gt;
===WiFi===&lt;br /&gt;
If you have Intel 4965AGN WiFi card, you have to use ndiswrapper OR use backported kernel from Ubuntu Gutsy (Anybody have howto?) and use following: &lt;br /&gt;
http://kuscsik.blogspot.com/2007/06/how-to-install-intel-4965-wireless.html&lt;br /&gt;
&lt;br /&gt;
'''Note:'''&lt;br /&gt;
Do not use the latest versions of iwlwifi and mac80211. For me with Gutsy mac80211-8.0.2 and iwlwifi-0.0.42 work with the latest firmware. No further modification needed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you have the Atheros card, Ubuntu should automatically install madwifi, which works out of the box&lt;br /&gt;
----&lt;br /&gt;
Works for me with iwlwifi-4965-ucode-4.44.15, iwlwifi-0.0.34, and mac80211-8.0.1. The catch is, you need to patch your kernel with mac80211, which will fail at compile time with the stock Ubuntu sources. Worked for me with vanilla 2.6.21.5 sources patched for tp_smapi and hdaps protect. Make sure to disable CONFIG_NET_WIRELESS_RTNETLINK in your kernel config.&lt;br /&gt;
&lt;br /&gt;
You can download what you need for for iwlwifi and mac80211 from &lt;br /&gt;
http://intellinuxwireless.org .--[[User:Kc8tbe|Kc8tbe]] 13:00, 1 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
Works for me with vanilla kernel v2.6.22.1, ucode 4.44.17, iwlwifi 0.1.2 and mac80211 9.0.2. --[[User:Mbsullivan|Mbsullivan]] 13:40, 24 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
===Can you hear me now?.... What? (Solved!)===&lt;br /&gt;
After upgrading to 1.0.14 I still had no sound, and this took about a week to solved (though it was so sadly obvious though).  Just upgrading to alsa 1.0.14 will not be enough, there were a few patches released right after the release that fix the Thinkpad's.  The reason I missed this was because it was the same day so the release of 1.0.14!&lt;br /&gt;
&lt;br /&gt;
Anyway download the source code to the alsa-driver and apply these patches: (links to the revisions)&lt;br /&gt;
&lt;br /&gt;
* [http://hg.alsa-project.org/alsa-kernel/rev/958b39f3e8dd Fix Oops with AD1984 thinkpad model]&lt;br /&gt;
* [http://hg.alsa-project.org/alsa-kernel/rev/47ca87407c84 Fix AD1984 basic model]&lt;br /&gt;
* [http://hg.alsa-project.org/alsa-kernel/rev/ca37aeeeb0ea Fix Thinkpad X61/T61 outputs]&lt;br /&gt;
&lt;br /&gt;
'''Please use CVS version of ALSA instead. All of these patches are commited'''.&lt;br /&gt;
&lt;br /&gt;
After doing a make and make install reboot your computer (or rrmmod snd-hda-intel &amp;amp;&amp;amp; modprobe snd-hda-intel).  And run alsamixer (for me it only works as root atm).  You will have to play with the settings a bit.  Make sure the speaker option is not muted and leave the Internal Mic Boost at 0, other wise you will have a really loud microphone feedback sort of sound constantly.&lt;br /&gt;
&lt;br /&gt;
I had to chmod -R 777 /dev/snd/ to get everything work for now. (THIS IS NOT THE CORRECT WAY TO DO IT, IT WILL NOT STAY BETWEEN REBOOTS!).&lt;br /&gt;
&lt;br /&gt;
Audio playback should then work, audio capture (microphone) doesn't seem to work, but I am probably not going to try and fix it, I don't use the capture so I am not concerned with that at the moment.&lt;br /&gt;
'''Update:''' With ALSA CVS, microphone seems to work&lt;br /&gt;
&lt;br /&gt;
If you can't hear the mic boost mic settings.  Here are my settings at KMix&lt;br /&gt;
Output&lt;br /&gt;
   Mic - low&lt;br /&gt;
   Mic Boost - full&lt;br /&gt;
Input &lt;br /&gt;
   Mic boost [enable] - medium&lt;br /&gt;
   capture [enable] - medium&lt;br /&gt;
&lt;br /&gt;
works great with Skype.  Also you can use the 'mic level meter' on KRecord to check the mic&lt;br /&gt;
&lt;br /&gt;
In Gnome, default channel mapped to thinkpad volume buttons is MIC, which is bad. Go to ''System-&amp;gt;Preferences-&amp;gt;Sound-&amp;gt;Default mixer tracks'' to change it&lt;br /&gt;
&lt;br /&gt;
'''Please note''' that internal speakers doesn't work with ALSA CVS. Use the headphone jack. Solution?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
When starting alsamixer over the terminal I couldn't activate the speakers and only had sound over the headphone. However, I figured out how to easily activate the speakers:&lt;br /&gt;
* Right-click on your microphone icon in the top panel.&lt;br /&gt;
* (If &amp;quot;Mute&amp;quot; is activated, deactivate it. I had that at the beginning and was confused since in alsa you don't really realize it.)&lt;br /&gt;
* Click on &amp;quot;Open Volume Control&amp;quot;&lt;br /&gt;
* Change to the tab &amp;quot;Switches&amp;quot; and activate the option for speaker. &lt;br /&gt;
That should be enough to make it work.&lt;br /&gt;
--[[User:Shuk|Shuk]] 02:51, 11 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
I tried those patches, it didnt work for me. But this python script did: http://www.klabs.be/~fpiat/linux/debian/Etch_on_Thinkpad_T61.html#Sound  .. apparently if you make the PC speaker play constantly, you cant hear it but you can then hear sound. Hopefully gutsy will fix this :/ --[[User:Rubin|Rubin]] 07:18, 14 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Suspend==&lt;br /&gt;
Suspending doesn't work by default. It succesfully suspends, but after resuming, Kernel panic occurs. I didn't test hibernate.&lt;br /&gt;
I managed to get suspend to ram to work by using this script:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 # if launched through a lid event and lid is open, do nothing&lt;br /&gt;
 echo &amp;quot;$1&amp;quot; | grep &amp;quot;button/lid&amp;quot; &amp;amp;&amp;amp; grep -q open /proc/acpi/button/lid/LID/state &amp;amp;&amp;amp; exit 0&lt;br /&gt;
 &lt;br /&gt;
 # remove USB 1.1 driver&lt;br /&gt;
 rmmod uhci_hcd&lt;br /&gt;
 rmmod ehci_hcd&lt;br /&gt;
 &lt;br /&gt;
 # sync filesystem and clock&lt;br /&gt;
 sync&lt;br /&gt;
 /sbin/hwclock --systohc&lt;br /&gt;
 &lt;br /&gt;
 # switch to console&lt;br /&gt;
 FGCONSOLE=`fgconsole`&lt;br /&gt;
 chvt 6&lt;br /&gt;
 &lt;br /&gt;
 # go to sleep&lt;br /&gt;
 sleep 5 &amp;amp;&amp;amp; echo -n &amp;quot;mem&amp;quot; &amp;gt; /sys/power/state&lt;br /&gt;
 &lt;br /&gt;
 # readjust the clock (it might be off a bit after suspend)&lt;br /&gt;
 /sbin/hwclock --adjust&lt;br /&gt;
 /sbin/hwclock --hctosys&lt;br /&gt;
 &lt;br /&gt;
 # reload USB 1.1 driver&lt;br /&gt;
 modprobe uhci_hcd&lt;br /&gt;
 modprobe ehci_hcd&lt;br /&gt;
 &lt;br /&gt;
 # turn on the backlight and switch back to X&lt;br /&gt;
 chvt $FGCONSOLE&lt;br /&gt;
&lt;br /&gt;
It's very similar to script posted on thinkwiki, but I had to add ehci_hcd to removed modules and remove some radeon stuff (when using Nvidia)&lt;br /&gt;
&lt;br /&gt;
'''Problems''' the problem with this suspend script is, that after resuming, the laptop is incredibly slow. Applications start about 20 seconds, Firefox is lagging. But processor doesn't run at highest frequency, nothing seems unusual. '''Suggestions?'''&lt;br /&gt;
&lt;br /&gt;
When using this script, my USB ports are 'dead' after resume (i.e.  nothing connected to it gets any power).  I have commented out 'rmmod ehci_hcd' and 'modprobe ehci_hcd' lines, to make the USB ports active after a suspend/resume cycle.  (this is using nvidia card)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Suspend and hibernate work out-of-the-box for me with the 2.6.21.5 kernel, except that you need to put acpi_sleep=s3_bios in the kernel command line (i.e. at the end of each kernel line in /boot/grub/menu.lst).&lt;br /&gt;
--[[User:Kc8tbe|Kc8tbe]] 13:03, 1 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
Hmm, with 2.6.21.5 + acpi_sleep=s3_bios,  laptop suspends, but resume fails - machine locks up.  This is with nvidia 140.  Same result when doing it at console.  When I resume, I hear a beep and the machine hangs.  Have to hard-reset.  Suggestions?&lt;br /&gt;
&lt;br /&gt;
==Brightness==&lt;br /&gt;
Changing brightness doesn't work at all. There are many issues. I tried Gutsy and still the same (even worse)&lt;br /&gt;
&lt;br /&gt;
Not a real solution, but if using the vesa driver, brightness control works. ''--Daniel06'' 11:58, 4 July 2007&lt;br /&gt;
&lt;br /&gt;
doesnt work for me with vesa or intel --[[User:Rubin|Rubin]] 06:19, 14 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
=== one idea ===&lt;br /&gt;
  echo &amp;quot;up&amp;quot; &amp;gt;/proc/acpi/ibm/brightness   &lt;br /&gt;
...works. as does 'down' and 'level x' where x is 1-7.  But how to tie that into the buttons? Seems they are currently using something else in /proc that doesnt exist for us.  --[[User:Rubin|Rubin]] 06:19, 14 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
=== Another solution for Brightness, using xbacklight and laptop-mode ===&lt;br /&gt;
&lt;br /&gt;
While the hardware buttons still don't work, I have a solution that will automatically raise and lower the backlight when plugged in or on battery.  &lt;br /&gt;
&lt;br /&gt;
First, make sure Gnome isn't trying to set the brightness, by going to System &amp;gt; Preferences &amp;gt; Power Management.  In the On Battery Power tab, set &amp;quot;Dim display brightness by&amp;quot; to 0%.&lt;br /&gt;
&lt;br /&gt;
Next, install xbacklight.&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install xbacklight&lt;br /&gt;
&lt;br /&gt;
You can manually set the backlight by using &amp;quot;xbacklight -set &amp;lt;number from 1-100&amp;gt;&amp;quot;.  Note that by using xbacklight, you can make the backlight go brighter or dimmer than normally allowed by Windows or Ubuntu.&lt;br /&gt;
&lt;br /&gt;
To automate brightness changes, first enable laptop-mode&lt;br /&gt;
&lt;br /&gt;
  sudo nano /etc/default/acpi-support&lt;br /&gt;
&lt;br /&gt;
Scroll to the bottom and change ENABLE_LAPTOP_MODE to true&lt;br /&gt;
&lt;br /&gt;
  ENABLE_LAPTOP_MODE=true&lt;br /&gt;
&lt;br /&gt;
Set laptop mode to start automatically&lt;br /&gt;
&lt;br /&gt;
  sudo update-rc.d laptop-mode multiuser&lt;br /&gt;
&lt;br /&gt;
Edit laptop-mode.conf to automate brightness changes.  Scroll down to LCD brightness settings.  Modify the section to read as follows:&lt;br /&gt;
&lt;br /&gt;
  CONTROL_BRIGHTNESS=1&lt;br /&gt;
&lt;br /&gt;
  BATT_BRIGHTNESS_COMMAND=&amp;quot;xbacklight -set 20&amp;quot;&lt;br /&gt;
  LM_AC_BRIGHTNESS_COMMAND=&amp;quot;xbacklight -set 100&amp;quot;&lt;br /&gt;
  NOLM_AC_BRIGHTNESS_COMMAND=&amp;quot;xbacklight -set 100&amp;quot;&lt;br /&gt;
  BRIGHTNESS_OUTPUT=&amp;quot;/dev/null&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Note: You can use any value from 1 to 100 after -set, I used 20 and 100 as examples.  After this, start the laptop-mode daemon, and test if it works.  You may have to restart acpid as well.&lt;br /&gt;
&lt;br /&gt;
  sudo /etc/init.d/laptop-mode start&lt;br /&gt;
  sudo /etc/init.d/acpid restart&lt;br /&gt;
&lt;br /&gt;
==Webcam==&lt;br /&gt;
The webcam in T61 is some sort of UVC camera: Found UVC 1.00 device Integrated Camera (17ef:1004). The module loads out of the box. I tested the camera using:&lt;br /&gt;
Luvcview: http://mxhaard.free.fr/spca50x/Investigation/uvc/luvcview-20070512.tar.gz&lt;br /&gt;
Just compile and run using ./luvcview -f yuv (JPG format doesn't work)&lt;br /&gt;
&lt;br /&gt;
I also tried gqcam and webcam, but both doesn't work (first SEGFAULTs, second prints Invalid argument)&lt;br /&gt;
&lt;br /&gt;
luvcview has a button to take pictures. Place your mouse over the buttons at the bottom of the window, and their function is revealed in the title bar. Unfortunately, the button for avi capture does not seem to work (although it does tell you what the video framerate is, which is helpful).&lt;br /&gt;
&lt;br /&gt;
To capture a video stream, run ./luvcview -f yuv -S&lt;br /&gt;
To play back the video stream, run mplayer -demuxer rawvideo -rawvideo fps=7:w=320:h=240:yuy2 stream.raw&lt;br /&gt;
&lt;br /&gt;
==64bit systems issues==&lt;br /&gt;
If you are running 64bit Ubuntu, you will face some problems wit 32bit only proprietary applications. Most of them can be solved. &lt;br /&gt;
&lt;br /&gt;
===Firefox &amp;amp; Flash===&lt;br /&gt;
You can use 32bit version of Firefox (see google), or use http://gwenole.beauchesne.info/projects/nspluginwrapper/ nspluginwrapper] which i prefer:&lt;br /&gt;
 sudo apt-get install ia32-libs ia32-libs-gtk linux32 lib32asound2 alien&lt;br /&gt;
Now download both nspluginwrapper rpms (Plugin + Viewer) and convert them:&lt;br /&gt;
 sudo alien nspluginwrapper*.rpm&lt;br /&gt;
 sudo dpkg -i nspluginwrapper*.deb&lt;br /&gt;
&lt;br /&gt;
Download Adobe Flash Player: http://fpdownload.macromedia.com/get/flashplayer/current/install_flash_player_9_linux.tar.gz&lt;br /&gt;
 tar -xvzf install_flash_player_9_linux.tar.gz&lt;br /&gt;
 cd install_flash_player_9_linux&lt;br /&gt;
 sudo install libflashplayer.so flashplayer.xpt /usr/lib/firefox/plugins&lt;br /&gt;
 nspluginwrapper -i /usr/lib/firefox/plugins/libflashplayer.so&lt;br /&gt;
 cd ~/.mozilla/plugins/&lt;br /&gt;
 sudo install npwrapper.libflashplayer.so /usr/lib/mozilla-firefox/plugins/&lt;br /&gt;
This howto is taken from [http://webzine.smehlik.net/64bit-ubuntu-adobe-flash-plugin-pomoci-nspluginwrapper/ Smehlik Webzine (in Czech)]&lt;br /&gt;
&lt;br /&gt;
===Skype===&lt;br /&gt;
Download Skype for Ubuntu Feisty&lt;br /&gt;
Use this commandlibdbus, libqt4-core, libqt4-gui, libsigc++ to determine missing libraries:&lt;br /&gt;
 ldd /usr/bin/skype | grep not&lt;br /&gt;
It should be these:&lt;br /&gt;
 libdbus, libqt4-core, libqt4-gui, libsigc++ (2.0 version)&lt;br /&gt;
Download them from http://packages.ubuntu.com (32bit versions!)&lt;br /&gt;
 mkdir testlibs&lt;br /&gt;
 dpkg-deb --extract &amp;lt;deb file&amp;gt; testlibs&lt;br /&gt;
Now copy everything from testlibs to /usr/lib32&lt;br /&gt;
 cp -r testlibs/usr/lib/* /usr/lib32&lt;br /&gt;
Freedom lovers are advised to avoid proprietary systems like Skype, however.  Centralized directories and signalling architectures can't be good for your health.&lt;br /&gt;
&lt;br /&gt;
==Overall==&lt;br /&gt;
I initially had some big problems getting this working, but now its working quite well.  The wifi card worked at startup (uses madwifi) and I am happy because I don't seem to need any proprietary software to run this system.&lt;br /&gt;
&lt;br /&gt;
==Discussion==&lt;br /&gt;
In case you missed it the discussion page (for questions/responses) is right here:&lt;br /&gt;
http://www.thinkwiki.org/wiki/Talk:Installing_Ubuntu_7.04_%28Feisty_Fawn%29_on_a_ThinkPad_T61&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* This guide is listed at the [http://tuxmobil.org/ibm.html TuxMobil Linux laptop and notebook installation guides survey (IBM/Lenovo)].&lt;br /&gt;
* Many other suggestions and references can be found in the following ubuntu forum: http://ubuntuforums.org/showthread.php?t=471563&lt;br /&gt;
&lt;br /&gt;
[[Category:Ubuntu]]&lt;br /&gt;
[[Category:T61]]&lt;/div&gt;</summary>
		<author><name>Mbsullivan</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_7.04_(Feisty_Fawn)_on_a_ThinkPad_T61&amp;diff=31462</id>
		<title>Installing Ubuntu 7.04 (Feisty Fawn) on a ThinkPad T61</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_7.04_(Feisty_Fawn)_on_a_ThinkPad_T61&amp;diff=31462"/>
		<updated>2007-07-24T13:38:20Z</updated>

		<summary type="html">&lt;p&gt;Mbsullivan: /* WiFi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We'll I got it basically working, so far (will update as i get more thing working).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SATA Issues===&lt;br /&gt;
At first, the Ubuntu Live CD would not start at all, this seems to be a problem with the SATA AHCI driver.  I had to go into the BIOS and change the SATA driver from ACHI to compatibility (What is the difference? Am I loosing performance?).&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
After you've installed and booted, try the advice from [[Problems_with_SATA_and_Linux]]. Do this:&lt;br /&gt;
 '''# echo options libata atapi_enabled=1&amp;gt;/etc/modprobe.d/atapienable &amp;amp;&amp;amp; update-initramfs -u'''&lt;br /&gt;
Then try turning AHCI back on in the BIOS. On a custom-built 2.6.21.5 kernel, my DVD drive appears as /dev/hda and DMA works.&lt;br /&gt;
--[[User:Kc8tbe|Kc8tbe]] 12:45, 1 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
===NVIDIA Quadro NVS 140M (Solved)===&lt;br /&gt;
After initial issues like those explained above in the SATA Issues, I received the xorg error 'fatal error: no screens found'.  I was able to boot into Safe Graphics Mode and run the installer, though I had to move both window manager bars to see enough of the install window to use it.&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can download the drivers via wget in a console. Take care to follow the instructions in &lt;br /&gt;
[http://www.nvnews.net/vbulletin/showthread.php?t=72490 the NVidia Forum] and uninstall all the packages wit apt-get remove, as descirbed.&lt;br /&gt;
Then run the nvidia installer.&lt;br /&gt;
&lt;br /&gt;
Remember that, after you upgrade the kernel, you also have to re-install the drivers.&lt;br /&gt;
&lt;br /&gt;
After installing the NVIDIA drivers, your laptop may not wake after suspend or hibernation.  I followed these instructions to fix it [https://help.ubuntu.com/community/NvidiaLaptopBinaryDriverSuspend Ubuntu Community Help].&lt;br /&gt;
&lt;br /&gt;
====Alternative NVIDIA driver installation====&lt;br /&gt;
Instead of installing the NVIDIA drivers manually as described above, you can try using [http://www.albertomilone.com/nvidia_scripts1.html Envy]. It automatically installs the latest NVIDIA drivers, and cleans up any previous installations.&lt;br /&gt;
&lt;br /&gt;
=== Intel Graphics Media Accelerator X3100 (Chipset GM965) (Solved)===&lt;br /&gt;
After that the CD seemed to boot but the screen was just garbage [http://shadowarts.nonlogic.org/projects/thinkpad/screen_garbage.jpg Picture].  In order to get around that issue I had to go back and download the Alternate CD, which allows you to install in text only mode. From here, the text-only install went okay. Changing the VGA settings on the regular CD worked for me. &lt;br /&gt;
&lt;br /&gt;
When I booted up after the installation, I was still getting the same garbage on the screen.  To resolve this I edited my [http://shadowarts.nonlogic.org/projects/thinkpad/xorg.conf xorg.conf] file as shown.  I also had to install the latest kernel for Feisty, as the one off of the install disk did have have /dev/agpgart.  And I could then use X11.  There were still some issues however.  The screen seemed somewhat fuzzy.  This was a little more challenging of a fix...  I found [http://www.spinics.net/lists/xorg/msg25099.html this] mailing list posting, according to it, there was a small glitch in the driver.  To fix it:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-get source xserver-xorg-video-intel&lt;br /&gt;
cd xserver-xorg-video-intel-1.9.94/&lt;br /&gt;
vim src/i830_lvds.c&lt;br /&gt;
Goto line 230 and delete (PFIT_ENABLE | VERT_AUTSCALE ....);, replacing it with 0;  then quit vim&lt;br /&gt;
dpkg-buildpackage -rfakeroot -uc -b&lt;br /&gt;
cd ..&lt;br /&gt;
dpkg -i xserver-xorg-video-intel_1.9.94-lubuntu3_amd64.deb (wont be amd64 with a 32-bit install)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now reboot your computer, and it should work.  **NOTE: For some reason just restarting X didn't fix it, seems like you must reboot.**  At this point you should have a nice, crisp display.&lt;br /&gt;
&lt;br /&gt;
I am still working on aiglx and compiz (switching desktops on a cube doesnt seem to work, though I have some ideas...).  There are some issues with OpenGL apps freezing Xorg as well, but the standard 2D desktop works flawlessly.&lt;br /&gt;
----&lt;br /&gt;
It doesn't seem to be necessary to modify the soruce of xserver-xorg-video-intel anymore, but 3D-acceleration doesn't seem to be stable yet and kdm occasionally needs to be restarted after a login attempt.--[[User:Kc8tbe|Kc8tbe]] 12:49, 1 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
I was able to use the normal feisty install disk by changing the SATA setting in BIOS, then change the resolution to 800x600 prior to install, then sudo apt-get update and upgrade, and then sudo apt-get install xserver-xorg-video-intel, then change xorg.conf to match link above and 2D graphics work fine.  Jul 18, 2008 - John E&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
It seems that everything works fine when using &amp;quot;apt pinning&amp;quot; and updating the xserver-xorg-video-intel, mesa and other packages to the versions provided by Gutsy. I did the following and the resolution and Compiz Fusion are working fine at the moment. The original source of the steps described below can be found here: [http://techreport.com/forums/viewtopic.php?p=714998#714998]&lt;br /&gt;
&lt;br /&gt;
'''Instructions:'''&lt;br /&gt;
* Make a new file /etc/apt/preferences&lt;br /&gt;
* In the preferences file, put: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Package: *&lt;br /&gt;
Pin: release a=feisty&lt;br /&gt;
Pin-Priority: 700&lt;br /&gt;
&lt;br /&gt;
Package: *&lt;br /&gt;
Pin: release a=gutsy&lt;br /&gt;
Pin-Priority: 200&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Now, edit your sources.list and copy the main and restricted (and others if you want) repo lines replacing feisty with gutsy: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# original&lt;br /&gt;
deb http://archive.ubuntu.com/ubuntu feisty main restricted universe multiverse&lt;br /&gt;
deb-src http://security.ubuntu.com/ubuntu feisty main restricted universe multiverse&lt;br /&gt;
&lt;br /&gt;
# your addition&lt;br /&gt;
deb http://archive.ubuntu.com/ubuntu gutsy main restricted universe multiverse&lt;br /&gt;
deb-src http://security.ubuntu.com/ubuntu gutsy main restricted universe multiverse&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Now run:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get -t gutsy install xserver-xorg-video-intel&lt;br /&gt;
sudo apt-get -t gutsy install linux&lt;br /&gt;
sudo apt-get -t gutsy install libgl1-mesa-dri&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Now reboot.&lt;br /&gt;
&lt;br /&gt;
Probably now you have the weird effect that your GUI is scaled wrong and doesn't fill the full width of the monitor. To fix that, open your xorg.conf and make the following changes:&lt;br /&gt;
* Add the following section to your xorg.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
    Identifier &amp;quot;TVOutput&amp;quot;&lt;br /&gt;
    Option &amp;quot;Disable&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
EndSection&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Then in the &amp;quot;Device&amp;quot; section add the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Option &amp;quot;monitor-TV&amp;quot; &amp;quot;TVOutput&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That should fix the scaling problem and now everything should work fine.&lt;br /&gt;
--[[User:Shuk|Shuk]] 02:26, 10 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
===ThinkFinger===&lt;br /&gt;
Ubuntu does not come with a package for thinkfinger.  Downloading the most recent source and building it was simple enough: Download most recent version (0.3 at time of writing)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tar xvzf thinkfinger-0.3.tar.gz&lt;br /&gt;
cd thinkfinger-0.3/&lt;br /&gt;
./configure --with-securedir=/lib/security --with-birdir=/etc/pam_thinkfinger&lt;br /&gt;
make -j5             (hey its dual core!)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Configuring it is easy as well, open /etc/pam.d/common-auth:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
auth sufficient pam_thinkfinger.so&lt;br /&gt;
auth required pam_unix.so try_first_pass nullok_secure&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now just run sudo tf-tool --add-user &amp;lt;username&amp;gt; and it will all be setup.  (I found this somewhere on the web, I wish I could give a source but I'm afraid I cant find it, thank you Anonymous!).&lt;br /&gt;
&lt;br /&gt;
===HDAPS===&lt;br /&gt;
This seems to be working fine now, I just follow the step on [[How_to_protect_the_harddisk_through_APS]].  Using hdaps-gl does the inverse of the accelerometer, though it's not really a big deal, the harddrive protection should still work.&lt;br /&gt;
&lt;br /&gt;
===WiFi===&lt;br /&gt;
If you have Intel 4965AGN WiFi card, you have to use ndiswrapper OR use backported kernel from Ubuntu Gutsy (Anybody have howto?) and use following: &lt;br /&gt;
http://kuscsik.blogspot.com/2007/06/how-to-install-intel-4965-wireless.html&lt;br /&gt;
&lt;br /&gt;
'''Note:'''&lt;br /&gt;
Do not use the latest versions of iwlwifi and mac80211. For me with Gutsy mac80211-8.0.2 and iwlwifi-0.0.42 work with the latest firmware. No further modification needed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you have the Atheros card, Ubuntu should automatically install madwifi, which works out of the box&lt;br /&gt;
----&lt;br /&gt;
Works for me with iwlwifi-4965-ucode-4.44.15, iwlwifi-0.0.34, and mac80211-8.0.1. The catch is, you need to patch your kernel with mac80211, which will fail at compile time with the stock Ubuntu sources. Worked for me with vanilla 2.6.21.5 sources patched for tp_smapi and hdaps protect. Make sure to disable CONFIG_NET_WIRELESS_RTNETLINK in your kernel config.&lt;br /&gt;
&lt;br /&gt;
You can download what you need for for iwlwifi and mac80211 from &lt;br /&gt;
http://intellinuxwireless.org .--[[User:Kc8tbe|Kc8tbe]] 13:00, 1 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
Works for me with vanilla kernel v2.6.22.1, ucode 4.44.17, iwlwifi 0.1.2 and mac80211 9.0.2. --mbsullivan&lt;br /&gt;
&lt;br /&gt;
===Can you hear me now?.... What? (Solved!)===&lt;br /&gt;
After upgrading to 1.0.14 I still had no sound, and this took about a week to solved (though it was so sadly obvious though).  Just upgrading to alsa 1.0.14 will not be enough, there were a few patches released right after the release that fix the Thinkpad's.  The reason I missed this was because it was the same day so the release of 1.0.14!&lt;br /&gt;
&lt;br /&gt;
Anyway download the source code to the alsa-driver and apply these patches: (links to the revisions)&lt;br /&gt;
&lt;br /&gt;
* [http://hg.alsa-project.org/alsa-kernel/rev/958b39f3e8dd Fix Oops with AD1984 thinkpad model]&lt;br /&gt;
* [http://hg.alsa-project.org/alsa-kernel/rev/47ca87407c84 Fix AD1984 basic model]&lt;br /&gt;
* [http://hg.alsa-project.org/alsa-kernel/rev/ca37aeeeb0ea Fix Thinkpad X61/T61 outputs]&lt;br /&gt;
&lt;br /&gt;
'''Please use CVS version of ALSA instead. All of these patches are commited'''.&lt;br /&gt;
&lt;br /&gt;
After doing a make and make install reboot your computer (or rrmmod snd-hda-intel &amp;amp;&amp;amp; modprobe snd-hda-intel).  And run alsamixer (for me it only works as root atm).  You will have to play with the settings a bit.  Make sure the speaker option is not muted and leave the Internal Mic Boost at 0, other wise you will have a really loud microphone feedback sort of sound constantly.&lt;br /&gt;
&lt;br /&gt;
I had to chmod -R 777 /dev/snd/ to get everything work for now. (THIS IS NOT THE CORRECT WAY TO DO IT, IT WILL NOT STAY BETWEEN REBOOTS!).&lt;br /&gt;
&lt;br /&gt;
Audio playback should then work, audio capture (microphone) doesn't seem to work, but I am probably not going to try and fix it, I don't use the capture so I am not concerned with that at the moment.&lt;br /&gt;
'''Update:''' With ALSA CVS, microphone seems to work&lt;br /&gt;
&lt;br /&gt;
If you can't hear the mic boost mic settings.  Here are my settings at KMix&lt;br /&gt;
Output&lt;br /&gt;
   Mic - low&lt;br /&gt;
   Mic Boost - full&lt;br /&gt;
Input &lt;br /&gt;
   Mic boost [enable] - medium&lt;br /&gt;
   capture [enable] - medium&lt;br /&gt;
&lt;br /&gt;
works great with Skype.  Also you can use the 'mic level meter' on KRecord to check the mic&lt;br /&gt;
&lt;br /&gt;
In Gnome, default channel mapped to thinkpad volume buttons is MIC, which is bad. Go to ''System-&amp;gt;Preferences-&amp;gt;Sound-&amp;gt;Default mixer tracks'' to change it&lt;br /&gt;
&lt;br /&gt;
'''Please note''' that internal speakers doesn't work with ALSA CVS. Use the headphone jack. Solution?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
When starting alsamixer over the terminal I couldn't activate the speakers and only had sound over the headphone. However, I figured out how to easily activate the speakers:&lt;br /&gt;
* Right-click on your microphone icon in the top panel.&lt;br /&gt;
* (If &amp;quot;Mute&amp;quot; is activated, deactivate it. I had that at the beginning and was confused since in alsa you don't really realize it.)&lt;br /&gt;
* Click on &amp;quot;Open Volume Control&amp;quot;&lt;br /&gt;
* Change to the tab &amp;quot;Switches&amp;quot; and activate the option for speaker. &lt;br /&gt;
That should be enough to make it work.&lt;br /&gt;
--[[User:Shuk|Shuk]] 02:51, 11 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
I tried those patches, it didnt work for me. But this python script did: http://www.klabs.be/~fpiat/linux/debian/Etch_on_Thinkpad_T61.html#Sound  .. apparently if you make the PC speaker play constantly, you cant hear it but you can then hear sound. Hopefully gutsy will fix this :/ --[[User:Rubin|Rubin]] 07:18, 14 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Suspend==&lt;br /&gt;
Suspending doesn't work by default. It succesfully suspends, but after resuming, Kernel panic occurs. I didn't test hibernate.&lt;br /&gt;
I managed to get suspend to ram to work by using this script:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 # if launched through a lid event and lid is open, do nothing&lt;br /&gt;
 echo &amp;quot;$1&amp;quot; | grep &amp;quot;button/lid&amp;quot; &amp;amp;&amp;amp; grep -q open /proc/acpi/button/lid/LID/state &amp;amp;&amp;amp; exit 0&lt;br /&gt;
 &lt;br /&gt;
 # remove USB 1.1 driver&lt;br /&gt;
 rmmod uhci_hcd&lt;br /&gt;
 rmmod ehci_hcd&lt;br /&gt;
 &lt;br /&gt;
 # sync filesystem and clock&lt;br /&gt;
 sync&lt;br /&gt;
 /sbin/hwclock --systohc&lt;br /&gt;
 &lt;br /&gt;
 # switch to console&lt;br /&gt;
 FGCONSOLE=`fgconsole`&lt;br /&gt;
 chvt 6&lt;br /&gt;
 &lt;br /&gt;
 # go to sleep&lt;br /&gt;
 sleep 5 &amp;amp;&amp;amp; echo -n &amp;quot;mem&amp;quot; &amp;gt; /sys/power/state&lt;br /&gt;
 &lt;br /&gt;
 # readjust the clock (it might be off a bit after suspend)&lt;br /&gt;
 /sbin/hwclock --adjust&lt;br /&gt;
 /sbin/hwclock --hctosys&lt;br /&gt;
 &lt;br /&gt;
 # reload USB 1.1 driver&lt;br /&gt;
 modprobe uhci_hcd&lt;br /&gt;
 modprobe ehci_hcd&lt;br /&gt;
 &lt;br /&gt;
 # turn on the backlight and switch back to X&lt;br /&gt;
 chvt $FGCONSOLE&lt;br /&gt;
&lt;br /&gt;
It's very similar to script posted on thinkwiki, but I had to add ehci_hcd to removed modules and remove some radeon stuff (when using Nvidia)&lt;br /&gt;
&lt;br /&gt;
'''Problems''' the problem with this suspend script is, that after resuming, the laptop is incredibly slow. Applications start about 20 seconds, Firefox is lagging. But processor doesn't run at highest frequency, nothing seems unusual. '''Suggestions?'''&lt;br /&gt;
&lt;br /&gt;
When using this script, my USB ports are 'dead' after resume (i.e.  nothing connected to it gets any power).  I have commented out 'rmmod ehci_hcd' and 'modprobe ehci_hcd' lines, to make the USB ports active after a suspend/resume cycle.  (this is using nvidia card)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Suspend and hibernate work out-of-the-box for me with the 2.6.21.5 kernel, except that you need to put acpi_sleep=s3_bios in the kernel command line (i.e. at the end of each kernel line in /boot/grub/menu.lst).&lt;br /&gt;
--[[User:Kc8tbe|Kc8tbe]] 13:03, 1 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
Hmm, with 2.6.21.5 + acpi_sleep=s3_bios,  laptop suspends, but resume fails - machine locks up.  This is with nvidia 140.  Same result when doing it at console.  When I resume, I hear a beep and the machine hangs.  Have to hard-reset.  Suggestions?&lt;br /&gt;
&lt;br /&gt;
==Brightness==&lt;br /&gt;
Changing brightness doesn't work at all. There are many issues. I tried Gutsy and still the same (even worse)&lt;br /&gt;
&lt;br /&gt;
Not a real solution, but if using the vesa driver, brightness control works. ''--Daniel06'' 11:58, 4 July 2007&lt;br /&gt;
&lt;br /&gt;
doesnt work for me with vesa or intel --[[User:Rubin|Rubin]] 06:19, 14 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
=== one idea ===&lt;br /&gt;
  echo &amp;quot;up&amp;quot; &amp;gt;/proc/acpi/ibm/brightness   &lt;br /&gt;
...works. as does 'down' and 'level x' where x is 1-7.  But how to tie that into the buttons? Seems they are currently using something else in /proc that doesnt exist for us.  --[[User:Rubin|Rubin]] 06:19, 14 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
=== Another solution for Brightness, using xbacklight and laptop-mode ===&lt;br /&gt;
&lt;br /&gt;
While the hardware buttons still don't work, I have a solution that will automatically raise and lower the backlight when plugged in or on battery.  &lt;br /&gt;
&lt;br /&gt;
First, make sure Gnome isn't trying to set the brightness, by going to System &amp;gt; Preferences &amp;gt; Power Management.  In the On Battery Power tab, set &amp;quot;Dim display brightness by&amp;quot; to 0%.&lt;br /&gt;
&lt;br /&gt;
Next, install xbacklight.&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install xbacklight&lt;br /&gt;
&lt;br /&gt;
You can manually set the backlight by using &amp;quot;xbacklight -set &amp;lt;number from 1-100&amp;gt;&amp;quot;.  Note that by using xbacklight, you can make the backlight go brighter or dimmer than normally allowed by Windows or Ubuntu.&lt;br /&gt;
&lt;br /&gt;
To automate brightness changes, first enable laptop-mode&lt;br /&gt;
&lt;br /&gt;
  sudo nano /etc/default/acpi-support&lt;br /&gt;
&lt;br /&gt;
Scroll to the bottom and change ENABLE_LAPTOP_MODE to true&lt;br /&gt;
&lt;br /&gt;
  ENABLE_LAPTOP_MODE=true&lt;br /&gt;
&lt;br /&gt;
Set laptop mode to start automatically&lt;br /&gt;
&lt;br /&gt;
  sudo update-rc.d laptop-mode multiuser&lt;br /&gt;
&lt;br /&gt;
Edit laptop-mode.conf to automate brightness changes.  Scroll down to LCD brightness settings.  Modify the section to read as follows:&lt;br /&gt;
&lt;br /&gt;
  CONTROL_BRIGHTNESS=1&lt;br /&gt;
&lt;br /&gt;
  BATT_BRIGHTNESS_COMMAND=&amp;quot;xbacklight -set 20&amp;quot;&lt;br /&gt;
  LM_AC_BRIGHTNESS_COMMAND=&amp;quot;xbacklight -set 100&amp;quot;&lt;br /&gt;
  NOLM_AC_BRIGHTNESS_COMMAND=&amp;quot;xbacklight -set 100&amp;quot;&lt;br /&gt;
  BRIGHTNESS_OUTPUT=&amp;quot;/dev/null&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Note: You can use any value from 1 to 100 after -set, I used 20 and 100 as examples.  After this, start the laptop-mode daemon, and test if it works.  You may have to restart acpid as well.&lt;br /&gt;
&lt;br /&gt;
  sudo /etc/init.d/laptop-mode start&lt;br /&gt;
  sudo /etc/init.d/acpid restart&lt;br /&gt;
&lt;br /&gt;
==Webcam==&lt;br /&gt;
The webcam in T61 is some sort of UVC camera: Found UVC 1.00 device Integrated Camera (17ef:1004). The module loads out of the box. I tested the camera using:&lt;br /&gt;
Luvcview: http://mxhaard.free.fr/spca50x/Investigation/uvc/luvcview-20070512.tar.gz&lt;br /&gt;
Just compile and run using ./luvcview -f yuv (JPG format doesn't work)&lt;br /&gt;
&lt;br /&gt;
I also tried gqcam and webcam, but both doesn't work (first SEGFAULTs, second prints Invalid argument)&lt;br /&gt;
&lt;br /&gt;
luvcview has a button to take pictures. Place your mouse over the buttons at the bottom of the window, and their function is revealed in the title bar. Unfortunately, the button for avi capture does not seem to work (although it does tell you what the video framerate is, which is helpful).&lt;br /&gt;
&lt;br /&gt;
To capture a video stream, run ./luvcview -f yuv -S&lt;br /&gt;
To play back the video stream, run mplayer -demuxer rawvideo -rawvideo fps=7:w=320:h=240:yuy2 stream.raw&lt;br /&gt;
&lt;br /&gt;
==64bit systems issues==&lt;br /&gt;
If you are running 64bit Ubuntu, you will face some problems wit 32bit only proprietary applications. Most of them can be solved. &lt;br /&gt;
&lt;br /&gt;
===Firefox &amp;amp; Flash===&lt;br /&gt;
You can use 32bit version of Firefox (see google), or use http://gwenole.beauchesne.info/projects/nspluginwrapper/ nspluginwrapper] which i prefer:&lt;br /&gt;
 sudo apt-get install ia32-libs ia32-libs-gtk linux32 lib32asound2 alien&lt;br /&gt;
Now download both nspluginwrapper rpms (Plugin + Viewer) and convert them:&lt;br /&gt;
 sudo alien nspluginwrapper*.rpm&lt;br /&gt;
 sudo dpkg -i nspluginwrapper*.deb&lt;br /&gt;
&lt;br /&gt;
Download Adobe Flash Player: http://fpdownload.macromedia.com/get/flashplayer/current/install_flash_player_9_linux.tar.gz&lt;br /&gt;
 tar -xvzf install_flash_player_9_linux.tar.gz&lt;br /&gt;
 cd install_flash_player_9_linux&lt;br /&gt;
 sudo install libflashplayer.so flashplayer.xpt /usr/lib/firefox/plugins&lt;br /&gt;
 nspluginwrapper -i /usr/lib/firefox/plugins/libflashplayer.so&lt;br /&gt;
 cd ~/.mozilla/plugins/&lt;br /&gt;
 sudo install npwrapper.libflashplayer.so /usr/lib/mozilla-firefox/plugins/&lt;br /&gt;
This howto is taken from [http://webzine.smehlik.net/64bit-ubuntu-adobe-flash-plugin-pomoci-nspluginwrapper/ Smehlik Webzine (in Czech)]&lt;br /&gt;
&lt;br /&gt;
===Skype===&lt;br /&gt;
Download Skype for Ubuntu Feisty&lt;br /&gt;
Use this commandlibdbus, libqt4-core, libqt4-gui, libsigc++ to determine missing libraries:&lt;br /&gt;
 ldd /usr/bin/skype | grep not&lt;br /&gt;
It should be these:&lt;br /&gt;
 libdbus, libqt4-core, libqt4-gui, libsigc++ (2.0 version)&lt;br /&gt;
Download them from http://packages.ubuntu.com (32bit versions!)&lt;br /&gt;
 mkdir testlibs&lt;br /&gt;
 dpkg-deb --extract &amp;lt;deb file&amp;gt; testlibs&lt;br /&gt;
Now copy everything from testlibs to /usr/lib32&lt;br /&gt;
 cp -r testlibs/usr/lib/* /usr/lib32&lt;br /&gt;
Freedom lovers are advised to avoid proprietary systems like Skype, however.  Centralized directories and signalling architectures can't be good for your health.&lt;br /&gt;
&lt;br /&gt;
==Overall==&lt;br /&gt;
I initially had some big problems getting this working, but now its working quite well.  The wifi card worked at startup (uses madwifi) and I am happy because I don't seem to need any proprietary software to run this system.&lt;br /&gt;
&lt;br /&gt;
==Discussion==&lt;br /&gt;
In case you missed it the discussion page (for questions/responses) is right here:&lt;br /&gt;
http://www.thinkwiki.org/wiki/Talk:Installing_Ubuntu_7.04_%28Feisty_Fawn%29_on_a_ThinkPad_T61&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* This guide is listed at the [http://tuxmobil.org/ibm.html TuxMobil Linux laptop and notebook installation guides survey (IBM/Lenovo)].&lt;br /&gt;
* Many other suggestions and references can be found in the following ubuntu forum: http://ubuntuforums.org/showthread.php?t=471563&lt;br /&gt;
&lt;br /&gt;
[[Category:Ubuntu]]&lt;br /&gt;
[[Category:T61]]&lt;/div&gt;</summary>
		<author><name>Mbsullivan</name></author>
		
	</entry>
</feed>