Stoppt die Vorratsdatenspeicherung! Jetzt klicken & handeln!Willst du auch bei der Aktion teilnehmen? Hier findest du alle relevanten Infos und Materialien:

freienhofer.de

Installing Debian Etch on a Thinkpad R60e

Base Installation

Download a netinstall CD-Image or if you want to, any other Debian Installation Image and burn it to CD. Put the CD-Rom into the CD-Drive of the Thinkpad and follow the Installation Instructions.

Getting Sound to work

In order to get the sound working you need to run the tool "alsaconf" as root, if the program asks select the hda-intel sound card. Now you are able to listen to whatever you want on your Laptop. (Modem disabled?)

Configuring the X-Server correctly

You may try configuring X.org with "dpkg-reconfigure xserver-x.org" but as I tried to do so it didn't work correctly because it thought someone edited /etc/X11/X, so if it does not work for you too, you have to edit the xorg.conf by hand.

If your xorg.conf has an InputDevice Section for a Touchpad you can remove it and also the Touchpad-Entry in the ServerLayout-Section as the R60e has no touchpad.

If you want to scroll by pressing the middle mouse button and moving the trackpoint up and down, you have to add the following to your Mouse InputDevice Section:

        Option          "Emulate3Buttons"       "true"
        Option          "EmulateWheel"          "true"
        Option          "EmulateWheelButton"    "2"

Next step is enabling the 3D Hardware Acceleration by replacing the Driver "vesa" entry in your Device-Section with Driver "i810"

That's all, now your XServer should work correctly and with hardware acceleration next time you restart it

Configuring the X Server for 2 Monitors

The laptop has a VGA-Connector, if you want to use this, as a "Clone" of your Laptop-Screen there are two possibilities, one ist to use the Option "Clone", the other is the one I am going to describe, because with "CloneScreen" Videos you play won't be shown on the second monitor.

Basically, the only thing you need to do ist to add the line Option "MonitorLayout" "NONE,CRT+LFP" to the Device-Section of your xorg.conf. This line says that the Local Flat Panel (LFP) and the VGA-Connector (CRT) are both on Pipe B and so look the same and have the same resolution, 1024*768 and the same refresh rate of 60Hz.
Such a Device-Section could look something similar to this:

Section "Device"
        Identifier      "Intel 945GM"
        Driver          "i810"
        BusID           "PCI:0:2:0"
        Option          "MonitorLayout"         "NONE,CRT+LFP"
EndSection

If you want to use the "CloneScreen" described above, the MonitorLayout line looks like this Option "MonitorLayout" "CRT,LFP" and you have to add the line Option "Clone" "true" that tells the chip to "mirror" the second monitor to the first monitor.

Now you should see the same on the VGA-port monitor as you see on the internal LCD, except for videos (or other things that use the video overlay functions of the chip). More details can be found in the i810 man page.

To see something different on either screen you have to use a MonitorLayout with CRT on pipe A and LFP on pipe B and you have to create two Device, two Monitor and two Screen Sections, where only the first Device has two contain the MonitorLayout line, but the first device has to contain the line Screen 0 and the second has to contain the line Screen 1

In the server layout these numbers have to be written for the two Screen-Sections, so that the ServerLayout looks something like this:

Section "ServerLayout"
        Identifier      "Default Layout"
        Screen          0 "Default Screen"
	Screen		1 "External Screen"
        InputDevice     "Generic Keyboard"
        InputDevice     "Configured Mouse"
EndSection

In this configuration the "Default Screen" contains the device associated with Screen 0 and "External Screen" the one associated with Screen 1. Now you have to tell the X Server the Second monitor's position, this can be done either with Screen 1 "External Screen" RightOf "Default Screen" or with something like Screen 1 "External Screen" Absolute 1024 0

You can put it on the left of the Internal Screen in exactly the same way, but with this configuration you can't move windows from one monitor to the other. In order to do so you have to use Xinerama, but for me it didn't work. If you want to try if it works for you, you have to add the line Option "Xinerama" to the ServerLayout.

Getting the integrated WLAN to work

The integratet Intel 3945 WLAN Chipset needs a binary userspace daemon and a binary firmware to work, so if you don't want binary only programs on your Debian installation you will have to write your own driver or you are only able to access Wireless LANs with a PCMCIA-Card or something like this that doesn't need any binary-only things (Does something like this exist?).

