Installing Ubuntu 7.04 on a ThinkPad T43

From ThinkWiki
Revision as of 14:11, 20 May 2007 by Tec (Talk | contribs) (3D Acceleration Video Problem: added)
Jump to: navigation, search

Installation Log of Ubuntu 6.06 on a T43

Overview

Worked right out of the box

  • 1400*1050 resolution
  • Battery Management
  • Ultra Nav (Trackpoint and synaptic touchpad)
  • WLAN (Atheros, IBM 11a/b/g Wireless LAN Mini PCI Adapter II)
  • Hibernate and Standby
  • Fn keys (switch between monitors untested)
  • Audio Keys
  • ThinkLight
  • ATI 3D Acceleration (Mobility Radeon X300)
  • AIGLX / Compiz

Was easy

  • Fingerprint reader
  • AIGLX / Beryl
  • middle key of Ultra Nav (Trackpoint) for scrolling
  • Active Protection System (acceleration sensor)
  • Forward/Backward keys, Access IBM Key
  • Toggle Touchpad on/off

Was very hard

  • Active Protection System (hard disk parking needs kernel recompile)

Untested

  • Bluetooth (light indicates working)
  • Modem
  • IrDA
  • TV out, VGA out

Installation

I just installed Feisty using the graphical installer.

ATTENTION!
Installing grub to the MBR may hurt your Rescue 'n' Recovery Partition!

If you want to keep you Rescue 'n' Recovery Partition, read this blog entry.

Whatever you do, you should care about Backups etc. yourself. A starting point is given in Installing Ubuntu 6.10 on a ThinkPad T43#Installation

The only non-free driver that was activated was atheros for wifi access. For graphics the free ati/radeon driver was activated, the restricted ati alternative fglrx was installed but not enabled. I did not try it.

Configuration

3D Acceleration and Compiz

3D Acceleration and Compiz worked out of the box for me. Just activate it in the system menu under desktop effects. I had some minor issues, but I blame the beta status for that. To test if 3D Acceleration it works, if you have problems, type

$ glxinfo | grep rendering

The answer should be: "direct rendering: Yes". If it says "No", you don't have 3D acceleration.

3D Acceleration Beryl

I just installed following packages and started beryl-manager. Everything just works out of the box. If you enable compiz effect in the gnome menu you can even swith between beryl, compiz and metacity (no effects) just using the beryl-manager applet.

sudo  apt-get install beryl beryl-core beryl-manager beryl-plugins beryl-plugins-data beryl-settings beryl-settings-bindings

3D Acceleration Video Problem

If you have problems watching videos when 3D acceleration is enabled, make sure to use the X11 output format. Follow the instructions in this bug to do so.

Active Protection System (acceleration monitor)

The T43 has a great system to protect your hard disk, the Active Protection System APS. HDAPS and How to protect the harddisk through APS describe how you can use it.

Feisty comes with with the accelerometer installed but not activated. To test it activate the kernel module and use a neat program you find in hdaps-utils

To activate it, type:

$ sudo su
# echo "hdaps" >> /etc/modules
# exit
$ sudo modprobe hdaps

For a nice 3D show type:

$ sudo apt-get install hdaps-utils
$ hdaps-gl

Now you can evaluate acceleration of your Laptop. Your hard disk unfortunately still is not protected. To achive this, try the next chapter.

Active Protection System (disk protection)

Hint:
This one is a little harder to do and can easily fail. If you want to try it anyway, remember, it might not work. In that case you can always reselect your old kernel in grub when booting. So you'd better not delete the old kernel...

You'll probably need the following packages: $ sudo apt-get install build-essential fakeroot kernel-package libncurses5-dev wget bzip2

Test your kernel version with $ uname -r

If you see 2.6.20-15-generic, you can just follow the provided instructions. If you have a different version, adapt this howto to your personal needs. Download the right patch for your kernel version, in my case it was 2.6.30 rc, but now (may 2007) there is a newer available: 2.6.20 You'll find more patches in HDAPS#Disk_head_parking

Get the kernel sources and patch them:

$ sudo su
# cd /linux/src
# apt-get install linux-source
# cd linux-source-2.6.20
# patch -p1 -l < /home/silvan/993-001.bin 

If you only saw some lines saying "patching line..." and "succeeded...", then everything is fine.

Hint:
If you do not use restricted drivers you can leave that out. I need them for making my atheros wifi working using madwifi.

# sudo apt-get install linux-restricted-modules-generic linux-restricted-modules-common

Take necessary steps for whatever restricted kernel module you want to use, e.g.

For atheros wifi get madwifi-source, I used the one from debian testing, as ubuntu does not povide them: debian testing madwifi-source. Install them and unpack the madwifi package in /usr/src.

Hint:
Go on here if you don't want restricted drivers

Now let's build the kernel; if you need help on this look at this or that howto from howtoforge.

