Next pull down the latest source from kernel.org. I used 2.6.21.5
mv linux-2.6.21.5.tar.bz2 /usr/src/kernels/
tar jxvf linux-2.6.21.5.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.21.5/ Be sure to rename it .config and then as root run
make oldconfig
make
make modules_install
make install
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.
I used the 9.0.0 build of mac80211 and the 0.0.35 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.0.tgz
cd mac80211-9.0.0 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.21.5 and rebuild your kernel again using the following procedure. The following commands are to be performed as the root user.
cd /usr/src/kernels/linux-2.6.21.5 make mrproper
Now copy the other config file that I've upload (config-post-mac80211patch.conf) to /usr/src/kernels/linux-2.6.21.5. rename it to .config Now rebuild your kernel using the same procedure used earlier
make oldconfig
make
make modules_install
make install
Reboot your machine and select the 2.6.21.5 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.
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 NetworkDispatcher services
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.
Last edited by ciphermonk; 6th July 2007 at 12:43 PM.
I tested that what I have in the document and it does in fact throw an error. If you become root though, it works fine. I've updated the how-to. If you still run into an error, shoot me a PM and I'll see what I can do to help out further.
Document updated again. This time there are updates to both mac80211 and iwlwifi. The latest patches put the card in G mode by default and enable more features related to 802.11n. It's worth updating. If you don't do anything with 802.11n then just compile and install iwlwifi. That can be done without recompiling the kernel. I've updated the post patch kernel config to enable the 802.11n features that mac80211 9.0.0 give you. Enjoy! :-)
Document updated again. This time there are updates to both mac80211 and iwlwifi. The latest patches put the card in G mode by default and enable more features related to 802.11n. It's worth updating. If you don't do anything with 802.11n then just compile and install iwlwifi. That can be done without recompiling the kernel. I've updated the post patch kernel config to enable the 802.11n features that mac80211 9.0.0 give you. Enjoy! :-)
your post and updates are from last year
what about the new kernel does this apply?
when i installed f9 from dvd everything worked i didn't realized after updating the kernel none will work
thanks