Installing Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad X61

From ThinkWiki
Revision as of 12:44, 5 March 2009 by Jdthood (Talk | contribs) (No compiz on dual-head)
Jump to: navigation, search

I installed Ubuntu 8.10 on a ThinkPad X61 model 7673-CTO.

Information about this model

The model is the 7673-CTO.

Some available accessories for this model

DMI info for this model

# dmidecode -s system-manufacturer
LENOVO
# dmidecode -s system-product-name
7673CTO
# dmidecode -s system-version
ThinkPad X61

glxgears

$ glxgears
3655 frames in 5.0 seconds = 730.939 FPS

Issues

HDAPS

Can't load the hdaps module

# modprobe hdaps
FATAL: Error inserting hdaps (/lib/modules/2.6.27-11-generic/kernel/drivers/hwmon/hdaps.ko): No such device or address
# rmmod thinkpad_ec
# modprobe hdaps
#

The hdaps and the thinkpad_ec module conflict. Either one can be loaded in the absence of the other.

Apparently an hdaps_ec module is needed but Ubuntu doesn't currently (4 March 2009) ship it. Reported: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/297213

The hdaps module loaded:

Setting up hdapsd (1:0.0.20070803-2) ...
 * Not starting hdapsd: /sys/block/hda/queue/protect does not exist,
 please read /usr/share/doc/hdapsd/README.Debian

The latter file says:

hdapsd needs the hdaps kernel module and the hdaps_protect patch
in the kernel so it WON'T work out-of-the-box on a Debian machine yet.
Look at http://thinkwiki.org/wiki/HDAPS for additional information.

Bold text

Docking

/proc/acpi/ibm/bay

There is a /proc/acpi/ibm/bay file with the following contents:

The X61 is docked in the UltraBase X6 with a Ultrabay Slim Multi-Burner III Drive in the Ultrabay Slim port.

# cat bay
status:         occupied
commands:       eject

No /proc/acpi/ibm/dock

The file /proc/acpi/ibm/dock does not exist even though the thinkpad-acpi module is loaded and the X61 is booted while docked in the UltraBase X6. So, instructions in the thinkpad-acpi README and elsewhere that make reference to this file can be followed.

lsmod reveals that the dock and bay modules are loaded. There is a /sys/devices/platform/dock.0 directory with:

# cd /sys/devices/platform/dock.0
# ls -al
total 0
drwxr-xr-x  3 root root    0 2009-03-01 17:22 .
drwxr-xr-x 13 root root    0 2009-03-01 17:22 ..
-r--r--r--  1 root root 4096 2009-03-01 17:22 docked
-r--r--r--  1 root root 4096 2009-03-01 17:28 flags
-r--r--r--  1 root root 4096 2009-03-01 17:28 modalias
drwxr-xr-x  2 root root    0 2009-03-01 17:28 power
lrwxrwxrwx  1 root root    0 2009-03-01 17:22 subsystem -> ../../../bus/platform
-rw-r--r--  1 root root 4096 2009-03-01 17:22 uevent
-r--r--r--  1 root root 4096 2009-03-01 17:28 uid
--w-------  1 root root 4096 2009-03-01 17:28 undock

When not docked:

# cat /sys/devices/platform/dock.0/docked
0

When docked:

# cat /sys/devices/platform/dock.0/docked
1

Hard freeze on undock from UltraBase

The ThinkPad X61 can be docked in the UltraBase X6 which has an Ultrabay Slim into which an optical drive can be installed such as the Ultrabay Slim Multi-Burner III Drive.

If the X61 is removed from the UltraBase then it seizes up, presumably because the kernel can no longer see the optical drive.

A sufficient solution is to "delete" the optical drive before undocking.

echo 1 >  /sys/class/scsi_device/1:0:0:0/device/delete

It doesn't seem to be necessary to write to /sys/bus/platform/devices/dock.0/undock as some suggest.

After reattaching the UltraBase, do

echo 0 0 0 > /sys/class/scsi_host/host1/scan

to cause the optical drive to be noticed by the kernel.

Note that it is possible that the device number be something other than 1:0:0:0. Do, e.g.,