# make clean
# make oldconfig
# fakeroot make-kpkg clean
# fakeroot make-kpkg --append-to-version=.hdapscustom kernel_image --initrd binary 

This will probably take a very long time, it took me roughly 1:45 hours on my T43. You have to be patient. If it didn't finish with errors, let's now install the newly built kernel. First check the name of our kernel package, and then install at least the image and the header packages. I just installed all like this:

# cd /usr/src
# ls -l
# dpkg -i
# dpkg -i linux-headers-2.6.20.3-ubuntu1.hdapscustom_2.6.20.3-ubuntu1.hdapscustom-10.00.Custom_i386.deb
# dpkg -i linux-doc-2.6.20.3-ubuntu1.hdapscustom_2.6.20.3-ubuntu1.hdapscustom-10.00.Custom_all.deb 
# dpkg -i linux-image-2.6.20.3-ubuntu1.hdapscustom_2.6.20.3-ubuntu1.hdapscustom-10.00.Custom_i386.deb
# dpkg -i linux-manual-2.6.20.3-ubuntu1.hdapscustom_2.6.20.3-ubuntu1.hdapscustom-10.00.Custom_all.deb 
# dpkg -i linux-source-2.6.20.3-ubuntu1.hdapscustom_2.6.20.3-ubuntu1.hdapscustom-10.00.Custom_all.deb

Do the same for all packages that were created for restricted modules. Maybe you have to create them first with something like:

# cmdroot|fakeroot make-kpkg --append-to-version=.hdapscustom --added-modules madwifi modules_image

And let's not forget to leave the super user shell

# exit

Now is the time to reboot and to test if everything went fine ;-) Verify with $ uname -a if you booted the right kernel. If you want you can decide which kernel should be booted by default in /boot/grub/menu.lst selecting the number of the boot entry in the line after 'default'.

Check the output of

$ dmesg | grep hdaps

In my case the new kernel printed nothing, the old kernel printed:

hdaps: IBM ThinkPad T43 detected.
hdaps: initial latch check good (0x01).
hdaps: device successfully initialized.
input: hdaps as /class/input/input4
hdaps: driver successfully loaded.

Next step is to install hdapsd, the daemon, that actually stops the hard disk. Get the latest user space daemon hdapsd. Compile and install it using

$ gcc -o hdapsd hdapsd-*.c
$ sudo cp hdapsd /usr/local/sbin/

Start hdapsd using $ hdapsd -d sda -s 15

Help needed
What is the best way to start the userspace daemon automatically at boot time?

If you move your Laptop you should now see the console printing messages if the disk is parked or not.

Help needed
It didn't work for me: hdapsd only starts with sudo. Without it says "open(protect_file): Permission denied". The output of sudo hdapsd is saying parking/un-parking, but with a lot of "open: No such file or directory" in between. Any help is appreciated!

$ dmesg | grep protect

should confirm this. If the output says something like unload support NOT reported.. and head park not requested, used standby!.., have a look at http://thinkwiki.org/wiki/Problem_with_APS_harddisk_parking and examine if your drive might have problems with the disk protection.

A useful gimmick is the gnome-hdaps-applet showing the current disk protection state in the panel. KDE users look at khdapsmonitor for an alternative. To install gnome-hdaps-applet, do the following:

$ mkdir gnome-hdaps-applet
$ cd gnome-hdaps-applet
$ wget http://www.zen24593.zen.co.uk/hdaps/gnome-hdaps-applet-20060120.tar.gz
$ tar -xzf gnome-hdaps-applet-20060120.tar.gz
$ sudo apt-get install libpanel-applet2-dev
$ gcc $(pkg-config --cflags --libs libpanelapplet-2.0) -o gnome-hdaps-applet gnome-hdaps-applet.c
$ sudo install gnome-hdaps-applet /usr/bin/
$ sudo mkdir /usr/share/pixmaps/gnome-hdaps-applet/
$ sudo cp *.png /usr/share/pixmaps/gnome-hdaps-applet/
$ sudo cp GNOME_HDAPS_StatusApplet.server /usr/lib/bonob
Help needed
Everything seems to work fine with the patched kernel - unless wifi. Ubuntu doesn't find my wireless device anymore. Probably this is because my Atheros card needs restricted modules. Find more infos on http://madwifi.org/wiki/ on compiling Atheros wifi modules. Maybe the kernel compile goal modules or modules_image could help. Could please someone detail the preferred way to handle this?

o/servers/

Afterwards add the applet to your panel manually. Be sure to see the play/pause sign switching when moving your laptop :-)


Help needed
The applet always shows the play sign, never the pause sign. I think this the same problem like the hdapsd-sudo problem

