Installing Fedora 7 on a ThinkPad T60
Created by: TomCallaway 09:45, March 20, 2007
Contents
- 1 Abstract
- 2 My ThinkPad
- 3 What Works?
- 4 What Doesn't Work? (Known Issues)
- 5 Kernel Drivers
- 6 Installing Fedora
- 7 Post Install
- 8 Wireless LAN
- 9 Bluetooth
- 10 Infrared
- 11 Getting the ThinkVantage Buttons to work
- 12 Video Drivers
- 13 The Fingerprint Reader
- 14 Beryl - eyecandy
- 15 Suspend
- 16 Thanks
- 17 References
Abstract
This article describes how I got Fedora 7 installed on my IBM/Lenovo ThinkPad T60. Now, I know that Fedora 7 isn't out yet, so this information is specific to the test releases. When Fedora 7 comes out, I'll update this page to reflect any changes.
My ThinkPad
These are the specifications of my machine.
- Lenovo ThinkPad T60 (6369-CTO)
- Intel Core 2 Duo (Merom) T7200 @ 2.00GHz
- Intel Graphics Media Accelerator 950
- Intel Gigabit Ethernet (10/100/1000)
- Intel PRO/Wireless 3945ABG Mini-PCI Express Adapter
- Integrated Bluetooth.
- Integrated Fingerprint Reader
- 100 GB - Serial ATA-150 Hard Drive.
- 15.4" TFT display with 1680x1050 resolution (widescreen)
- Intel 82801G (ICH7 Family) High Definition Audio Controller (rev 02)
What Works?
- Fedora
- Most of the function keys, except the ones mentioned below
- The fingerprint reader.
- Video, 2D and 3D.
- Brightness, Volume and Mute with OSD (On-Screen Display).
- ThinkLight, TrackPoint II and the touchpad.
- Bluetooth
- Infrared
- Suspend
What Doesn't Work? (Known Issues)
- Modem
- Hibernate
Kernel Drivers
The laptop uses the following hardware specific kernel drivers:
* iwl3945 (wireless) * e1000 (ethernet) * snd_hda_intel (sound) * nsc_ircc (infrared)
Installing Fedora
I really have no interest in dual-booting my laptop. There are plenty of good guides to setting up a computer for dual-boot on the internet. I burned a copy of the FC 6.91 DVD iso, booted off of it, and told the installer to delete all existing partitions. The install went off without a hitch. After installation, I ran yum update, and rebooted into the new kernel.
If you have problem booting up the fedora 7 DVD, and getting a blue screen at the start. Then install by text mode and update as root. "yum update" - And remember to change the line: "d:3:initdefault:" in the fil /etc/inittab into: "d:5:initdefault:" if you like to boot into an grafic mode.
Post Install
The Fedora repositories have some useful packages for ThinkPads. After I installed the OS, I used yum to install the following packages:
- thinkfinger: Support for the Fingerprint Reader
- tpb: ThinkPad button support utility and onscreen display
- beryl-gnome: Eyecandy!
- iwlwifi-firmware: The firmware for the new intel wireless driver
- xbindkeys: A utility to help us bind the "special" thinkpad keys
- xorg-x11-drv-i810: Driver for the Intel Graphics Chipsets
Wireless LAN
The latest Fedora 7 kernels include a new driver for the Intel 3945 chipset, called iwl3945 (iwlwifi). This driver works, but it is a bit new, so you must be patient with it. If you didn't install the iwlwifi-firmware package, do so now. The kernel should have detected the wireless device, and configured iwlwifi for you.
Step 1: Turn on the radio Make sure the switch on the front is pushed to the right (you should be able to see green on the left). Then, as root, run:
# /sbin/ifconfig wlan0 up
Step 2: Scan for access points Even if you know the ESSID, the iwlwifi driver needs to also be told the frequency and access point that you want to connect to. Hopefully, this will be fixed in a later revision of the driver.
As root, run:
# /sbin/iwlist wlan0 scanning
You should see something like:
Cell 03 - Address: 00:01:02:03:04:05 ESSID:"freewifi" Mode:Master Frequency:2.462 GHz Signal level=-80 dBm Encryption key:on Extra:tsf=000000deadb33fabc Extra:bcn_int=100 Extra:rssi=-80 Extra:capab=0x0411 Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s
Assuming that's the AP we want to connect to, note the Frequency, Address, and ESSID.
Step 3: Tell wlan0 about our AP Now, we just need to configure wlan0 to find our AP: As root, run:
# /sbin/iwconfig wlan0 freq 2.462G
# /sbin/iwconfig wlan0 ap 00:01:02:03:04:05
# /sbin/iwconfig wlan0 essid "freewifi"
Step 4: Get an IP Address Assuming the wireless network is DHCP, as root, run:
# /sbin/dhclient wlan0
Now your wireless is up and running! (Note: Your mileage may vary. There are lots of bug reports against iwlwifi. Maybe it is only a problem with NetworkManager, but my experience is that Fedora 7 test 4 (6.93) has unworkable wifi out of the box, at least on a T60p with an ipw3945.) As of 15 June 2007, NetworkManager still doesn't work very well with the iwlwifi device. There is a discussion on this on the fedora test list, starting with https://www.redhat.com/archives/fedora-test-list/2007-April/msg00539.html
Bluetooth
Bluetooth works out of the box, but Gnome GUI only provides limited functionality (like Obex file transfers). To configure bluetooth serial ports (those are used to connect to internet via Your bluetooth enabled mobile phone, to use bluetooth GPS devices etc), You have to manually tweak /etc/bluetooth/rfcomm.conf file.
At first run:
$ hcitool scan
The output should be something like
Scanning ... 00:0A:D9:ED:89:4E Anttix P900
Note the MAC address of Your phone, then run:
$ sdptool browse MAC_ADDRESS_OF_YOUR_PHONE
Find modem channel by looking for an entry like this:
Service Name: Dial-up Networking Service Description: Dial-up Networking Service Provider: Sony Ericsson Service RecHandle: 0x10001 Service Class ID List: "Dialup Networking" (0x1103) Protocol Descriptor List: "L2CAP" (0x0100) "RFCOMM" (0x0003) Channel: 7 Language Base Attr List: code_ISO639: 0x656e encoding: 0x6a base_offset: 0x100 Profile Descriptor List: "Dialup Networking" (0x1103) Version: 0x0100
Now edit /etc/bluetooth/rfcomm.conf. Uncomment the lines for rfcomm0 and replace MAC and channel numbers with the ones from Your phone. Also make sure to turn on automatic binding on startup. The final config will look like this:
rfcomm0 { # Automatically bind the device at startup bind yes; # Bluetooth address of the device device 00:0A:D9:ED:89:4E; # RFCOMM channel for the connection channel 7; # Description of the connection comment "My GSM Dialup Networking"; }
Restart bluetooth subsystem:
# service bluetooth restart
Now run network configuration tool, add a new modem to device /dev/rfcomm0 and configure an internet connection as usual. The phone number depends on Your phone make, but most of the time it's *99#
. You might also need to add additional modem initialization string AT+cgdcont=1,"IP","internet",,0,0
to configure Your GPRS service name.
Make sure that Gnome bluetooth applet is running. If not, run it by typing bluetooth-applet.
Activate the connection. You should be prompted for PIN by both: the phone and the applet. Enter the same number on both sides to pair the connection.
Infrared
T60 has an NSC FIR chip. The driver needs to know a Dongle ID so it must be manually configured.
Edit /etc/modprobe.conf, add the following two lines:
alias irda0 nsc-ircc options nsc-ircc dongle_id=0x09
Edit /etc/sysconfig/irda:
IRDA=yes DEVICE=irda0 DISCOVERY=yes
Start IRDA
# service irda start
If You want IRDA to be enabled during system boot, turn it on like this:
# chkconfig irda on
Getting the ThinkVantage Buttons to work
Fedora does not recognize all the ThinkVantage buttons correctly by default. This can be fixed quite easily. Just edit /etc/X11/Xmodmap.
Then paste the following in the file:
keycode 234 = XF86Back keycode 233 = XF86Forward keycode 159 = XF86Start keycode 162 = XF86AudioPlay keycode 164 = XF86AudioStop keycode 153 = XF86AudioNext keycode 144 = XF86AudioPrev keycode 227 = XF86LaunchF keycode 249 = XF86ZoomIn
Save and close the file, then logout and back in again. You can now assign the buttons to do anything you want. For example, use the Back and Forward buttons (next the cursor keys) to flip desktops using the cube effect in Beryl (set this using the Beryl settings manager). You can set most of the other keys using Gnome vis System - Preferences - Keyboard Shortcuts.
For the ThinkVantage and Zoom buttons, I used xbindkeys. Open a terminal and type:
$ xbindkeys --defaults > ~/.xbindkeysrc
$ xbindkeys-config
Click "New" and assign a remark to the new shortcut. Then press "Grab" and press the combination you want (ex: The ThinkVantage button). You can then set the action you want executed in the "Action" field.
Video Drivers
Intel Graphics Media Accelerator 950 (GMA950)
Since the Fedora installer didn't detect the graphics device properly, it uses the Vesa driver. Which works, but that's not really what we want to use. After installing the xorg-x11-drv-i810 package, I edited the /etc/X11/xorg.conf, and changed the driver from "vesa" to "intel". Then, restart X. That's it.
ATI Mobility Radeon X1300 (M52) & X1400 (M54)
ATI's drivers did not work with Fedora 7 because they couldn't handle the xorg version there. Version 8.39.4, and above, are compatible with Fedora 7. Matching kernel modules are provided by the livna repository.
# rpm -i http://rpm.livna.org/livna-release-7.rpm
# yum install kmod-fglrx
- at least for teh X1400, an aticonfig --overlay-type=Xv was necessary to prevent a number of odd display issues.
The Fingerprint Reader
Thanks to the efforts of the ThinkFinger guys, the fingerprint reader works very well in Linux using entirely Free Software. After installing thinkfinger, you need to edit /etc/pam.d/system-auth as root (be careful!):
Above the line that reads:
auth sufficient pam_unix.so nullok try_first_pass
Add a new line that reads:
auth sufficient pam_thinkfinger.so
So, the auth section of your /etc/pam.d/system-auth file should look like:
auth required pam_env.so auth sufficient pam_thinkfinger.so auth sufficient pam_unix.so nullok try_first_pass auth requisite pam_succeed_if.so uid >= 500 quiet auth required pam_deny.so
Save the updated /etc/pam.d/system-auth, then as root, run:
# /usr/sbin/tf-tool --add-user spot
Of course, if your username isn't spot, change it! It will prompt you to swipe your finger over the reader three times.
Thats it! Now, you can login using either a password or a fingerprint.
Beryl - eyecandy
Beryl is shiny desktop eyecandy. To get it running, you can follow the steps here: http://wiki.beryl-project.org/wiki/Install/Fedora_Core
Suspend
Create a new file /etc/rc.modules and put the following lines into it:
# Turn on correct suspend flags for T60 echo 3 > /proc/sys/kernel/acpi_video_flags
Then make it executable:
# chmod 755 /etc/rc.modules
After reboot the machine should suspend and wake up fine.
NOTE: I have tried the above with FC7 and T60p and still have not gotten suspend to work. It worked out of the box on FC6. I have also added the following lines to the kernel parameters but with no luck. pci=noacpi acpi_sleep=s3_bios,s3_mode. Note: as of 2.6.22.9-91.fc7, with the ATI M1400 the suspend or hibernate crash just after the suspending console's message.
Thanks
Much credit goes to Keithvassallo for his Installing Ubuntu Edgy Eft on the Thinkpad T60 page.
References
- This guide is listed at the TuxMobil Linux laptop and notebook installation guides survey (IBM/Lenovo).