So, if you want to use the binary-drivers you need the ipw3945-firmware (available in non-free from Debian) and the sources for the ieee80211 kernel module (you need to compile it on your own, because the module in the kernel that comes with Debian is too old to work correctly with the ipw3945-driver) and the ipw3945 driver package and userspace daemon package, available from ipw3945.sourceforge.net.

The first step is to compile the ieee80211 module, perhaps you are able to do this with the debian program module-assistant but as I tried to it didn't work, so if it doesn't work for you too, do it this way:

Compile the module, then replace the ieee80211*.ko modules in /lib/modules/your-current-kernel-version/kernel/net/ieee80211/ with the ones you compiled.
The same is to do with the headers from your ieee80211-source directory:
Copy the ieee80211-1.2.15/net/ieee80211*.h's to /usr/src/linux-headers-your-kernel-version/include/net/ (if you haven't yet installed the linux-headers package do it before trying to copy the header-files)

Copy the file ipw3945 found in the x86 directory of the ipw3945d-directory to /sbin.

Now compile the ipw3945 kernel module and copy the created ipw3945.ko file somewhere into your /lib/modules/kernel-version/kernel/ directory (e.g. net/ipw3945/).

The last step is to create a file named ipw3945 in the directory /etc/modprobe.d/ with the following content:

install ipw3945 /sbin/modprobe --ignore-install ipw3945 ; sleep 0.5 ; /sbin/ipw3945d --quiet
remove ipw3945 /sbin/ipw3945 --kill ; /sbin/modprobe -r --ignore-remove ipw3945

This takes care that the binary userspace daemon ipw3945d is startet when you load the module with "modprobe ipw3945" or unload it.

CPU Frequency Scaling

To get it to work you need to add the folling lines to /etc/modules:

speedstep-centrino (or acpi-cpufreq)
cpufreq-userspace

With these two lines added, the modules needed for frequency scaling will be loaded automatically at boot. Now you can set the governor controlling the CPU frequency in the file /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor for the first core and in the file/sys/devices/system/cpu/cpu1/cpufreq/scaling_governor for the second one. You can see the actual CPU frequency with less /proc/cpuinfo

To set up the governor automatically at boot, install the package sysfsutils and add something like the following lines to your /etc/sysfs.conf:

devices/system/cpu/cpu0/cpufreq/scaling_governor = ondemand
devices/system/cpu/cpu1/cpufreq/scaling_governor = ondemand

You need to replace the ondemand with the governor you want to use. More information about the different governors and how to use a userspace daemon to control the frequency can be found at www.thinkwiki.org.

ToDo

What I haven't tested yet:

What doesn't work yet:

Update: With 2.6.18 and the uswsusp-packet suspending works, see below.

Hibernating (Suspend to Disc) works but If you try to wake the laptop up it fails. Suspend to RAM sometimes works a bit but most time doesn't work, as far as I know this is due to the hard disc controller being an SATA Controller. More about this can be found on thinkwiki.org.

There it sounds like the problem is generally fixed for most systems with linux 2.6.16, the kernel version I'm using too, so I think Suspending probably works soon. Also it seems Suspend to Disc and RAM are working with SuSE GNU/Linux so I think it's possible that it'll work soon in Debian too.

With Kernel 2.6.17 hibernating and waking up the computer works fine, only problem is to hibernate it a second time, this won't work instead the computer begins fooling around.

With 2.6.18 and the uswsusp package installed, suspening with the commands s2ram and s2disk works. With echo -n "disk" >/sys/power/state, the method I tested before, there are still some problems, so it may be possible suspending with the uswsusp-tools would have worked with 2.6.16 and 17, too.

What doesn't work correctly:

Watching videos with xine-ui or totem doesn't work but watching them with gxine works. With xine-ui and totem the first video you watch after starting X works but if you try to watch a second one you'll notice that the colors are completely wrong; with gxine there isn't such a problem (only if you watched a video with e.g. totem before, then also gxine shows the wrong colors and you have to restart X in order to have right colors again).

I don't know exactly why it works with gxine and not with the others but it seems that this is a common problem with xine in connection with Intel 950GMA Graphics. Also I don't know if the same problem exists with other media players, e.g. mplayer, but if you use gxine you won't have any problems.

TuxMobil - Linux on Laptops, Notebooks, PDAs and Mobile Phones www.linux-on-laptops.com

Official member of the Axis-of-Evilâ„¢

"Axis-of-Evil" is not a registered trademark of the White House.