More information can be found on How to protect the harddisk through APS or Installing_Ubuntu_6.06_on_a_ThinkPad_T43#Active_Protection_System or Howto for edgy. If you speak italian (unfortuately my level is really, really poor), Fedora on z60t might be of use to you. Maybe even somebody would find the time to translate and adopt this fedora howto to english and ubuntu?

Track Point Middle Key Scrolling

In my case the track point worked out of the box, but the middle mouse button for scrolling did not. How to configure the TrackPoint explains how to solve this. The steps you need to follow are in section "Using the X server (kernel 2.6.11+)". However you don't need to follow the steps in "EmulateWheelTimeout temporarily broken (-> fix for Ubuntu Dapper)" as this is fixed already if you have all your packages up-to-date.

Follow the instructions in the sections "Configure firefox for using trackpoint horizontal scrolling" and "Configure Opera for using trackpoint horizontal scrolling" as well, if you are using one of the two browsers.

If Firefox is scrolling into wrong directions, look at Talk:How_to_configure_the_TrackPoint#TrackPoint_scrolling_inverted_in_Firefox.

Fingerprint Reader

How to enable the fingerprint reader has a good explanation for a very complicated way of activating your fingerprint reader using a restricted driver.

A free alternative to this is available at [1]: How to enable the fingerprint reader with ThinkFinger provides more details, also the Ubuntu wiki does.

Spezial keys

If the following standard settings are not enough for you, you'll find more info here: How to get special keys to work

Access IBM to start application

The Access IBM works out of the box. Just go to your shortcut configuration dialog and choose what actionyou want to connect with pressing this button, e.g. opening your home folder/terminal, switching o fullscreen, opening help...

CAPS to substitute Win/Super

For using your CAPS key as a replacement for the lacking Win/Super key, add following to your ~/.Xmodmap

! No Caps Lock
clear lock
! Caps Lock as Win key
add mod4 = Caps_Lock

To avoid restarting X type $ xmodmap ~/.Xmodmap

Forward/Backward in browsers

Firefox

For using the Forward/Backward Keys in your browser add also these lines to your ~/.Xmodmap as at least Firefox gets confused with their original setting as XF86Back/XF86Forward.

! back and forward browser keys
keycode 234 = F19
keycode 233 = F20

For Firefox add these lines to your /usr/share/firefox/chrome/browser/content/browser/browser.xul

<key id="goBackKb3" keycode="VK_F19" command="Browser:Back" />
<key id="goForwardKb3" keycode="VK_F20" command="Browser:Forward" />

directly after these lines:

<key id="goBackKb"  keycode="VK_LEFT" command="Browser:Back" modifiers="alt"/>
<key id="goForwardKb"  keycode="VK_RIGHT" command="Browser:Forward" modifiers="alt"/>
Opera

For Opera add these pairs in Tool->Preferences->Advanced->Shortcuts->Keyboard setup->Edit->Browser Window->New

  • If you did the Firefox Xmodmap entry: F20-Forward, F19-Back
  • If you didn't add the lines: XF86Forward-Forward, XF86Back-Back
Konqueror

In Konqueror it's working out of the box. But if you did the Xmodmap settings you have to adjust Konqueror, too. Just go to Settings->Configure Shortcuts, look for Back and Forward and set the alternative shortcut in the custom dialog by pressing the respective key. If you are using KDE you'll be probable prefering to do that in the Configuration Center to make these changes visible to all KDE Apps.


Toggle Touchpad on/off

Some people like to be able to switch their Touchpad on and off on the fly to avoid touching it during typing or pressing buttons when having the laptop lying on the lap. The following settings make this easily possible. Add the option "SHMconfig" to your synaptics section in the xorg.conf by typing $ sudo gedit /etc/X11/xorg.conf and set it to "on":

...
Section "InputDevice"
       
       Driver      "synaptics"
       ...
       Option      "SHMconfig"   "on"
       
EndSection
...

This makes the synaptics touchpad toggable during runtime. If you prefer the touchpad to be switched off always add following line instead:

       Option      "TouchpadOff" "1"   

To make this setting working we need to restart X. The best choice is to log off your window manager (don't forget to close programs where you might loose data) and press Ctrl + Alt + Backspace.

To switch the touchpad on and off you can use synclient. But if you prefer a program with a nice GUI, try gsynaptics (or ksynaptics if you use KDE): $ sudo apt-get install gsynaptics gsynaptics integrates into your gnome settings menu, ksynaptics in the KDE Control Center. They preety much look the same, ksynaptics seems to just offer one additional setting: to switch your touchpad off automatically when typing. For easier reachability I just added a shortcut to my panel. To make gnome remember your last settings after a system restart go to your session configuration and add the program gsynaptics-init to the startup programs. I did not try this with KDE, sorry.

Find more information on Synaptics TouchPad driver for X

IrDA

Find information here: How to make use of IrDA

VGA out

I didn't try it, but it looks easy: How to enable VGA out

References


Hope this helped :-) tec