Matt's Comments

(Update 12/4/08)

(Update 11/16/07)

Current Issues (Ubuntu 7.10 - Gutsy Gibbon (Final))

'''Other user comments'''

(Update Aug, 15, 2008) * Dualbooting verified working with WinXP, Ubuntu 8.x, Backtrack3 Final, and a swap partition

Hardware details

Hardware Information

Screen & Monitors

Device

Works?

Bug #

in Feisty

in Gutsy

Screen

Yes

Yes

Correct resolution?

Yes

Yes (11)

Correct refresh rate?

Yes

Yes

3D Acceleration

Yes (6)

Yes (6, 8)

External monitor works?

Not tested

Not tested

External monitor - mirrors

Not tested

Not tested

External monitor - extend desktop

Not tested

Not tested

Power Management

Battery detected?

Yes

Yes

Hibernates?

Yes (3)

Yes (3, 5)

Sleep

Yes

Yes (3, 5)

Dim monitor on battery

Yes

Yes

Blank monitor on inactivity

Yes

Yes

Lid Close

Yes

Yes

CPU frequency scaling

Yes (10)

Yes (10)

Sound

Sound works?

Yes

Yes

Correct volume?

Yes

Yes

Hardware volume switch

Yes

Yes

Headphone jack

Yes

Yes

Mic jack

Yes

Yes

Networking

Wired NIC

Yes

Yes

Wireless NIC

Yes

Yes

PCMCIA NIC

Yes (3)

Yes (3)

45295

Firewire

N/A

N/A

Bluetooth

Not Tested

Not Tested

Modem

Yes

Infrared

Yes (2)

Touchpad & Mice

Touchpad

Yes (7)

Yes (7)

Touchpad - Doubletap = double click

Yes

Yes

Touchpad - Scroll down side

Yes

Yes

External mouse - USB

Yes

Yes

External mouse - Serial

N/A

N/A

Docking Station/Port Replicator

AC through replicator

N/A

N/A

USB

Yes

Yes

Serial

N/A

N/A

Parallel

N/A

N/A

External Monitor - VGA

N/A

N/A

External Monitor - DVI

N/A

N/A

Modem

Yes

Yes

NIC

Yes

Yes

PS/2

N/A

N/A

Additional Hardware

Fingerprint reader

N/A

N/A

CD/DVD drive

Yes

Yes (4)

PCMCIA cards

Yes

Yes

Parallel Ports

Yes

Yes

Card reader(s)

N/A

N/A

Function and other keys

Fn key

Operation

Keycode

Works?

Bug #

in Feisty

in Gutsy

+ Space

Screen magnifier

No

No

+ F3

Switch off screen

Yes

Yes

+ F4

Sleep

Yes

Yes (5)

152533

+ F5

Wireless

N/A

N/A

+ F7

Monitor

Not Tested

Not Tested

+ F12

Hibernate

Yes

Yes (5)

152533

+ Home

Dim up display

Yes

Yes

+ End

Dim down display

Yes

Yes

+ PgUp

Toggle screen light

Yes

Yes

Other special keys

Key

Operation

Keycode

Works?

Bug #

in Feisty

in Gutsy

Access IBM

No

No

Volume Up

Yes

Yes

Volume Down

Yes

Yes

Mute

Yes

Yes

Power

Yes

Yes

Notes

These are some notes on how to get certain hardware working nicely, it applies to the R40-2681, but should also apply to many others. An excellent resource for the ThinkPad on Linux is www.thinkwiki.org.

To reduce power consumption on your ThinkPad, read this].


(1) Works with the sl-modem driver, use apt-get install sl-modem or use System>Administration>Restricted Driver Manager. On my system it's installed on /dev/ttyS3.


(2) Installing irda-utils makes it almost work. Edit /etc/default/irda-utils and uncomment the line ENABLE="true".


(3) My on-board NIC is broken, so I require a PCMCIA network card for the network, however the PCMCIA card is not assigned to eth1 upon startup or resume from sleep or hibernate. This has been a bug for quite some time (45295). To have Ubuntu assign eth1 to it, you need to eject the card then insert it again, this can be done physically or at the command line. Then you run 'sudo dhclient eth1' to assign an IP address.

