Difference between revisions of "Thinkpad R31"

From Blue-IT.org Wiki

(Xorg)
(Xubuntu 11.10 =)
 
(109 intermediate revisions by 2 users not shown)
Line 1: Line 1:
=Warning=
+
= [[Image:Important.png|48px]] Warning =
 
I am not responsible for any damage on your computer in any way, neither due to lack of appropriate knowledge nor any other reason. So please first read deeper into the subject before changing a running system.
 
I am not responsible for any damage on your computer in any way, neither due to lack of appropriate knowledge nor any other reason. So please first read deeper into the subject before changing a running system.
  
=General Info=
+
== Xubuntu 11.10 ==
The article is for linux operation system only. Mainly ubuntu. If you are on hardy, you should only read that part, the same applies to gutsy.
+
--[[User:Apos|Apos]] 00:05, 31 January 2012 (CET)
 +
 
 +
XFCE without Compiz runs on this Hardwre like a charme - again!
 +
 
 +
Nevertheless I am selling it on ebay now. By bye IBM R31 bye bye - we had some hard times, and good times, yu brought me to my informatik science studies, all the time. I will stay an ThinkPad-guy ;)
 +
 
 +
= Updates (Ubuntu Lucid / 10.04) =
 +
Most of this page is fairly outdated.
 +
 
 +
E.g. '''Ubuntu 10.04 or newer''' installs without any problem onto this notebook (R31). Everything works out of the box!
 +
 
 +
'''UPDATE: due to errors with updates of Ubuntu 10.04 and a new intel driver, 3D/GLX ist broken'''. If you need OpenGL, stay with Ubuntu 9.10. This chipset suffers from the "White Screen of death" bug.
 +
 
 +
Nevertheless this notebook is not the best choice for linux - don't buy a used one! I recommend the older T4x series or the newer [[Thinkpad T61]] with the Nvidia graphic chip. In any case avoid buying notebooks with older ATI graphic chips. They are not supported any more (neither in Linux nor in Windows 7)!!!
 +
 
 +
=== The drawbacks: ===
 +
 
 +
1. since Ubuntu 9.04 the accelerated Hardware (DRI/DRI2) for the '''i810M graphics chip is broken''' - and will be broken for the future too! The reason: Intel is not really working on a solution for this chip any more, it is too old.
 +
 
 +
To make it short: you can '''NOT (!)''' use 3D windows managers like compiz, opengl, accelerated video playback or anything related to this. Nevertheless the standard ''vesa'' display driver works fairly well with standard office usage.
 +
 
 +
2. The '''Thinkpad buttons for volume control''' are not working any more due to the newer thinkpad acpi implementation (it just works for sound off/on, but no volume control). An easy solution: Map the FN+CursorLeft / FN+CursorRight buttons to this function.  The Ubuntu key combination settings are your friend ;)
 +
 
 +
--[[User:Apos|Apos]] 10:48, 27 September 2010 (CEST)
 +
 
 +
=General Hardware Info=
 +
[[Image:R31.png|250px]]
 +
 
 +
The article is for linux operation system only - mainly on Ubuntu. If you are on Ubuntu Hardy (8.10), you should only read that part, the same applies to Ubuntu Gutsy (7.10).
  
 
This is a '''Thinkpad R31 2656-65G''' with  
 
This is a '''Thinkpad R31 2656-65G''' with  
Line 10: Line 38:
 
* (not very powerful) Intel i830 Grafics prozessor
 
* (not very powerful) Intel i830 Grafics prozessor
 
* 100 Mbs Network
 
* 100 Mbs Network
* USB 1.1
+
* 2 x USB 1.1
 
* No wlan (using Netgear WPN511 pcmcia card)
 
* No wlan (using Netgear WPN511 pcmcia card)
 
* Trackpoint (no touchpad)
 
* Trackpoint (no touchpad)
 
* Bios Version 3.110 1FETF1WW (2004-11-16, Embedded Controller Version 02.29.12)
 
* Bios Version 3.110 1FETF1WW (2004-11-16, Embedded Controller Version 02.29.12)
 
