Fingerprinter reader, sound and and bluetooth, wireless and suspend are all working. I'm pretty impressed with the performance of the 2.4 proc, 7200 rpm drive and 4GB of ram. I kicked 25 simultaneous, avi files (Season 2 of Star Trek Enterprise) and it didn't miss a beat. 25 video streams spread across 4 desktops.
I'm using the native linux drivers from intellinuxwireless.org to run the 4965. There is also a
modified intel_drv.so you'll need to get rid of some the screen fuzzyness as well as a patch that need to applied to alsa to get sound working. To get wireless working you'll need to download the vanilla kernel source, apply the mac80211 patch and compile it. I have a .config that sets all the options needed to get the T61 up and running under 2.6.22. This machine looks very, very promising.
Below is what I did to get the various devices working properly...
Below is a detailed writeup on getting wireless working using the Intel opensource drivers. It's a bit long winded but will get wireless working for you the correct way. The kernel recompile has the added benefit of enabling some of the optimizations for the Core Duo 2 processor that linux offers that aren't turned on in supplied Fedora 7 linux kernel. These instructions will also work for the 3945 card as well. Just substitute "3945" everywhere that you see 4965.
First of all, if you have the mac80211 or any of the iwlwifi packages installed, remove them
yum remove iwlwifi iwlwifi-kmdl mac80211-kmdl mac80211
Next pull down the latest source from kernel.org. I used 2.6.22
mv linux-2.6.22.tar.bz2 /usr/src/kernels/
tar jxvf linux-2.6.22.tar.bz2
Assuming that you have a Lenovo T61 or any other laptop with a dual core 2 processor, you can use the attached kernel config called config-premac80211.conf. Assuming that you're going to use it, copy it to /usr/src/kernels/linux-2.6.22/ Be sure to rename it .config and then as root run
This will generate the Makefile for the kernel using the supplied config, compile the kernel and modules and finally install it. It adds an entry for the kernel in your grub.conf
Reboot your machine select the newly compiled kernel when the grub menu appears.
Obtain the latest builds of the mac80211, iwlwifi, and 4965 microcode/firmware tarballs from http://intellinuxwireless.org/?p=mac80211&n=Downloads
I used the 9.0.2 build of mac80211 and the 0.1.2 build of the iwlwifi driver. Also be sure to get the firmware for the 4965 wireless card. With those downloaded, the procedure is as follows
tar zxvf mac80211-9.0.2.tgz
sudo make patch_kernel
This applies the patched mac80211 stack to the kernel. You'll next want to goto the directory containing the kernel source /usr/src/kernels/linux-2.6.22 and rebuild your kernel again using the following procedure. The following commands are to be performed as the root user.
Now copy the other config file that I've upload (config-post-mac80211patch.conf) to /usr/src/kernels/linux-2.6.22. rename it to .config
Now rebuild your kernel using the same procedure used earlier
Reboot your machine and select the 2.6.22 kernel. We're almost done, All that's left now is to untar and copy the fireware to the correct location and compile the iwlwifi kernel module. The procedure that I used is as follows.
tar zxvf iwlwifi-4965-ucode-4.44.15.tgz
sudo cp iwlwifi-4965-ucode-4.44.15/iwlwifi-4965.ucode /lib/firmware/
sudo chmod +x /lib/firmware/iwlwifi-4965.ucode
Now for the iwlwifi driver...
tar zxvf iwlwifi-0.1.2.tgz
If all of that ran without returning errors, you're all set. If you run /sbin/iwconfig you should see wlan0 listed there. From this point you'll want to do some clean up work like adding a line to /etc/modprobe.conf that looks like this
alias wlan0 iwl4965
You can now use NetworkManager or the wireless config tool of your choice to connect to your wireless network. I use NetworkManager and did the following to enable it
Adds services to runlevels 2, 3 and 5
chkconfig NetworkManager on
chkconfig NetworkManagerDispatcher on
Starts the NetworkManager and NetworkManagerDispatcher services
sudo /etc/init.d/NetworkManager start
sudo /etc/init.d/NetworkManagerDispatcher start
This information is provided as is and without guarantee. Your results may be different to mine, but I found this to be the least painful way to use the native drivers. I invite you questions or comments. Please let me know where I was unclear or left out a step.
======================== Patch Work
+ Intel Video Driver +
To get rid of some of screen fuzzyness that you experience using the standard intel driver on the T61, you'll need to modify the i830_lvds.c file and recompile the driver. The change that needs to be made is documented here
' I took the liberty of making the change for you and uploaded the patched tarball. Important: before compiling the modified intel driver you need to ensure that you have the xorg server development sdk package installed.
sudo yum install xorg-x11-server-sdk
tar xzvf xf86-video-intel-2.0.0.tar.gz
./configure && make
Once that's complete, you'll want to copy the patched driver from src/.libs/intel_drv.so to the directory where your xorg video drivers are kept. On my system it's under /usr/lib64/xorg/modules/drivers/
If you're running a 32 bit kernel it'll be /usr/lib/xorg/modules/drivers/ Once you copy the updated driver there and restart xorg, you should have a clear,sharp display.
One thing that you might run into (I did) is that GDM doesn't use the entire screen. Neither does gnome. This is because the TV output is enabled. You can disable it by adding the following commands to your xorg.conf
Option "Disable" "true"
and then in the Device Section add the following
Option "monitor-TV" "TVOutput"
I've uploaded my complete xorg.conf so you can just drop it in if that's easier for you.
It is a possible to get the composite desktop (Compiz and Beryl) working under Fedora 7. If you're up for some more driver hacking, then the information posted at http://intellinuxgraphics.org/install.html
will get you going. You can skip the first part concerning compiling the intel driver because we did that earlier.
So you'll want to pull drm and mesa which you can get from http://intellinuxgraphics.org/download.html
Follow the instructions there as they're pretty clear. The only thing that you may have a bit of trouble finding is where to copy the compiled mesa shared objects. They go under /usr/lib/dri assuming you're 32bit. It'll be /usr/lib64/dir for 64 bit users. If you follow those instructions, you'll be rewarded with the ability to run Compiz Fusion with little issue. Assuming you're running Fedora you can get the repo containing the Compiz Fusion packages here http://devel.foss.org.my/~kagesenshi...agesenshi.repo
Follow the instructions that he writes up on his site at this link http://blog.kagesenshi.org/2007/06/c...-fedora-7.html
and you'll be enjoying X in all it's 3D goodness in no time.
+ Sound +
Similar to the Intel patch, changes need to be made to the alsa driver package to get sound working. The file in question is alsa-driver-1.0.14/alsa-kernel/pci/hda/patch_analog.c The changes that need to be made are documented here
I've already made the changes to the uploaded patch_analog.c
You'll need to download the alsa driver tarball from here
and then execute the following commands.
tar jxvf alsa-driver-1.0.14.tar.gz
tar zxvf patch_analog.c.tar.gz
cp ../patch_analog.c alsa-driver-1.0.14/alsa-kernel/pci/hda/
./configure && make
sudo make install
This will extract and compile the alsa driver and install them. You'll need to make a slight change to your /etc/modprobe.conf file.
The line that current looks like
options snd-hda-intel index=0
needs to be changed so that it looks like...
options snd-hda-intel index=0 model=thinkpad
Reboot your machine and then open Gnome Volume Control. Click on the the "Switches" tab and then check Headphone and Speaker. At this point you should have working sound.
+ Suspend +
Due to post length constraints, the suspend instructions have been added to a new post at the following link.