Create the file /etc/init.d/KICK_START_UBUNTU (need to be super user), then enter the following:

pccardctl eject
sleep 1
pccardctl insert
dhclient eth1

Then run the following commands at the command line:

sudo chmod 755 /etc/init.d/KICK_START_UBUNTU
sudo ln -s /etc/init.d/KICK_START_UBUNTU /etc/rc2.d/S25KICK_START_UBUNTU
sudo ln -s /etc/init.d/KICK_START_UBUNTU /etc/rc3.d/S25KICK_START_UBUNTU
sudo ln -s /etc/init.d/KICK_START_UBUNTU /etc/rc4.d/S25KICK_START_UBUNTU
sudo ln -s /etc/init.d/KICK_START_UBUNTU /etc/rc5.d/S25KICK_START_UBUNTU
sudo ln -s /etc/init.d/KICK_START_UBUNTU /etc/rcS.d/S25KICK_START_UBUNTU

Now the PCMCIA card will activate with the network on startup.


(4) Since Ubuntu 7.10 the IDE hard drive show up as /dev/sda instead of /dev/hda. It seems that hdparm no longer works (for me at least) to enable DMA mode. However, I found that this is not an issue, since DVD playback is Ok.


(5) When the computer resumes after hibernation or sleep the network on the PCMCIA card does not start up again. To fix this create a file in /etc/acpi/resume.d/ called something like 66-PCMCIA_INSERT.sh, in the file put:

dhclient eth1

You need to make sure the file is executable, to do this run sudo chmod 755 /etc/acpi/resume.d/66-PCMCIA_INSERT.sh on the command line.


(6) Improving 3D Acceleration:

The on-board card is a Radeon Mobility 9000 (M6 LY) and this is not supported by the proprietary ATI driver. Although it is detected properly and with 3D acceleration enabled, the acceleration is not tweaked. I was able to get an extra 20 to 30% fps improvement with Celestia and Stellarium, additionally some of the strange texturing behavior disappeared. To do this I changed the "Device" section in the /etc/X11/xorg.conf file to the following:

Section "Device"
        Identifier      "ATI Technologies Inc Radeon Mobility M6 LY"
        Driver          "ati"
        BusID           "PCI:1:0:0"
        Option          "AGPMode" "4"
        Option          "AGPSize" "64" # default: 8
        Option          "RingSize" "8"
        Option          "BufferSize" "2"
        Option          "EnablePageFlip" "True"
        Option          "EnableDepthMoves" "True"
        Option          "RenderAccel" "true" # Enables hardware acceleration
        Option          "DynamicClocks" "on" # Adds clock scalability / power management for the video card
EndSection


(7) Accidental tapping of the Touchpad can be annoying.

This can be disabled by setting the "MaxTapTime" to 0 in the /etc/X11/xorg.conf file:

Section "InputDevice"
        Identifier      "Synaptics Touchpad"
        Driver          "synaptics"
        Option          "SendCoreEvents"        "true"
        Option          "Device"                "/dev/psaux"
        Option          "MaxTapTime"            "0"
        Option          "Protocol"              "auto-dev"
        Option          "HorizEdgeScroll"       "0"
EndSection


(8) Power saving can be enabled by on the on-board Radeon 9600 chip by allowing the clock rate to be modulated. This should not impact performance, but will reduce the power and fan activity. In the /etc/X11/xorg.conf in the "Device" section (as in point (6) above) you add the following:

        Option      "DynamicClocks" "on"

To make sure this is working look for the following lines in /var/log/Xorg.0.log :

(**) RADEON(0): Option "DynamicClocks" "on"
(II) RADEON(0): Dynamic Clock Scaling Enabled


(10) The CPU on the R40 can run at different speeds (CPU frequency scaling), however, the default configuration is such that CPU frequency scaling does not work. This will save a lot of power, and reduce the amount the fan runs. First add the following lines to /etc/modules :