ls -l /sys/class/scsi_device/*:0:0:0/device/delete

to check.

Refs:

Do something on dock or undock

Add an /etc/udev/rules.d/55-thinkpad-local.rules file containing:

KERNEL=="dock.0", ATTR{docked}=="1", RUN+="/etc/thinkpad/dock.sh 1"
KERNEL=="dock.0", ATTR{docked}=="0", RUN+="/etc/thinkpad/dock.sh 0"

and add an /etc/thinkpad/dock.sh file containing something like this:

#!/bin/sh
# Wait for the dock state to change
sleep 1
DOCKED=$(cat /sys/devices/platform/dock.0/docked)
case "$DOCKED" in
        "0")
                xrandr -d :0.0 --output VGA --off
                ;;
        "1")
                xrandr -d :0.0 --output VGA --auto
                xrandr -d :0.0 --output LVDS --auto --right-of VGA
                ;;
esac
exit 0

Ref: http://marc.info/?l=linux-thinkpad&m=123416226107039&w=2

Keys

ThinkVantage key not seen by X

The ThinkVantage key is seen and reported by ACPI.

$ acpi_listen
ibm/hotkey HKEY 00000080 00001018

It is seen and reported by input-events as KEY_VENDOR which according to /usr/include/linux/input.h has the value 0x168.

It is seen by showkey as having keycode 0x168 (360 in decimal).

But it isn't seen by xev.

This is confirmed fixed in Jaunty.

Refs:

Fn-F5 emits KEY_RADIO instead of KEY_WLAN

Reported here: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=504643

Table of keycodes for special keys and key combinations

While investigating the above problem I researched what key codes the various special keys and key combinations generate on this ThinkPad using various tools. The observations (which haven't been double-checked yet) are summarized in the following table.

key combination extra function symbol showkey keycode input-events acpi_listen xev GNOME keyboard shortcuts
⟦◁̸ (loudspeaker icon with stroke) 113 (none) (none) 121 XF86AudioMute
⟦◁▾ (loudspeaker icon, down arrow) 114 (none) (none) 122 XF86AudioLowerVolume
⟦◁▴ (loudspeaker icon, up arrow) 115 (none) (none) 123 XF86AudioRaiseVolume
ThinkVantage 360 KEY_VENDOR ibm/hotkey HKEY 00000080 00001018 (none) (none)
Fn 143 (none) 151 XF86WakeUp
Fn-F1 466 KEY_FN_F1 ibm/hotkey HKEY 00000080 00001001 (none) (none)
Fn-F2 padlock 152 KEY_SCREENLOCK ibm/hotkey HKEY 00000080 00001002 (none) XF86ScreenSaver
Fn-F3 battery 236 KEY_BATTERY ibm/hotkey HKEY 00000080 00001003 (none) (none)
Fn-F4 crescent moon 142; 142 KEY_SLEEP ibm/hotkey HKEY 00000080 00001004 (none) XF86Sleep
Fn-F5 radiating computer 385 KEY_RADIO ibm/hotkey HKEY 00000080 00001005 (none) (none)
Fn-F6 471 KEY_FN_F6 ibm/hotkey HKEY 00000080 00001006 (none) (none)
Fn-F7 screen, line, computer 227 KEY_SWITCHVIDEOMODE ibm/hotkey HKEY 00000080 00001007 (none) (none)
Fn-F8 trackpoint, line, trackpad 192 KEY_F22 ibm/hotkey HKEY 00000080 00001008 (none) (none)
Fn-F9 computer, eject symbol 194 KEY_F24 ibm/hotkey HKEY 00000080 00001009 (none) (none)
Fn-F10 143 (none) (none) (none) XF86WakeUp
Fn-F11 476 KEY_FN_F11 ibm/hotkey HKEY 00000080 0000100b (none) (none)
Fn-F12 screen, arrow, diskpack 205 KEY_SUSPEND ibm/hotkey HKEY 00000080 0000100c (none) (none)
Fn-Home sun, up arrow 225; 225 KEY_BRIGHTNESSUP ibm/hotkey HKEY 00000080 00001010, video LCD0 00000086 00000000 (none) XF86MonBrightnessUp
Fn-End sun, down arrow 224; 224 KEY_BRIGHTNESSDOWN ibm/hotkey HKEY 00000080 00001011, video LCD0 00000087 00000000 (none) XF86MonBrightnessDown
Fn-PgUp illuminated lamp (none) (none) (none) (none)
Fn-Space screen with hourglass ("zoom" symbol) 372 KEY_ZOOM ibm/hotkey HKEY 00000080 00001014 (none) (none)
Fn- barred right arrowhead ("next" symbol) 163 (none) (none) 171 XF86AudioNext
Fn- right arrowhead ("play" symbol) 164 (none) (none) 172 XF86AudioPlay
Fn- barred left arrowhead ("prev" symbol) 165 (none) (none) 173 XF86AudioPrev
Fn- square ("stop play" symbol) 166 (none) (none) 174 XF86AudioStop
◂⎗ (left arrowhead, page icon) 158 (none) (none) 166 XF86Back
⎘▸ (page icon, right arrowhead) 159 (none) (none) 167 XF86Forward

Hotkey mask when the above table was compiled:

$ cat /sys/devices/platform/thinkpad_acpi/hotkey_mask
0x00fdffff
$ cat /sys/devices/platform/thinkpad_acpi/hotkey_all_mask
0x00ffffff
$ cat /sys/devices/platform/thinkpad_acpi/hotkey_recommended_mask
0x008c7fff
$ cat /sys/devices/platform/thinkpad_acpi/hotkey_report_mode
1

Compare Default meanings of special keys.

Networking

Atheros AR5212 801.11 abg Wi-Fi card doesn't resume

This problem in Intrepid is confirmed fixed in Jaunty.

Workaround for Intrepid: Add to /usr/lib/pm-utils/sleep.d/10NetworkManager:

 	thaw|resume)
+		ifconfig wifi0 up
 		resume_nm

Note that this file disappears on upgrade to Jaunty.

Ref: https://bugs.launchpad.net/ubuntu/+source/linux-restricted-modules/+bug/275692

Getting the Wi-Fi LED to flicker (with Atheros AR5212 801.11 abg Wi-Fi)

For Intrepid, add the following lines to /etc/sysctl.conf and reboot:

dev.wifi0.ledpin=1
dev.wifi0.softled=1

This does not work for Jaunty. In Jaunty there is no longer a Wi-Fi interface named wifi0; now there are interfaces wlan0 and wmaster0. Solution still being sought....

Networking not working after resume

The problem of networking not working after resume in Hardy is fixed in Intrepid and Jaunty.

Network-manager slow to reconnect

Reported here: https://bugs.launchpad.net/ubuntu/+source/network-manager/+bug/247381

Seemingly fixed in Jaunty.

Sound and video

Sound too quiet

The problem of sound being too quiet in Hardy is not present in Intrepid.

Sound crackles

In Jaunty (4 March 2009) the welcome jingle crackles.

This problem did not affect Intrepid.

No compiz on dual-head

The Intel Graphics Media Accelerator X3100 is limited to a maximum 3D texture size of 2048 × 2048.

$ glxinfo -l 2>/dev/null | grep GL_MAX_TEXTURE_SIZE | sed 's/.*=[^0-9]//g'
2048

This means that compiz visual effects can only be enabled if the virtual screen area is 2048 wide/high or less. This means that if one has an external display with a width greater than 1024 pixels, it can't be located beside the laptop display if you want wobbly windows and such. E.g., a 1680 × 1050 monitor beside the X61's 1024 × 768 LCD panel would require a virtual screen that is at least 2704 pixels wide.

A wide external display can be placed above or below the laptop display, however. E.g., the above monitor placed "above" the laptop panel requires a virtual screen height of 1818 pixels. ("Above" here of course just refers to the relative position set in System | Preferences | Screen Resolution.)

compiz-check

$ wget http://www.blogage.de/files/9124/download -O compiz-check
jdthood@triffid:/usr/local/sbin$  ./compiz-check 

Gathering information about your system...

 Distribution:          Ubuntu 9.04
 Desktop environment:   GNOME
 Graphics chip:         Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (rev 0c)
 Driver in use:         intel
 Rendering method:      AIGLX

Checking if it's possible to run Compiz on your system...

 Checking for texture_from_pixmap...               [ OK ]
 Checking for non power of two support...          [ OK ]
 Checking for composite extension...               [ OK ]
 Checking for FBConfig...                          [ OK ]
 Checking for hardware/setup problems...           [WARN]

Something potential problematic has been detected with your setup:
 Warning: PCI ID 8086:2a02 detected. 

Would you like to know more? (Y/n) y

 Your particular graphics chip may be blacklisted on certain distributions.
 However that does not necessarily mean you will not be able to run Compiz.

 You can skip this blacklist -- but keep in mind that you did so.
 Do not complain if you encounter any problems with Compiz afterwards. 

Do you want to skip blacklist checks by Compiz? (y/N) 

Movies jitter

Ref: http://marc.info/?l=linux-thinkpad&m=123180105228016&w=2