Last Update : Dec 2008

Ubuntu 8.10 (ibex) + Lenovo T61 Laptop : Almost there!

This is specifically about how Ibex works on T61.

I have a Lenovo T61 (Atheros Wireless card : mistake!   + Nvidia (Quatro 140M) graphics card : big mistake!!).  I have been using this laptop with Ubuntu Gutsy and  it has been a constant annoyance to have Linux run on this.  Here is why:
  • suspend + wakeup support is shaky at best - for me this is crucial for a laptop
  • wireless support is flaky, and wirless usually doesn't work after a suspend/wakeup
  • brightness controls for screen doesn't work.  This was a real annoyance and drains battery much quicker.  NVidia ignored this bug despite a lot of complaints by users.  So I worked with sun glasses to prevent my eyes  from burning out by the screen glow :-)
  • working with external projector is a chore and needs to restart X ! (*sigh*)
But I put up with all these.   So after trawling Ubuntu forums I had most of these working or 'sort of' working.  Because you see,  I am a a linux fan (since 1995!) and believe in open source.  I still hold out hope for a viable linux desktop on my laptop.  

        I use MacbookPro with MacOSX (10.5) at work.  And  I see how user friendly and straight forward Linux/Unix/FreeBSD can be.  So there is still great promise for Linux.

So here are the things that mattered to me on IBEX

What Works:

INSTALL

Smooth.
(I installed from a USB Stick; this is so much better than preparing and installing from fragile CD-Rs.  See here for instructions.  I used UNetBootin)

I use Kubuntu - as I like KDE.

Suspend / Wakeup

Works right out of the box.  Double click on battery monitor and setup to go on Suspend when the lid is closed.
Excellent!

power-manager1.png

Nvidia 3D, Brightness

Proprietary nvidia drivers are installed and 3D works right out of the box (nvidia driver v177.80.0).  Plus, plus, the brightness controls work!
Yippie !!

Wireless

Newer Atheros driver (ath5k) works; sorta see below
Install the backport-modules.  See release notes here.

External Projector

you plug an external projector and a dialog box pops up to configure it!
I use 'nvidia-xsettings' to configure the screen.

nvidia-screen-saver.png

Trackpad settings

You need synclient and SHMConfig.  See here on how to configure and  here

Now what needs improvment....

Wireless + Suspend

Well, wireless can't connect after suspend wakeup.
TO fix this create a file /etc/pm/config.d/madwifi-fix with the following text

SUSPEND_MODULES="$SUSPEND_MODULES ath5k"

If you use ath_pci driver, replace ath5k with ath_pci (to find out lsmod | grep -i ath)
Bug report here.  Discussions here,  here

STOP XMLifying the config files!

OK this is a pet-peev of mine.  I encoutered this when trying modify Touchpad settings.  That config file is in XML format!  Ugh!! 

XML is for data, it is wonderful for that.  But then the Architect-Astronauts went ahead and XMLified every thing.. config files, and even log files, any thing text!   This over-XMLification plagued Java-Apps world.  Rails came out as an alternative with sensitive convention as opposed to xml-over-loaded-configuration.  Ok, that is an story for another time

Here is a quick comparison:

Simple Text,  name-value config file
( /etc/my.cnf - mysql config)
XML config file
(/usr/share/hal/fdi/policy/20thirdparty/11-x11-synaptics.fdi - some X config thing)

[mysql]
server_id = 1
port=3306
<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
  <device>
    <match key="info.capabilities" contains="input.touchpad">
      <match key="info.product" contains="Synaptics TouchPad">
        <merge key="input.x11_driver" type="string">synaptics</merge>
    <!-- Arbitrary options can be passed to the driver using
         the input.x11_options property since xorg-server-1.5. -->
    <!-- EXAMPLE:
    <merge key="input.x11_options.LeftEdge" type="string">120</merge>
    -->
    <merge key="input.x11_options.SHMConfig" type="string">On</merge>
      </match>
      <match key="info.product" contains="AlpsPS/2 ALPS">
        <merge key="input.x11_driver" type="string">synaptics</merge>
      </match>


One thing I like in Unix is the simple PLAIN TEXT config files.  I don't want to see these configurations become like, *gasp* windows registry configurations,  that are buried some where non-intuitive.  Simple text files are great.  They work just fine for most of the situations.  Lets use them when we can..




** Comment on this article **