* Mini PCI slot (only a short list of devices usable - please read [http://www.paul.sladen.org/thinkpad-r31/wifi-card-pci-ids.html this post] and [http://www.thinkwiki.org/wiki/Problem_with_unauthorized_MiniPCI_network_card in thinkwiki]
 
* Mini PCI slot (only a short list of devices usable - please read [http://www.paul.sladen.org/thinkpad-r31/wifi-card-pci-ids.html this post] and [http://www.thinkwiki.org/wiki/Problem_with_unauthorized_MiniPCI_network_card in thinkwiki]
 +
* irda - NOT working for me (should do)
 +
* pcmcia slot - only one.
  
 
Unfortunatly, a very few time after I bought this laptop, a lot of better versions of the R-series thinkpads arrived. I noticed, that the ''USB 1.1'' and sloppy ''Intel Graphics Chip'' where no good choice. Also the ACPI implementation is more than worse and IBM never really fixed it.
 
Unfortunatly, a very few time after I bought this laptop, a lot of better versions of the R-series thinkpads arrived. I noticed, that the ''USB 1.1'' and sloppy ''Intel Graphics Chip'' where no good choice. Also the ACPI implementation is more than worse and IBM never really fixed it.
Line 23: Line 53:
  
 
==Links==
 
==Links==
* [https://wiki.ubuntu.com/LaptopTestingTeam/ThinkpadR31 Ubuntu Laptop Testing Team]
+
I am only posting newer links for this notebook, due a lot of pages out there are fairly outdated:
 +
* [https://wiki.ubuntu.com/LaptopTestingTeam/ThinkpadR31 Ubuntu Laptop Testing Team (ubuntu breezy)]
 +
* [http://learn.clemsonlinux.org/wiki/Laptops:IBM_Thinkpad_R31 suse 10.1]
 +
* One of the oldest, but first pages: [http://lpn.rnbhq.org/R31/R31.shtml Robos]
 +
* ...
  
 
==dmidecode==
 
==dmidecode==
Line 87: Line 121:
 
  01:09.0 CardBus bridge: Texas Instruments PCI1410 PC card Cardbus Controller (rev 02)
 
  01:09.0 CardBus bridge: Texas Instruments PCI1410 PC card Cardbus Controller (rev 02)
  
PCMCIA Wlan Netgear WPN511:
+
==Bios==
02:00.0 Ethernet controller: Atheros Communications Inc. AR5212/AR5213 Multiprotocol MAC/baseband processor (rev 01)
+
===Settings===
===Bios===
 
'''Settings'''
 
 
* Floppy, Serial Port, Parallel Port and Infrared Port are '''disabled'''
 
* Floppy, Serial Port, Parallel Port and Infrared Port are '''disabled'''
 
* The PCI Settings are all set to '''auto''' (do ''not'' set the IRQs manually)
 
* The PCI Settings are all set to '''auto''' (do ''not'' set the IRQs manually)
  
'''Custom ACPI table for linux'''
+
===Custom ACPI table for linux===
The bios ''acpi'' is buggy. I use the latest '''Version 3.110 1FETF1WW''' of ''2004-11-16'' and fixed it.
+
The bios ''acpi'' is buggy. Since I fixed it, my system is almost stable (some IRQ problems remain).
* Read the documentation e.g. of [https://help.ubuntu.com/community/ACPIBattery ubuntu] for this general task.
+
 
* Use this ''[https://wiki.blue-it.org/images/DSDT.zip DSDT.zip (contains the fixed DSDT.aml for the above BIOS only)]'', '''unzip it''' and put it into the ''/etc/initramfs-tools'' directory. Afterwards you have to add the kernel option ''acpi_no_auto_ssdt
+
I use the latest Bios '''Version 3.110 1FETF1WW''' of ''2004-11-16'' and fixed the acpi table manually (which is not a trivial task).
 +
* !!! Read the [https://help.ubuntu.com/community/ACPIBattery documentation e.g. of ubuntu] for this general task.
 +
* Use my ''[http://wiki.blue-it.org/images/DSDT.zip DSDT.zip (contains the fixed DSDT.aml for the above Bios and my R31 model only)]'', '''unzip it''' and put it into the ''/etc/initramfs-tools'' directory.  
 +
* Download the ''dsdt.dsl'' (!.dsl) from [http://acpi.sourceforge.net/dsdt/view.php?manufacturer=IBM acpi.sourceforge] and compile yourself. Unfortunately the dsdt.asl for my model is not usable.
 +
* Afterwards you have to add the kernel option ''acpi_no_auto_ssdt
 
'' (for kernel 2.6.24 and newer) and recreate your ''initramfs''.
 
'' (for kernel 2.6.24 and newer) and recreate your ''initramfs''.
 
  sudo unzip /wherever_downloaded/DSDT.zip -d /etc/initramfs-tools
 
  sudo unzip /wherever_downloaded/DSDT.zip -d /etc/initramfs-tools
  sudo update-initramfs -c -k `uname -r`
+
  sudo update-initramfs -c -k $(uname -r)
  
After reboot your dmesg should show something like
+
'''TEST:''' After reboot your dmesg should show something like
 
  root@ibmr31:~# dmesg | grep DSDT
 
  root@ibmr31:~# dmesg | grep DSDT
 
  [  885.444768] ACPI: Looking for DSDT in initramfs... successfully read 20423 bytes from /DSDT.aml.
 
  [  885.444768] ACPI: Looking for DSDT in initramfs... successfully read 20423 bytes from /DSDT.aml.
 
  [  885.444823] ACPI: Table DSDT replaced by host OS
 
  [  885.444823] ACPI: Table DSDT replaced by host OS
  
Now you are shure, your new DSDT was loaded.
+
Now can be sure, your new DSDT was loaded.
 +
 
 +
==External Hardware==
 +
===Webcam===
 +
I use an '''Logitech Quickcam DeLuxe Notebook''' using the ''gscpa'' driver
 +
cd /usr/src
 +
apt-get install gscpa-source
 +
tar xjvf gspca.tar.bz2
 +
module-assistent a-i gscpa
 +
 
 +
Unfortunatly this cam uses to crash randomly with the NEC pcmcia USB 2.0 card. Also the pcmcia slot is used by the wireless card ... so the "notebook" webcam sits upon my desktop pc ;(
 +
 
 +
===PCMCIA Wireless===
 +
Using a netgear WPN511 54Mbs pcmcia card (Range Max, but 108Mbs not working for me). The output of ''lspci'' is:
 +
02:00.0 Ethernet controller: Atheros Communications Inc.
 +
        AR5212/AR5213 Multiprotocol MAC/baseband processor (rev 01)
 +
 
 +
For ubuntu hardy i needed to get the actual madwifi (atheros) driver to get the card working, the 8,04 atherors drivers are not up to date:
 +
apt-get install madwifi-tools linux-restricted-modules-$(uname -r)
 +
 
 +
Now invoke this little script (or exec line by line)
 +
#!/bin/bash
 +
MADWIFI="madwifi-nr-r3366+ar5007.tar.gz"
 +
 +
sudo apt-get update
 +
sudo apt-get install build-essential
 +
[ -e ${MADWIFI} ] || wget 'http://snapshots.madwifi.org/special/${MADWIFI}'
 +
[ -e ${MADWIFI} ] || tar zxvf madwifi-nr-r3366+ar5007.tar.gz
 +
cd madwifi-nr-r3366+ar5007
 +
make clean
 +
make
 +
sudo make install
 +
 
 +
Reboot the machine and enjoy stable wlan ;)
 +
 
 +
===New burner in ultrabay===
 +
Bought a standard slimline dvd burner from ''Teac'' for about 80 € / 60 $, applied the parts from the original CD/DVD. I simply took the old ultrabay cd/dvd combo to the dealer and looked about a matching slimline burner ;)
 +
 
 +
I had to fiddle around a little bit with the outside cover to fit, but it works like a charme for years now:
 +
* TEAC DVD Model No. SD-R6472
 +
 
 +
=Ubuntu Hardy / 8.10=
 +
==Xorg==
 +
There occured major problems due to the new Xorg driver for the intel graphics chipset. Most problems had gone since 8.04 but there are artifacts that make life harder and are looking very ugly. The problem may be fixed by enabling the XAA rendering engine (default is EXA).
 +
 
 +
--[[User:Apos|Apos]] 13:23, 10 March 2009 (CET)
 +
 
 +
So here's the xorg.conf that fixes those problems and (!) enables the dual screen function, if you attach a monitor on the laptops vga output connector:
 +
# xorg.conf (X.Org X Window System server configuration file)
 +
#
 +
# This file was generated by dexconf, the Debian X Configuration tool, using
 +
# values from the debconf database.
 +
#
 +
# Edit this file with caution, and see the xorg.conf manual page.
 +
# (Type "man xorg.conf" at the shell prompt.)
 +
#
 +
# This file is automatically updated on xserver-xorg package upgrades *only*
 +
# if it has not been modified since the last upgrade of the xserver-xorg
 +
# package.
 +
#
 +
# 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 "ServerFlags"
 +
# Scrolling with trackpoint and middle mouse button.
 +
# Needs the pecial ntries for the mouse in InputDevice Section.
 +
# New xorg device detection is driven by hal only.
 +
# This make the behaviour working again.
 +
Option "AutoAddDevices" "false"
 +
EndSection
 +
 +
Section "InputDevice"
 +
Identifier "Configured Mouse"
 +
Driver "mouse"
 +
# Scrolling with trackpoint and middle mouse button.
 +
Option          "ZAxisMapping"          "4 5"
 +
        Option          "Emulate3Buttons"      "true"
 +
        Option          "EmulateWheel"          "true"
 +
        Option          "EmulateWheelButton"    "2"
 +
EndSection
 +
 +
 +
Section "InputDevice"
 +
Identifier "Generic Keyboard"
 +
Driver "kbd"
 +
Option "XkbRules" "xorg"
 +
Option "XkbModel" "pc105"
 +
Option "XkbLayout" "de"
 +
EndSection
 +
 +
Section "Screen"
 +
Identifier "Configured Screen Device"
 +
Device "Configured Video Device"
 +
DefaultDepth    16
 +
SubSection "Display"
 +
Virtual 2048 768
 +
EndSubSection
 +
EndSection
 +
 +
Section "Device"
 +
Identifier "Configured Video Device"
 +
Option "DRI" "true"
 +
Option "AccelMethod" "XAA"
 +
Option "XAANoOffScreenPixmaps" "1"
 +
Option "XaaNoPixmapCache"
 +
 +
EndSection
 +
 
 +
== Skype and Logitech Quickcam Notebook ==
 +
The cam gives me
 +
# lsusb
 +
046d:08d8 Logitech, Inc. QuickCam for Notebook Deluxe
 +
 
 +
It has a very clear and sharp picture and a good build in microphone and is only suitable for fixation on top of thin laptop screens.
 +
 
 +
Due to the thread "[http://ubuntuforums.org/showthread.php?t=914952 Skype crash when I start my webcam]" I thried to start skype with the option:
 +
env LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype
 +
 
 +
Somethimes i can get the thing to work, sometimes not.
 +
 
 +
== Skype and Logitech E2500 Webcam with gstfakevideo ==
 +
Skype permanently crashed on video chats. The follwing article led me into the solution:
 +
* [http://forum.ubuntuusers.de/topic/howto:-skype-und-logitech-e2500-webcam-via-gs/ HOWTO: Skype und Logitech E2500 Webcam via GSPCA]
 +
* Original thread: [http://www.actionshrimp.com/2008/08/logitech-quickcam-e2500-on-ubuntu-skype/ Logitech QuickCam E2500 on Ubuntu Skype]
 +
 
 +
FIRST Install the "gspca.ko" driver mentioned in the original thread above.
 +
 
 +
THEN login as root in a terminal
 +
sudo su
 +
cd /usr/src
 +
 
 +
Download an install gstfakevideo (which will later start your skype):
 +
sudo apt-get update
 +
sudo apt-get install libgstreamer0.10-dev gstreamer-tools svn-buildpackage
 +
svn checkout http://gstfakevideo.googlecode.com/svn/trunk/ gstfakevideo
 +
cd gstfakevideo
 +
make
 +
sudo make install
 +
 
 +
Alter your skype starter in your gnome menu with this command (you can test it previously in a terminal)
 +
sudo mv /dev/video0 /dev/video1
 +
gstfakevideo v4lsrc device=/dev/video1 ! ffmpegcolorspace
 +
 
 +
That's it. No mor hasssle. No crashes any more ;)
  
 
=Ubuntu Hardy / 8.04=
 
=Ubuntu Hardy / 8.04=
Remark: This sections only show the differences to the gutsy / 7.10 installation.
+
Remark: This sections mainly shows the differences to the gutsy / 7.10 installation.
 
==Kernel==
 
==Kernel==
* Use the kernel parameters as shown in Gutsy. Mine are:
+
===Boot parameter===
 +
* Use the kernel parameters as shown in Gutsy. Be aware that no linebreaks in ''/boot/grub/menu.lst'' are allowed for ''# kopt ...'':
 
  # kopt=root=UUID="YOUR_UUID" irqpoll i8042.nomux=1 acpi_no_auto_ssdt
 
  # kopt=root=UUID="YOUR_UUID" irqpoll i8042.nomux=1 acpi_no_auto_ssdt
  acpi_sleep=s3_bios ec_intr=0 splash quiet ro locale=de_DE
+
  acpi_sleep=s3_bios hpet=force splash quiet ro locale=de_DE
* The existance of the custom ACPI table "/etc/initramfs-tools/DSDT.aml" is not used by default by initramfs-tools any more (kernel 2.6.24 and newer). Therefore you must specify the "acpi_no_auto_ssdt" parameter so that the custum DSDT is compiled into the initramfs file of the kernel.
+
* "acpi_sleep=s3_bios" - for hibernation to function properly use
* For hibernation to function properly use "acpi_sleep=s3_bios"
+
Then do
 +
update-grub
 +
which applies these setting automatically to all kernels.
 +
* "acpi_no_auto_ssdt" - for custom DSDT.aml to apply
 +
* "hpet=force" - power managment
 +
* "ec_intr=0" - for some thinkpads when hanging on suspend/resume (don't really now if this applies to other R31/R30 laptop - I don't need it)
 +
 
 +
===Buggy ACPI===
 +
* The existance of the custom ACPI table "/etc/initramfs-tools/DSDT.aml" is not used by default by initramfs-tools any more (kernel 2.6.24 and newer). Therefore you must specify the "acpi_no_auto_ssdt" as boot parameter so that the custum DSDT is compiled into the initramfs file of the kernel.
 +
-> Please read the [http://wiki.blue-it.org/Thinkpad_R31#Custom_ACPI_table_for_linux section above] for creating a custom DSDT.
 +
 
 +
===Kernel generic===
 
* It is NOT necessary any more to use the i386 Kernel. The "generic" flavour (default) runs fine.
 
* It is NOT necessary any more to use the i386 Kernel. The "generic" flavour (default) runs fine.
 +
===Usplash===
 
* usplash run's fine - there is no interfere with Xorg and no need to remove the "splash" kernel parameter.
 
* usplash run's fine - there is no interfere with Xorg and no need to remove the "splash" kernel parameter.
  
 
== ACPI - power management ==
 
== ACPI - power management ==
 
=== General Info===
 
=== General Info===
'''''Attention''''': ubuntu hardy/8.04 uses ''pm-utils'' package for hibernation/suspend.
+
'''''Attention pm-utils:''''' ubuntu hardy/8.04 uses ''pm-utils'' package for hibernation/suspend. The scripts are located in ''/usr/lib/pm-utils/'' and all customizations in ''/etc/pm/''. Despite many other posts editing the file ''/etc/default/acpi-support'' like in gutsy/7.10 has NO effect any more in hardy/8.04!
The scripts are located in ''/usr/lib/pm-utils/'' and all customizations in ''/etc/pm/''.
+
 
 +
Please read e.g. [http://en.opensuse.org/Pm-utils here] about how ''pm-utils'' work. You can also call ''man pm-suspend'' in a console window to get informations.
  
 
Very good infos for kernel 2.24 are here:
 
Very good infos for kernel 2.24 are here:
Line 137: Line 331:
  
 
For harddisk I use the option ''noatime''.
 
For harddisk I use the option ''noatime''.
 +
 +
===Adding pm-utils ''quirks'' for ''HAL''===
 +
Links:
 +
* [http://www.thinkwiki.org/wiki/Installing_Ubuntu_8.04_(Hardy_Heron)_on_a_ThinkPad_T61]
 +
* [http://www.thinkwiki.org/wiki/Problem_with_display_remaining_black_after_resume#Solution_for_ThinkPads_with_Intel_I830_Chipset ]
 +
* [http://www.thinkwiki.org/wiki/Category:R31]
 +
 +
For suspend getting to work properly with ''hal'' (the hardware abstraction layer), we need to activate the appropriate informations - so called ''quirks'' - into an ''.fdi'' file specifying
 +
# the exact model infomation of our machine
 +
# the quirks to apply
 +
 +
These ''quirks'' could be set individually in
 +
  /etc/pm/config.d/config
 +
 +
Mine are disabled:
 +
#DISPLAY_QUIRK_S3_BIOS="true"
 +
#DISPLAY_QUIRK_DPMS_ON="false"
 +
#DISPLAY_QUIRK_VBESTATE_RESTORE="false"
 +
#DISPLAY_QUIRK_VBEMODE_RESTORE="false"
 +
#DISPLAY_QUIRK_RESET_BRIGHTNESS="false"
 +
 +
The reason is, because a better way is to add the quirks right into hal's hardware list.
 +
 +
Find out your model information. My notebook type is an ''2656-65G''. So I do:
 +
$ hal-device | grep 2656
 +
system.hardware.product = '265665G'  (string)
 +
This gets me the product number used by hal (265665G) and the type (string).
 +
 +
We are adding this to the following file, that already lists a lot of other notebooks from ibm:
 +
vim /usr/share/hal/fdi/information/10freedesktop/20-video-quirk-pm-ibm.fdi
 +
 +
      <!-- R31 -->
 +
      <match key="system.hardware.product" string="265665G">
 +
        <!-- Bios Version 3.110 -->
 +
        <match key="system.firmware.version" prefix="1FETF1WW">
 +
            <!-- only for hibernation - supend does not work -->
 +
            <merge key="power_management.quirk.s3_bios" type="bool">true</merge>
 +
            <merge key="power_management.quirk.dpms_suspend" type="bool">false</merge>
 +
            <merge key="power_management.quirk.vbestate_restore" type="bool">false</merge>
 +
            <merge key="power_management.quirk.vbemode_restore" type="bool">false</merge>
 +
          </match>
 +
      </match>
 +
 +
Now restart the ''hal'' service:
 +
/etc/init.d/hal restart
 +
 +
You can check, if the settings applied:
 +
$ hal-device | grep quirk
 +
  power_management.quirk.s3_bios = true  (bool)
 +
  power_management.quirk.dpms_suspend = false  (bool)
 +
  power_management.quirk.vbestate_restore = false  (bool)
 +
  power_management.quirk.vbemode_restore = false  (bool)
  
 
===Gnome===
 
===Gnome===
 
* Set the according section of the cpu scaling to ''ondemand'' in power management settings.
 
* Set the according section of the cpu scaling to ''ondemand'' in power management settings.
 +
* Disable the suspend action.
  
 
=== Hibernation ===
 
=== Hibernation ===
 
Hibernation works now (hardy). Two minor problems remain:
 
Hibernation works now (hardy). Two minor problems remain:
# [https://bugs.launchpad.net/ubuntu/+source/acpi-support/+bug/28959 Screen stays blank after resume from suspend] - I pointed out my suggestions [https://bugs.launchpad.net/ubuntu/+source/acpi-support/+bug/28959/comments/29 here] . Or manually switch with Ctrl+F7 or F9 to the X console.
+
# [https://bugs.launchpad.net/ubuntu/+source/acpi-support/+bug/28959 Screen stays blank after resume from suspend] - I pointed out my suggestions [https://bugs.launchpad.net/ubuntu/+source/acpi-support/+bug/28959/comments/29 here] . Or manually switch with Ctrl+F7 or F9 to the X console. This solution might be wrong because the scripts in ''/etc/acpi/sleep.d/'' should not be used in hardy.
 
# '''No sound after resume''' from hibernation. I posted the solution [https://bugs.launchpad.net/ubuntu/+bug/198218 in bug #198218].
 
# '''No sound after resume''' from hibernation. I posted the solution [https://bugs.launchpad.net/ubuntu/+bug/198218 in bug #198218].
  
Line 150: Line 397:
  
 
== Xorg==
 
== Xorg==
Trouble is a little bit less since I filed a bug at freedesktop.org and ubuntu launchpad. The problem still persists, but it is posible to use the PC now with e.g. compiz without a freeze. DRI is not usable after a cold boot. Only after preinitialized on another linux, where DRI runs followed by a warm reboot.
+
[Update --[[User:Apos|Apos]] 11:33, 14 June 2008 (CEST)]
 +
 
 +
bug 14528 is back.  
 +
DRI not working in 8.04. System freezes. ;(
 +
----
 +
 
  
[Update --[[User:Apos|Apos]] 11:33, 14 June 2008 (CEST)] bug 14528 is back ;(
+
DRI is not usable after a cold boot. I filed a bug at freedesktop.org and ubuntu launchpad. The system freezes upon X start.
  
 
See:
 
See:
Line 159: Line 411:
  
 
=== xorg.conf ===
 
=== xorg.conf ===
This file is much more easier since the use of the "intel" driver (no DRI so far).
+
This file is much shorter since 7.10 and the use of the "intel" driver (no DRI so far). This means you cannot use compiz or metacities composite extension. (see next section for a quick hack enabling compiz).
  
 
Basic changes:
 
Basic changes:
 
* intel driver cares of most settings automatically now
 
* intel driver cares of most settings automatically now
* use of default depth 16 for chipset i830M (R31) - 24 will give you trouble, trouble, trouble and less quality
+
* use of default ''depth 16'' for the chipset of the i830M (R31) is MANDATORY. Depth 24 will give you trouble, trouble, trouble and less quality.
 +
* DRI disabled
  
 
  Section "InputDevice"
 
  Section "InputDevice"
Line 186: Line 439:
 
  Identifier "Configured Video Device"
 
  Identifier "Configured Video Device"
 
  Driver "intel"
 
  Driver "intel"
# Option "DRI" "false"    # in case of a freeze
+
Option "DRI" "false"    # in case of a freeze ubuntu 8.04
#Option "AccelMethod"  "XAA"
 
 
  Option "DPMS"
 
  Option "DPMS"
 
  EndSection
 
  EndSection
Line 200: Line 452:
 
         DefaultDepth    16                # do not EVER use 24 for i830M
 
         DefaultDepth    16                # do not EVER use 24 for i830M
 
  EndSection
 
  EndSection
 +
 +
=== xorg.conf with EXA ===
 +
There is a quick hack for using e.g. the metacity composite extension, but not DRI, which would cause the system to hang.
 +
 +
Add the following to the ''Device'' section of the xorg.conf:
 +
Option "AccelMethod"  "exa"
 +
Option "MigrationHeuristic" "greedy"
 +
Option "ExaNoComposite" "false"
 +
 +
Be aware, that this is just a hack for using the composite extension. It would be incredibly slow for opengl applikations because hardware acceleration the i830M chipset would be able to do is not used!
 +
 +
=== Compiling intel driver from git===
 +
If you know what you are doing, you can compile the ''intel'' driver from ''git'' repository:
 +
#!/bin/bash
 +
 +
/etc/init.d/gmd stop
 +
 +
sudo apt-get install git-core autoconf automake libtool
 +
sudo apt-get install xorg-dev libdrm-dev mesa-common-dev build-essential
 +
 +
cd /tmp
 +
git clone git://anongit.freedesktop.org/git/xorg/driver/xf86-video-intel
 +
cd xf86-video-intel
 +
 +
sh autogen.sh
 +
make
 +
 +
sudo cp /usr/lib/xorg/modules/drivers/intel_drv.so /usr/lib/xorg/modules/drivers/intel_drv.so.backup
 +
sudo cp src/.libs/intel_drv.so /usr/lib/xorg/modules/drivers/intel_drv.so
 +
 +
/etc/init.d/gmd start
  
 
=Ubuntu Gutsy / 7.10=
 
=Ubuntu Gutsy / 7.10=
Line 247: Line 530:
  
 
==Usplash==
 
==Usplash==
''Direct rendering'' might be (!) broken, if you use ''usplash''.
+
''Direct rendering'' might (!) be broken, if you use ''usplash''.
 
* Uninstall ''usplash''
 
* Uninstall ''usplash''
 
  apt-get remove usplash && update-initramfs -c -k `uname -r`
 
  apt-get remove usplash && update-initramfs -c -k `uname -r`
Line 253: Line 536:
 
==Thinkpad buttons==
 
==Thinkpad buttons==
 
Don't seem to work with actual 2.6.22 kernels due to "new and fixed" ''thinkpad-acpi'' (former ''ibm-acpi'') modules. The problem is, that these "fixes" seam to make the buttons unusable - not just on this kind of older thinkpad model.
 
Don't seem to work with actual 2.6.22 kernels due to "new and fixed" ''thinkpad-acpi'' (former ''ibm-acpi'') modules. The problem is, that these "fixes" seam to make the buttons unusable - not just on this kind of older thinkpad model.
 +
 +
For ''volume-control'' I use the keyboard shortcut settings of gnome in conjunction with the back/forward buttons on the lower right side of the keyboard.
  
 
==/etc/network/interfaces==
 
==/etc/network/interfaces==
Line 568: Line 853:
 
   15:      45580    XT-PIC-XT        libata
 
   15:      45580    XT-PIC-XT        libata
  
==External Hardware==
+
[[Category:Hardware]]
===Webcam===
+
[[Category:Thinkpad]]
I use an Logitech Quickcam DeLuxe using the ''gscpa'' driver
+
[[Category:Ubuntu]]
cd /usr/src
 
apt-get install gscpa-source
 
tar xjvf gspca.tar.bz2
 
module-assistent a-i gscpa
 
 
 
Unfortunatly this cam uses to crash with the NEC pcmcia USB 2.0 card.
 

Latest revision as of 20:29, 2 November 2013

Important.png Warning

I am not responsible for any damage on your computer in any way, neither due to lack of appropriate knowledge nor any other reason. So please first read deeper into the subject before changing a running system.

Xubuntu 11.10

--Apos 00:05, 31 January 2012 (CET)

XFCE without Compiz runs on this Hardwre like a charme - again!

Nevertheless I am selling it on ebay now. By bye IBM R31 bye bye - we had some hard times, and good times, yu brought me to my informatik science studies, all the time. I will stay an ThinkPad-guy ;)

Updates (Ubuntu Lucid / 10.04)

Most of this page is fairly outdated.

E.g. Ubuntu 10.04 or newer installs without any problem onto this notebook (R31). Everything works out of the box!

UPDATE: due to errors with updates of Ubuntu 10.04 and a new intel driver, 3D/GLX ist broken. If you need OpenGL, stay with Ubuntu 9.10. This chipset suffers from the "White Screen of death" bug.

Nevertheless this notebook is not the best choice for linux - don't buy a used one! I recommend the older T4x series or the newer Thinkpad T61 with the Nvidia graphic chip. In any case avoid buying notebooks with older ATI graphic chips. They are not supported any more (neither in Linux nor in Windows 7)!!!

The drawbacks:

1. since Ubuntu 9.04 the accelerated Hardware (DRI/DRI2) for the i810M graphics chip is broken - and will be broken for the future too! The reason: Intel is not really working on a solution for this chip any more, it is too old.

To make it short: you can NOT (!) use 3D windows managers like compiz, opengl, accelerated video playback or anything related to this. Nevertheless the standard vesa display driver works fairly well with standard office usage.

2. The Thinkpad buttons for volume control are not working any more due to the newer thinkpad acpi implementation (it just works for sound off/on, but no volume control). An easy solution: Map the FN+CursorLeft / FN+CursorRight buttons to this function. The Ubuntu key combination settings are your friend ;)

--Apos 10:48, 27 September 2010 (CEST)

General Hardware Info

R31.png

The article is for linux operation system only - mainly on Ubuntu. If you are on Ubuntu Hardy (8.10), you should only read that part, the same applies to Ubuntu Gutsy (7.10).

This is a Thinkpad R31 2656-65G with

  • PIII M(obile) Intel Prozessor 1133 MHz - 512 KB cache (alternate link)
  • 1024MB Ram (max)
  • (not very powerful) Intel i830 Grafics prozessor
  • 100 Mbs Network
  • 2 x USB 1.1
  • No wlan (using Netgear WPN511 pcmcia card)
  • Trackpoint (no touchpad)
  • Bios Version 3.110 1FETF1WW (2004-11-16, Embedded Controller Version 02.29.12)
  • Mini PCI slot (only a short list of devices usable - please read this post and in thinkwiki
  • irda - NOT working for me (should do)
  • pcmcia slot - only one.

Unfortunatly, a very few time after I bought this laptop, a lot of better versions of the R-series thinkpads arrived. I noticed, that the USB 1.1 and sloppy Intel Graphics Chip where no good choice. Also the ACPI implementation is more than worse and IBM never really fixed it.

Within the next years with excessive use during my studies in computer science I had a lot of trouble getting the direct rendering and stable USB support running. This happens arround the time when the new 2.6 kernel series and the new Xserver (after 6.8) came up.

Nevertheless this is a thinkpad in best traditions, easy to use, comfortable and with excellent support. The latter I had to use 2 times replacing my motherboard.

Links

I am only posting newer links for this notebook, due a lot of pages out there are fairly outdated:

dmidecode

dmidecode get's the following

BIOS Information
       Vendor: IBM
       Version: 1FETF1WW (3.110)
       Release Date: 11/16/2004
       Address: 0xF0000
       Runtime Size: 64 kB
       ROM Size: 512 kB
       Characteristics:
               ISA is supported
               PCI is supported
               PC Card (PCMCIA) is supported
               PNP is supported
               APM is supported
               BIOS is upgradeable
               BIOS shadowing is allowed
               Boot from CD is supported
               Selectable boot is supported
               EDD is supported
               Japanese floppy for NEC 9800 1.2 MB is supported (int 13h)
               Japanese floppy for Toshiba 1.2 MB is supported (int 13h)
               3.5"/720 KB floppy services are supported (int 13h)
               3.5"/2.88 MB floppy services are supported (int 13h)
               Print screen service is supported (int 5h)
               8042 keyboard services are supported (int 9h)
               Serial services are supported (int 14h)
               Printer services are supported (int 17h)
               CGA/mono video services are supported (int 10h)
               ACPI is supported
               AGP is supported
               Smart battery is supported

and

Processor Information
       Socket Designation: U11
       Type: Central Processor
       Family: Pentium III
       Manufacturer: Intel
       [...]
       Signature: Type 0, Family 6, Model 11, Stepping 1
       Version: Pentium(R) III-M         
       Voltage: 1.6 V
       External Clock: 133 MHz
       Max Speed: 1133 MHz
       Current Speed: 1133 MHz

lspci

00:00.0 Host bridge: Intel Corporation 82830 830 Chipset Host Bridge (rev 04)
00:02.0 VGA compatible controller: Intel Corporation 82830 CGC [Chipset Graphics Controller] (rev 04)
00:02.1 Display controller: Intel Corporation 82830 CGC [Chipset Graphics Controller]
00:1d.0 USB Controller: Intel Corporation 82801CA/CAM USB Controller #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801CA/CAM USB Controller #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801CA/CAM USB Controller #3 (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 42)
00:1f.0 ISA bridge: Intel Corporation 82801CAM ISA Bridge (LPC) (rev 02)
00:1f.1 IDE interface: Intel Corporation 82801CAM IDE U100 Controller (rev 02)
00:1f.3 SMBus: Intel Corporation 82801CA/CAM SMBus Controller (rev 02)
00:1f.5 Multimedia audio controller: Intel Corporation 82801CA/CAM AC'97 Audio Controller (rev 02)
00:1f.6 Modem: Intel Corporation 82801CA/CAM AC'97 Modem Controller (rev 02)
01:08.0 Ethernet controller: Intel Corporation 82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller (rev 42)
01:09.0 CardBus bridge: Texas Instruments PCI1410 PC card Cardbus Controller (rev 02)

Bios

Settings

  • Floppy, Serial Port, Parallel Port and Infrared Port are disabled
  • The PCI Settings are all set to auto (do not set the IRQs manually)

Custom ACPI table for linux

The bios acpi is buggy. Since I fixed it, my system is almost stable (some IRQ problems remain).

I use the latest Bios Version 3.110 1FETF1WW of 2004-11-16 and fixed the acpi table manually (which is not a trivial task).

(for kernel 2.6.24 and newer) and recreate your initramfs.

sudo unzip /wherever_downloaded/DSDT.zip -d /etc/initramfs-tools
sudo update-initramfs -c -k $(uname -r)

TEST: After reboot your dmesg should show something like

root@ibmr31:~# dmesg | grep DSDT
[  885.444768] ACPI: Looking for DSDT in initramfs... successfully read 20423 bytes from /DSDT.aml.
[  885.444823] ACPI: Table DSDT replaced by host OS

Now can be sure, your new DSDT was loaded.

External Hardware

Webcam

I use an Logitech Quickcam DeLuxe Notebook using the gscpa driver

cd /usr/src
apt-get install gscpa-source
tar xjvf gspca.tar.bz2
module-assistent a-i gscpa

Unfortunatly this cam uses to crash randomly with the NEC pcmcia USB 2.0 card. Also the pcmcia slot is used by the wireless card ... so the "notebook" webcam sits upon my desktop pc ;(

PCMCIA Wireless

Using a netgear WPN511 54Mbs pcmcia card (Range Max, but 108Mbs not working for me). The output of lspci is:

02:00.0 Ethernet controller: Atheros Communications Inc. 
       AR5212/AR5213 Multiprotocol MAC/baseband processor (rev 01)

For ubuntu hardy i needed to get the actual madwifi (atheros) driver to get the card working, the 8,04 atherors drivers are not up to date:

apt-get install madwifi-tools linux-restricted-modules-$(uname -r)

Now invoke this little script (or exec line by line)

#!/bin/bash
MADWIFI="madwifi-nr-r3366+ar5007.tar.gz"

sudo apt-get update
sudo apt-get install build-essential
[ -e ${MADWIFI} ] || wget 'http://snapshots.madwifi.org/special/${MADWIFI}'
[ -e ${MADWIFI} ] || tar zxvf madwifi-nr-r3366+ar5007.tar.gz
cd madwifi-nr-r3366+ar5007
make clean
make
sudo make install

Reboot the machine and enjoy stable wlan ;)

New burner in ultrabay

Bought a standard slimline dvd burner from Teac for about 80 € / 60 $, applied the parts from the original CD/DVD. I simply took the old ultrabay cd/dvd combo to the dealer and looked about a matching slimline burner ;)

I had to fiddle around a little bit with the outside cover to fit, but it works like a charme for years now:

  • TEAC DVD Model No. SD-R6472

Ubuntu Hardy / 8.10

Xorg

There occured major problems due to the new Xorg driver for the intel graphics chipset. Most problems had gone since 8.04 but there are artifacts that make life harder and are looking very ugly. The problem may be fixed by enabling the XAA rendering engine (default is EXA).

--Apos 13:23, 10 March 2009 (CET)

So here's the xorg.conf that fixes those problems and (!) enables the dual screen function, if you attach a monitor on the laptops vga output connector:

# xorg.conf (X.Org X Window System server configuration file)
#
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
#
# Edit this file with caution, and see the xorg.conf manual page.
# (Type "man xorg.conf" at the shell prompt.)
#
# This file is automatically updated on xserver-xorg package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xorg
# package.
#
# 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 "ServerFlags"
	# Scrolling with trackpoint and middle mouse button.
	# Needs the pecial ntries for the mouse in InputDevice Section.
	# New xorg device detection is driven by hal only.
	# This make the behaviour working again.
	Option		"AutoAddDevices"	"false"
EndSection

Section "InputDevice"
	Identifier	"Configured Mouse"
	Driver		"mouse"
	# Scrolling with trackpoint and middle mouse button.
	Option          "ZAxisMapping"          "4 5"
        Option          "Emulate3Buttons"       "true"
        Option          "EmulateWheel"          "true"
        Option          "EmulateWheelButton"    "2"
EndSection


Section "InputDevice"
	Identifier	"Generic Keyboard"
	Driver		"kbd"
	Option		"XkbRules"	"xorg"
	Option		"XkbModel"	"pc105"
	Option		"XkbLayout"	"de"
EndSection

Section "Screen"
	Identifier	"Configured Screen Device"
	Device	"Configured Video Device"
	DefaultDepth     16
	SubSection "Display"
		Virtual	2048 768
	EndSubSection
EndSection

Section "Device"
	Identifier	"Configured Video Device"
	Option		"DRI"		"true"
	Option		"AccelMethod"	"XAA"
	Option		"XAANoOffScreenPixmaps" "1"
	Option		"XaaNoPixmapCache"

EndSection

Skype and Logitech Quickcam Notebook

The cam gives me

# lsusb
046d:08d8 Logitech, Inc. QuickCam for Notebook Deluxe

It has a very clear and sharp picture and a good build in microphone and is only suitable for fixation on top of thin laptop screens.

Due to the thread "Skype crash when I start my webcam" I thried to start skype with the option:

env LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype

Somethimes i can get the thing to work, sometimes not.

Skype and Logitech E2500 Webcam with gstfakevideo

Skype permanently crashed on video chats. The follwing article led me into the solution:

FIRST Install the "gspca.ko" driver mentioned in the original thread above.

THEN login as root in a terminal

sudo su
cd /usr/src

Download an install gstfakevideo (which will later start your skype):

sudo apt-get update
sudo apt-get install libgstreamer0.10-dev gstreamer-tools svn-buildpackage
svn checkout http://gstfakevideo.googlecode.com/svn/trunk/ gstfakevideo
cd gstfakevideo
make
sudo make install

Alter your skype starter in your gnome menu with this command (you can test it previously in a terminal)

sudo mv /dev/video0 /dev/video1
gstfakevideo v4lsrc device=/dev/video1 ! ffmpegcolorspace

That's it. No mor hasssle. No crashes any more ;)

Ubuntu Hardy / 8.04

Remark: This sections mainly shows the differences to the gutsy / 7.10 installation.

Kernel

Boot parameter

  • Use the kernel parameters as shown in Gutsy. Be aware that no linebreaks in /boot/grub/menu.lst are allowed for # kopt ...:
# kopt=root=UUID="YOUR_UUID" irqpoll i8042.nomux=1 acpi_no_auto_ssdt
acpi_sleep=s3_bios hpet=force splash quiet ro locale=de_DE
  • "acpi_sleep=s3_bios" - for hibernation to function properly use

Then do

update-grub

which applies these setting automatically to all kernels.

  • "acpi_no_auto_ssdt" - for custom DSDT.aml to apply
  • "hpet=force" - power managment
  • "ec_intr=0" - for some thinkpads when hanging on suspend/resume (don't really now if this applies to other R31/R30 laptop - I don't need it)

Buggy ACPI

  • The existance of the custom ACPI table "/etc/initramfs-tools/DSDT.aml" is not used by default by initramfs-tools any more (kernel 2.6.24 and newer). Therefore you must specify the "acpi_no_auto_ssdt" as boot parameter so that the custum DSDT is compiled into the initramfs file of the kernel.

-> Please read the section above for creating a custom DSDT.

Kernel generic

  • It is NOT necessary any more to use the i386 Kernel. The "generic" flavour (default) runs fine.

Usplash

  • usplash run's fine - there is no interfere with Xorg and no need to remove the "splash" kernel parameter.

ACPI - power management

General Info

Attention pm-utils: ubuntu hardy/8.04 uses pm-utils package for hibernation/suspend. The scripts are located in /usr/lib/pm-utils/ and all customizations in /etc/pm/. Despite many other posts editing the file /etc/default/acpi-support like in gutsy/7.10 has NO effect any more in hardy/8.04!

Please read e.g. here about how pm-utils work. You can also call man pm-suspend in a console window to get informations.

Very good infos for kernel 2.24 are here:

According to this link, I put the following in /etc/rc.loacl (some mentioned in the above link don't work on my machine):

echo 5 > /proc/sys/vm/laptop_mode
echo 0 > /proc/sys/kernel/nmi_watchdog
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo 1500 > /proc/sys/vm/dirty_writeback_centisecs
for i in /sys/bus/usb/devices/*/power/autosuspend; do echo 1 > $i; done
hal-disable-polling --device /dev/scd0hal-disable-polling --device /dev/scd0

For harddisk I use the option noatime.

Adding pm-utils quirks for HAL

Links:

For suspend getting to work properly with hal (the hardware abstraction layer), we need to activate the appropriate informations - so called quirks - into an .fdi file specifying

  1. the exact model infomation of our machine
  2. the quirks to apply

These quirks could be set individually in

 /etc/pm/config.d/config

Mine are disabled:

#DISPLAY_QUIRK_S3_BIOS="true"
#DISPLAY_QUIRK_DPMS_ON="false"
#DISPLAY_QUIRK_VBESTATE_RESTORE="false"
#DISPLAY_QUIRK_VBEMODE_RESTORE="false"
#DISPLAY_QUIRK_RESET_BRIGHTNESS="false"

The reason is, because a better way is to add the quirks right into hal's hardware list.

Find out your model information. My notebook type is an 2656-65G. So I do:

$ hal-device | grep 2656
system.hardware.product = '265665G'  (string)

This gets me the product number used by hal (265665G) and the type (string).

We are adding this to the following file, that already lists a lot of other notebooks from ibm:

vim /usr/share/hal/fdi/information/10freedesktop/20-video-quirk-pm-ibm.fdi
     <match key="system.hardware.product" string="265665G">
        <match key="system.firmware.version" prefix="1FETF1WW">
           <merge key="power_management.quirk.s3_bios" type="bool">true</merge>
           <merge key="power_management.quirk.dpms_suspend" type="bool">false</merge>
           <merge key="power_management.quirk.vbestate_restore" type="bool">false</merge>
           <merge key="power_management.quirk.vbemode_restore" type="bool">false</merge>
         </match>
     </match>

Now restart the hal service:

/etc/init.d/hal restart

You can check, if the settings applied:

$ hal-device | grep quirk
 power_management.quirk.s3_bios = true  (bool)
 power_management.quirk.dpms_suspend = false  (bool)
 power_management.quirk.vbestate_restore = false  (bool)
 power_management.quirk.vbemode_restore = false  (bool)

Gnome

  • Set the according section of the cpu scaling to ondemand in power management settings.
  • Disable the suspend action.

Hibernation

Hibernation works now (hardy). Two minor problems remain:

  1. Screen stays blank after resume from suspend - I pointed out my suggestions here . Or manually switch with Ctrl+F7 or F9 to the X console. This solution might be wrong because the scripts in /etc/acpi/sleep.d/ should not be used in hardy.
  2. No sound after resume from hibernation. I posted the solution in bug #198218.

Supend to ram (sleep mode)

Does not work and system freezes upon wakeup. Disable in the power management settings.

Xorg

[Update --Apos 11:33, 14 June 2008 (CEST)]

bug 14528 is back. DRI not working in 8.04. System freezes. ;(



DRI is not usable after a cold boot. I filed a bug at freedesktop.org and ubuntu launchpad. The system freezes upon X start.

See:

xorg.conf

This file is much shorter since 7.10 and the use of the "intel" driver (no DRI so far). This means you cannot use compiz or metacities composite extension. (see next section for a quick hack enabling compiz).

Basic changes:

  • intel driver cares of most settings automatically now
  • use of default depth 16 for the chipset of the i830M (R31) is MANDATORY. Depth 24 will give you trouble, trouble, trouble and less quality.
  • DRI disabled
Section "InputDevice"
	Identifier	"Generic Keyboard"
	Driver		"kbd"
	Option		"XkbRules"	"xorg"
	Option		"XkbModel"	"pc105"
	Option		"XkbLayout"	"de"
EndSection

Section "InputDevice"
	Identifier	"Configured Mouse"
	Driver		"mouse"
        #Option          "Protocol"              "ImPS/2"
        Option          "ZAxisMapping"          "4 5"
        Option          "Emulate3Buttons"       "true"
        Option          "EmulateWheel"          "true"
        Option          "EmulateWheelButton"    "2"
EndSection

Section "Device"
	Identifier	"Configured Video Device"
	Driver		"intel"
	Option		"DRI"	"false"    # in case of a freeze ubuntu 8.04
	Option		"DPMS"
EndSection

Section "Monitor"
	Identifier	"Configured Monitor"
EndSection

Section "Screen"
	Identifier	"Default Screen"
	Monitor		"Configured Monitor"
       DefaultDepth    16                # do not EVER use 24 for i830M
EndSection

xorg.conf with EXA

There is a quick hack for using e.g. the metacity composite extension, but not DRI, which would cause the system to hang.

Add the following to the Device section of the xorg.conf: Option "AccelMethod" "exa" Option "MigrationHeuristic" "greedy" Option "ExaNoComposite" "false"

Be aware, that this is just a hack for using the composite extension. It would be incredibly slow for opengl applikations because hardware acceleration the i830M chipset would be able to do is not used!

Compiling intel driver from git

If you know what you are doing, you can compile the intel driver from git repository:

#!/bin/bash

/etc/init.d/gmd stop

sudo apt-get install git-core autoconf automake libtool
sudo apt-get install xorg-dev libdrm-dev mesa-common-dev build-essential

cd /tmp
git clone git://anongit.freedesktop.org/git/xorg/driver/xf86-video-intel
cd xf86-video-intel

sh autogen.sh
make

sudo cp /usr/lib/xorg/modules/drivers/intel_drv.so /usr/lib/xorg/modules/drivers/intel_drv.so.backup
sudo cp src/.libs/intel_drv.so /usr/lib/xorg/modules/drivers/intel_drv.so

/etc/init.d/gmd start

Ubuntu Gutsy / 7.10

Kernel boot parameter

There are some problems running this laptop with a modern 2.6.x linux kernels. Do not set the IRQs in the bios's PCI section manually or your xserver will fail with DRI.

The problems resulting in misbehaviour of your ethernet or usb are all related to a wrong ACPI table of your bios. This is a known bug for many bios's.

Please see

for additional informations about ACPI and the linux kernel.

i386 Version of ubuntu kernel

I am using the actual ubuntu 386 kernel 2.6.14-2-386.

apt-get install linux-image-386 linux-restricted-modules-386

But the generic version seams to run also with the applied changes in this section. (20:08, 25 December 2007 (CET))

Trackpoint

The trackpoint does erratic mouse movements out of the sudden

Solution:

  • add i8042.nomux=1 as kernel parameter

See

Failure on IRQ - unusable USB/Ethernet

An IRQ problem leaves the usb and ethernet bus unusable . The dmesg message is

dmesg | grep nobody
# irq 11: nobody cared (try booting with the "irqpoll" option)

Solution:

  • add irqpoll as kernel parameter (this works for my thinkpad submodel - it might not work for you)
  • adding noirqdebug will remove the debug messages

This leads into the following /boot/grub/menu.lst additions

## ## Start Default Options ##
## default kernel options
# [...]
# kopt= [...] ro irqpoll i8042.nomux=1

If you are using an pcmcia usb 2.0 card doing the following might restore the ethernet or usb port in case of a failure

modprobe -r ehci-hcd && modprobe ehci-hcd

Unfortunately the problems appeared for all linux 2.6 kernels by now. It also affects a lot of other thinkpad users. See Bug 8853 irq NN: nobody cared on ThinkPad X61T,T61.

Usplash

Direct rendering might (!) be broken, if you use usplash.

  • Uninstall usplash
apt-get remove usplash && update-initramfs -c -k `uname -r`

Thinkpad buttons

Don't seem to work with actual 2.6.22 kernels due to "new and fixed" thinkpad-acpi (former ibm-acpi) modules. The problem is, that these "fixes" seam to make the buttons unusable - not just on this kind of older thinkpad model.

For volume-control I use the keyboard shortcut settings of gnome in conjunction with the back/forward buttons on the lower right side of the keyboard.

/etc/network/interfaces

With support for tuntap, used by virtualbox. Change a_username with the user that uses the tapX device with virtualbox or other emulator software.

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet manual

# The primary network interface
auto tap0
iface tap0 inet manual
 tunctl_user a_username
 uml_proxy_arp ibmr31
 uml_proxy_ether eth0

# - install more if necessary
# - don't forget to add them to br0
# auto tap1
# iface tap1 inet manual
#  tunctl_user a_username
#  uml_proxy_arp this_server
#  uml_proxy_ether eth0
   
# bridge
auto br0
iface br0 inet dhcp
 address 192.168.0.11
 netmask 255.255.255.0
 gateway 192.168.0.254
 bridge_ports eth0 tap0
 bridge_maxwait 0

Xorg

GLX and DRI works, but it is a little buggy and not very performant. I don't recommend using compiz (desktop effects). Also compiz uses a few percent (~2 %) of additional cpu power and causes some artifacts in some OpenGL applications, like e.g. celestia or stellarium.

Troubleshooting

I had some real trouble getting X11 with direct rendering to work after a system upgrade of the xserver occured. X11 hung and the whole system froze. I assume that the main reason for this is the buggy ACPI implementation found in this - and many other - machines. But it also might be a bug in the xserver-xorg drivers from intel.

See also here:

With a fresh gutsy install everything is fine. After the online update, things are going worse.

If (!) this happens boot in safe mode and temporarily use the following option in your xorg.conf

Section "Device"
     Option    "noaccel"   "true"

for starting the xserver.

Heres what I did to things fixed permanently

Prerequesites: Use the fixed ACPI table from the Bios section above !!!

1. I removed usplash and run update-initramfs for the used kernel flavours on the machine. You can try to leave this step, probably your system works with usplash (mine did not).

apt-get remove usplash usplash-theme-ubuntu
update-initramfs -c -k $(uname -r)

2. I reinstalled the xserver-xorg-video-intel driver package and xorg-video-core from the gutsy installation CD.

cd /where/the/xserver-xorg-video-*-files-are-on-Install-CD
dpkg -i xserver-xorg-core* xserver-xorg-video-*

It might be additionally necessary to uninstall the xserver-xorg-video-intel and only use the xserver-xorg-video-i810 driver

apt-get remove xserver-xorg-video-intel

You then have to use the i810 driver in the xorg.conf instead of the intel driver.

3. Take care, that the xserver-xorg files are not updated. Therefore edit the 50unattended-upgrades file from the package manager.

nano /etc/apt/apt.conf.d/50unattended-upgrades
// never update the packages in this list
Unattended-Upgrade::Package-Blacklist {
//      "vim";
        "xserver-xorg-video-intel";
        "xserver-xorg-video-i810";
        "xserver-xorg-video-all";
        "xserver-xorg-core";
        "xserver-xorg";
}

4. I rebooted the machine

Now the Xserver should work with direct rendering.

X11

Trackpoint

The trackpoint can be configured specially for scrolling in conjunction with the middle mouse button. See the xorg.conf in one of the following sections.

Section "InputDevice"
[...]
      Option          "ZAxisMapping"          "4 5"
      Option          "YAxisMapping"          "4 5"
      Option          "XAxisMapping"          "6 7"
      Option          "EmulateWheel"          "true"
      Option          "EmulateWheelButton"    "2"

Please read the following article for more informations about using the trackpoint: Thinkwiki - Configure the TrackPoint

xorg.conf

# /etc/X11/xorg.conf (xorg X Window System server configuration file)
#
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
#
# Edit this file with caution, and see the xorg.conf(5) manual page.
# (Type "man xorg.conf" at the shell prompt.)
#
# This file is automatically updated on xserver-xorg package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xorg
# package.
#
# 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 "Files"
       FontPath        "/usr/share/fonts/X11/misc"
       # FontPath      "/usr/share/fonts/X11/cyrillic"
       FontPath        "/usr/share/fonts/X11/100dpi/:unscaled"
       FontPath        "/usr/share/fonts/X11/75dpi/:unscaled"
       FontPath        "/usr/share/fonts/X11/Type1"
       FontPath        "/usr/share/fonts/X11/100dpi"
       FontPath        "/usr/share/fonts/X11/75dpi"
       FontPath        "/usr/share/fonts/X11/encodings"
       # path to defoma fonts
       FontPath        "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
EndSection

Section "Module"
       #Load   "i2c"
       #Load   "bitmap"
       #Load   "ddc"
       #Load   "extmod"
       #Load   "freetype"
       Load    "glx"     #STANDARD
       #Load   "int10"
       #Load   "vbe"
       #Load   "dbe"     # from Suse 10.3
       Load    "GLcore"  #STANDARD
       Load    "dri"     #STANDARD
       Load    "v4l"     #STANDARD
EndSection

Section "InputDevice"
       Identifier      "Generic Keyboard"
       Driver          "kbd"
       Option          "CoreKeyboard"
       Option          "XkbRules"      "xorg"
       Option          "XkbModel"      "pc105"
       Option          "XkbLayout"     "de"
       Option          "XkbOptions"    "lv3:ralt_switch"
EndSection

Section "InputDevice"
       Identifier      "Configured Mouse"
       Driver          "mouse"
       Option          "CorePointer"
       Option          "Device"                "/dev/input/mice"
       Option          "Protocol"              "ImPS/2"
       Option          "ZAxisMapping"          "4 5"
       Option          "YAxisMapping"          "4 5"
       Option          "XAxisMapping"          "6 7"
#      Option          "Emulate3Buttons"       "true"
       Option          "EmulateWheel"          "true"
       Option          "EmulateWheelButton"    "2"
EndSection

Section "Device"
       Identifier      "Intel Corporation 82830 CGC [Chipset Graphics Controller]"
       Driver          "i810"
       #Driver         "intel"
       BusID           "PCI:0:2:0"
       #Option         "XVideo"                # from SuSE 10.3
       #Option         "DRI"                   # from SuSE 10.3
       Option          "XaaNoPixmapCache"
       VideoRam        65536
        #Option                "noaccel"   "true"      # use when X won't start
EndSection

Section "Monitor"
       Identifier      "Standardbildschirm"
       Option          "DPMS"
EndSection

Section "Screen"
       Identifier      "Default Screen"
       Device          "Intel Corporation 82830 CGC [Chipset Graphics Controller]"
       Monitor         "Standardbildschirm"
       DefaultDepth    16
       SubSection "Display"
               Depth           1
               Modes           "1024x768" "1024x600" "800x600" "768x576" "640x480"
       EndSubSection
       SubSection "Display"
               Depth           4
               Modes           "1024x768" "1024x600" "800x600" "768x576" "640x480"
       EndSubSection
       SubSection "Display"
               Depth           8
               Modes           "1024x768" "1024x600" "800x600" "768x576" "640x480"
       EndSubSection
       SubSection "Display"
               Depth           15
               Modes           "1024x768" "1024x600" "800x600" "768x576" "640x480"
       EndSubSection
       SubSection "Display"
               Depth           16
               Modes           "1024x768" "1024x600" "800x600" "768x576" "640x480"
       EndSubSection
       SubSection "Display"
               Depth           24
               Modes           "1024x768""1024x600" "800x600" "768x576" "640x480"
       EndSubSection
EndSection

Section "ServerLayout"
       Identifier      "Default Layout"
       Screen          "Default Screen"
       InputDevice     "Generic Keyboard"
       InputDevice     "Configured Mouse"
       Option          "XaaNoPixmapCache"
EndSection

Section "DRI"
       Mode    0660
EndSection

OpenGL/Video playback- gl - gl2

For playing videos don't use the gl of opengl drivers for your video playback.

The x11 od xv driver work flawlessly. Alter your mulimedia settings accordingly.

Additional informations for ACPI issues

As I mentioned above see

for additional informations about ACPI and the linux kernel.

These are ACPI related boot parameters and how they behave in conjunction with ubuntu gutsy and the R31:

acpi=off       (leaves the system unbootable)
acpi=ht        (leaves the system unbootable)  
acpi=noirq     (leaves the system unbootable)
pci=routeirq   (no positive effect)
pnpacpi=off    (no positive effect)
pci=noacpi     (no positive effect)
noapic         (not tested)
nolapic        (not tested)
irqpoll        WORKS

If you change one of them you have to run update-grub AND update-initramfs -c -k `uname -r`. Remember to always keep a kernel that will boot, either the generic or the 386 flavor. Never (!) run with update-initramfs -c -k all on all installed kernels .

A special page for ACPI issues with Thinpads you'll find here:

Here is what happens to the bus even when booting with irqpoll (but the system keeps working):

cat /var/lib/acpi-support/*-*
 1FETF1WW (3.110)
 IBM
 265665G
 Not Available

acpi_listen

acpi_listen
 button/power PWRF 00000080 00000001

is not responding to the Volume Keys, only the power button.

The IRQ problems might look as followed:

dmesg | grep  0000:00:1f.1
 [   15.932137] ata_piix 0000:00:1f.1: version 2.11
 [   15.932166] ACPI: Unable to derive IRQ for device 0000:00:1f.1
 [   15.932170] ACPI: PCI Interrupt 0000:00:1f.1[A]: no GSI
 [   15.932233] PCI: Setting latency timer of \
                            device 0000:00:1f.1 to 64
dmesg | grep ACPI
 [   15.932166] ACPI: Unable to derive IRQ for device 0000:00:1f.1
 [   18.446255]  [<c0106597>] do_IRQ+0x37/0x70
 [   18.446289]  [<c010659c>] do_IRQ+0x3c/0x70
 [   18.446855] Disabling IRQ #11
dmesg | grep irq
 [    0.000000] Kernel command line: \
                root=UUID=e0342b0c-ee00-4205-919b-6d93a3c35532 \
                ro irqpoll i8042.nomux=1 quiet splash
 [   12.842728] PCI: If a device doesn't work, try "pci=routeirq". \
                If it helps, post a report
 [   18.446145] irq 11: nobody cared (try booting with the \
                "irqpoll" option)
 [   18.446222] [<c0148594>] __report_bad_irq+0x24/0x80
 [   18.446247] [<c01491f1>] handle_level_irq+0x81/0xb0
 [   18.446273] [<c0120d5c>] __do_softirq+0x2c/0xa0
 [   18.446283] [<c0120e15>] do_softirq+0x45/0x50
 [   18.446426] [<f8878590>] (usb_hcd_irq+0x0/0x60 [usbcore])
 [   18.446578] [<f8878590>] (usb_hcd_irq+0x0/0x60 [usbcore])
 [   18.446723] [<f8878590>] (usb_hcd_irq+0x0/0x60 [usbcore])

In the next you can see that IRQ 11 ist running at a much too high level, causing the system to crash. This is probably a not fiixed bios problem.

cat /proc/interrupts 
           CPU0       
   0:    7847230    XT-PIC-XT        timer
   1:       3624    XT-PIC-XT        i8042
   2:          0    XT-PIC-XT        cascade
   5:          0    XT-PIC-XT        parport0
   8:          2    XT-PIC-XT        rtc
   9:         39    XT-PIC-XT        acpi
>>11:     100000    XT-PIC-XT        uhci_hcd:usb1, uhci_hcd:usb2,\
                    uhci_hcd:usb3, eth0, yenta, Intel 82801CA-ICH3,\        
                    i915@pci:0000:00:02.0
  12:      19366    XT-PIC-XT        i8042
  14:      31253    XT-PIC-XT        libata
  15:      45580    XT-PIC-XT        libata