Installation Details:
Kernelconfiguration
Get my kernel configuration here.
It is thought to be used with Kernel version 2.6.16 and the proprietary ATI binary drivers and
external Intel IPW3945 drivers (so the kernel uses a normal
Kernelstacksize without patches, has no IEEE subsystem and WLan
drivers, and only VESA support for the graphiccard). See detailed
description in belower sections.
CPU
Install a SMP
(multiprocessor) kernel. If you compile your own kernel, add SMP
support to it. It's advisable also to add RTC (device
drivers->character support). The Yonah core (first generation Cure Duo) doen't have Hyperthreading, so disable SMT.
Harddisk
Switch the S-ATA
Disk in your BIOS to "compatibility"-mode
when the harddisk is not recognized (problems with the SATA driver in
your Installation-Kernel, normally when using a kernel < 2.6.16).
If you compile a kernel on your own: add SCSI emulation, SCSI disks support,
SATA support and AHCI support (both under SCSI drivers) built-in
to the kernel. Your SATA drive is normally in AHCI mode.
Attention:
Change devices in grub.conf/menu.lst (or lilo.conf) from /dev/hdaX to
/dev/sdaX !
My TP came with no XP CD. There
a so called "rescure-and-restore"-partition
that includes a backup of WinXP. So if you would like
to to a Dual-OS installation, you have to resize the partitions within
your finished Windows-Installation.
Do this with e.g. Partition Magic and keep the Restore-Partition (the 5
Gig FAT32 that's normally hidden under windows)
at the end of your disk. Don't move that Restore-Partition.
ACPI / suspend and resume
Use Suspend2 and
add the suspend to the kernel (under
powermanagement->acpi). Add the following option to your kernel
boot
parameters (e.g grub.conf/menu.lst): resume=/dev/sdaX (your swap
partition).
The swap partition is the best solution. There's also a possibility
to use files with a special filewriter. Read the suspend2 manual for
more help. I do more tests about this in future.
Booting
You
can add framebuffer support to your kernel, and add
"vga=834" to the kernel boot options to enable sxga in
your console. With the options
above, my menu.lst looks like this.
Attention: Doesn't seem to work always. Send me your VGA
options.
Fan
One
of the major problems of the T60 is a thermal issue. The procesor is
quit cool (about 50 degree celsius) and also battery (about 50 degree
C) and harddisk (about 40 degree C) are absolutely fine. BUT the
powerful graphiccard is a problem. In idle-mode it gets quit hot, round
about 75 degree C. Playing some minutes doom3 or UT2004 brings it up to
86-87 degree. Thats still no problem for that card, it get trouble when
it get hotter than 110 degrees. BUT your fan of the T60 has to cool the
card all the time. also in idle mode. So it's always running. It is not
too loud, but good hearable. And always running parts of a computer
are fragile....
I
got some mails from users that with ibm-acpi you can control the fan.
That is correct. And with a current version and forcing module-load
with experimental=1 you can switch on/off the fan (no more detailed
control is possible right now). BUT I do not recommend to switch the
fan off, becaus your graphiccard simply needs it, ALL the time ! You
risk your hardware when switching it of. Keep that in your mind.
Network
It's a intel e1000
network card. So the e1000 driver should work.
It wasn't possible to use the e1000 driver with the normal sarge
installation. So I copied a linux-2.6.16 kernel from my usb
stick and compiled a new kernel manually. With the 2.6.16 the e1000
drivers work without a problem.
Wireless LAN
It is the new
IPW3945 Card from Intel. It's no normal MiniPCI, it's MiniPCI express
now,yeah ;-) There are two solutions to get this working right now:
1.) The drivers from Intel: http://ipw3945.sourceforge.net/. Because
the drivers are not (and maybe will not, see discussions on the LKML)
in the kernel, you need the drivers, the binary, and the ecxternal IEEE
package. You get this all on the IPW website mentioned above. Read the
INSTALL manual. At a short: copy firmware to the place of your
firmwareloader, remove all IEEE stuff (network drivers,etc) and
compile/install IEEE and IPWDrivers package. At the moment you can not
install the ipw drivers, you have to manually load and unload them via
the scripts. This will change when the driver is stable. This worked
quite good for me with IPWDrivers version 0.0.74 and ieee80211-1.1.12
(or later).
If it doesn't work for you, you can also try the second solution, read on.
2.) Another solution is the usage of ndiswrapper. But this also need a bit more tweaking.
First of all, we need 16K Stacksize for the kernel, we grab the right kernelpatch for that from: http://www.linuxant.com/driverloader/wlan/downloads-patches.php and patch our kernel with: Thinky:/usr/src# patch -p0 < linux-2.6.16-16kstacks.patch
Then change the stacksize to (now available) 16K and recompile (add
intermodule support again to you .cofig file if you did this before for
your ATI drivers). Download, compile and install ndiswrapper. A more
detailed installing instruction can be found in the ndiswrapper wiki at: http://ndiswrapper.sourceforge.net/mediawiki/index.php/Installation
Comment: Do a "make dep" instead of just a "make" do build clean debian
packages, which you can install with dpkg after. Now get the windows
drivers from Intels website (only available in a package with the other
cards, so you have to get 80MB:
http://www.intel.com/support/wireless/wlan/sb/cs-010623.htm
Unzip and change to the "Drivers" directory, and run
"ndiswrapper -i w39n51.inf" and modprobe ndiswrapper. After this, your
device should be appear as wlan0 in your iwconfig list. Good luck. I
still had some problems with this, so I used the native IPW drivers
from solution 1).
Bluetooth
Fn+F5 switchs
Bluetooth on. Install the bluez stack, and (if wanted)
kbluetooth, add bluetooth in your kernel (under USB devices). Didn' try
more with that, but seems fine. Will report if I find a bluetooth
device to test ;-)
Trackpoint/Ultranav
Works as a PS/2
device. Should mostly work out of the box.
When not, compile your kernel with ps2 input device support.
Also install the synaptics touchpad drivers (should be available with
every common distribution).
Sound
This is a Analog
Devices AC'97 Audio controller
with AD1981HD chipset. Build a kernel with AD HD support.
This is NOT the usual AC97 intel chipset (snd-i80x), but the HD driver
some lines above the kernel configuration. Run alsaconf
and set the volume via your favourite mixer (aumix in console is fine). The Volume control works
out of the box via Fn keys (inc. muting).
I
recognized some cracking noises with applications using OSS (and so OSS
emulation via alsa). I read about a workaround to put position_fix=2 to
the module option. But that's not the perfect solution, but works okay...
Graphic Card
This is an ATI
x1400 graphic card. ATI released on 12th April new drivers that
supports the X1400. That half a year after the X1K was released (Version 8.24.8), but
okay...no get them here: https://support.ati.com/ics/support/default.asp?deptID=894
Sadly there are still the Intermodule problems (ATI is using the
intermodule API pre 2.6.15). So if you use a kernel > 2.6.15 then
you should fix this with that litte workaround from the Rage3D Forum: http://rage3d.com/board/showthread.php?p=1334218607
(in short: add obsolete intermode to the kernel, enable agpart and disable drm)
[OLD: If you are using xorg v7 (X11R7) there is another problem: the ATI
installer doesn't support xorg 7.0, only 6.9. But the codebase of yorg
6.9 and xorg 7 are the same, except the modular
concept, so force the version to x690 and run the installer like this: X_VERSION=x690 ./ati-driver-installer-<ver>-<arch>.run
Then copy the X11 modules from /usr/X11R6/lib to /usr/lib/xorg (the
fglrx driver from drivers and linux subdirectory).]
Update: Driver version 8.25.18 and above support xorg7 correctly now !
Now change the
driver in your xorg config to fglrx an restart X.
If you get a black screen, keep in mind that ATi doesn't
support 16Bit, and change the default mode to (at least) 24 bit color
depth.
That's it... here is my xorg.conf with the ATi driver.
When you don't want to use the proprietary driver, you have to use VESA
because there are no free xorg drivers for this card. Use the VESA
driver and set the resolution to 1400x1050 (SXGA+) and bet (or
better write an email to ATI) that ATI will publish new drivers that
also supports newer cards. Cruel Linux politics from ATI, so never buy
that stuff when you have the choice.
My xorg.conf for VESA is here
Thinklight
The TP keyboard
light is controlled
via BIOS only and Fn+PgUp works out of the
Box on all maschines. No tweaking needed here. Yeah!
Brightnesscontroll also works out of the box via Fn keys.
HDASP
Frank Mehnert wrote:
--- cut ---
HDAPS works well (at least hdaps-utils give
valid output) if you use the hdaps driver from the tp_smapi package
http://thinkwiki.org/wiki/tp_smapi
and load it using force=1 module parameters.
--- cut ---
Thanks for that hint.
Keycontrol and OSD
All Fn Keys and
Volumecontrol work out of the box.
But normally you also want to show the key values on your desktop.
This can be done via tpb (edit /etc/tpbrc for your needs) or you
use the kmilo plugin in KDE cntrollcenter. In both cases nvram support
hast to be enabled in your kernel. If you use udev, etc
/etc/udev/020_permissions
and add a MODE="0666" to the NVRAM line to set global rights. Or add
you
to the nvram group. It won't work when you have no access to that
virtual device.
KMilo is a tpb clone, but has less features. I found out that kmilo has
problems on my T60 with the volume control. I controls the headphones
instead of the PCM mixer. So I use tpb. There it's possible to use a
mixerr callback function. I made a small workaround:
1) Using tpb for softkey control.
BTW: To start "tpb -d" on KDE startup with putting this in a small shellscript in .kde/env
2) Setting up /etc/tpbrc for your needs
3) Setting a callback in the tpbrc to /path/to/the/script and using amixer for volume control.
The callback script can be found here
Fingerprint reader
I didn't really try it out right now, but it seems to works with a bit of tweaking and some proprietary code. Read the
great tutorial at ThinkWiki about that:
http://www.thinkwiki.org/wiki/How_to_enable_the_fingerprint_reader
A more complete and detailed installing instruction can be found at:
http://linux.spiney.org/debian_gnu_linux_on_an_ibm_thinkpad_t43p_fingerprint_reader
|