# enable frequency scaling
thinkpad_acpi
p4-clockmod
cpufreq_ondemand

It is good practice to also [sudo modprobe ...] and verify the modules load on your machine before making them permanent.

Now, when you restart you will have the CPU changing frequency. To test, use the frequency scaling applet in Gnome.

Frequency scaling is great, but I find that when the frequency drops down to 200MHz there is a little bit of lag when clicking somewhere with the mouse, since the CPU sits at 200MHz for a few to many milliseconds. Others may not notice, or may not be bothered by it, but it annoys me. One way to fix this is to raise the minimum frequency to 600MHz. To do this you will need to install the cpufrequtils package :

apt-get install cpufrequtils

Then you will need to run 'cpufreq-set -d 600MHz' command to set the minimum frequency. To do this at boot time add the following line to /etc/init.d/KICK_START_UBUNTU (see above for creating this file) :

cpufreq-set -d 600MHz -g ondemand


(11) After installing Gutsy you may find that the boot procedure takes a very long time and the splash screen is not displayed. To fix this you just need to change the resolution to 1024x768. Run the following command

sudo gedit /etc/usplash.conf

and change the 1200 to 1024 and the 1024 to 768 so you have something like:

# Usplash configuration file
xres=1024
yres=768

then run the following command

sudo dpkg-reconfigure usplash

and reboot...


/etc/X11/xorg.conf file

Thanks to Matt_LaRiviere for this file, it has all the changes mentioned above.

# xorg.conf (xorg X Window System server configuration file)
#
# This file was taken from the Ubuntu Wiki from the
# LaptopTestingTeam/ThinkpadR40-2681
#
# If you have edited this file but would like it to be automatically updated
# again, run the following command:
#   sudo dpkg-reconfigure -phigh xserver-xorg

Section "InputDevice"
        Identifier      "Thinkpad Keyboard"
        Driver          "kbd"
        Option          "CoreKeyboard"
        Option          "XkbRules"      "xorg"
        Option          "XkbModel"      "pc105"
        Option          "XkbLayout"     "us"
EndSection

Section "InputDevice"
        Identifier      "Synaptics Touchpad"
        Driver          "synaptics"
        Option          "SendCoreEvents"        "true"
        Option          "Device"                "/dev/psaux"
        Option          "MaxTapTime"            "0"
        Option          "Protocol"              "auto-dev"
        Option          "HorizEdgeScroll"       "0"
EndSection

Section "Device"
        Identifier      "ATI Technologies Inc Radeon Mobility M6 LY"
        Driver          "ati"
        BusID           "PCI:1:0:0"
        Option          "AGPMode" "4"
        Option          "AGPSize" "64" # default: 8
        Option          "RingSize" "8"
        Option          "BufferSize" "2"
        Option          "EnablePageFlip" "True"
        Option          "EnableDepthMoves" "True"
        Option          "RenderAccel" "true" # Enables hardware acceleration
        Option          "DynamicClocks" "on" # Adds clock scalability / power management for the video card
EndSection

Section "Monitor"
        Identifier      "Thinkpad 14.1 LCD"
        Option          "DPMS" # Highly reccomended for LCD panels / monitors
        HorizSync       28-33
        VertRefresh     43-72
EndSection

Section "Screen"
        Identifier      "Thinkpad Display"
        Device          "ATI Technologies Inc Radeon Mobility M6 LY"
        Monitor         "Thinkpad 14.1 LCD"
        DefaultDepth    24
        SubSection "Display"
                Modes           "1024x768" # This or the native resolution of your monitor
        EndSubSection
EndSection

Section "ServerLayout"
        Identifier      "ThinkpadR40"
        Screen          "Thinkpad Display"
        InputDevice     "Thinkpad Keyboard"
        InputDevice     "Synaptics Touchpad"
EndSection

CategoryLaptop CategoryLaptop

LaptopTestingTeam/Old/ThinkpadR40-2681 (last edited 2010-03-02 13:01:29 by host226-241-dynamic)