Installing Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad X61
I installed Ubuntu 8.10 on a ThinkPad X61 model 7673-CTO.
Contents
- 1 Information about this model
- 2 Problems (and solutions)
- 2.1 Can't load the hdaps module
- 2.2 No /proc/acpi/ibm/dock
- 2.3 Hard freeze on undock from UltraBase
- 2.4 Do something on dock or undock
- 2.5 ThinkVantage key not seen by X
- 2.6 Fn-F5 emits KEY_RADIO instead of KEY_WLAN
- 2.7 Atheros AR5212 801.11 abg Wi-Fi card doesn't resume
- 2.8 Getting the Wi-Fi LED to flicker (with Atheros AR5212 801.11 abg Wi-Fi)
- 2.9 Networking not working after resume
- 2.10 Network-manager slow to reconnect
- 2.11 Sound too quiet
- 2.12 Sound crackles
- 2.13 Movies jitter
Information about this model
Some available accessories for this model
- 40Y8116 UltraBase X6
- 41N5643 Ultrabay Slim Multi-Burner III Drive
- 40Y6789 3-cell UltraBase battery
- 40Y7003 ThinkPad X60 series 8-cell High-Capacity Battery
- 40Y7696 ThinkPad and IdeaPad 65W AC Adapter
DMI info for this model
# dmidecode -s system-manufacturer LENOVO # dmidecode -s system-product-name 7673CTO # dmidecode -s system-version ThinkPad X61
Problems (and solutions)
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.
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:
- http://ubuntuforums.org/archive/index.php/t-750480.html
- http://ubuntuforums.org/showthread.php?t=816755
- https://bugs.launchpad.net/ubuntu/+bug/242638
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
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:
- https://bugs.launchpad.net/ubuntu/hardy/+source/linux/+bug/217504/
- https://wiki.ubuntu.com/Hotkeys/Troubleshooting
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.
- Instructions for showkey, acpi_listen, xev and GNOME keyboard shortcuts methods
- Instructions for input-events method
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
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 too quiet
The problem of sound being too quiet in Hardy disappeared in Intrepid.
Sound crackles
In Jaunty (4 March 2009) the welcom jingle crackles.
Movies jitter
Ref: http://marc.info/?l=linux-thinkpad&m=123180105228016&w=2