Skip to content

Instantly share code, notes, and snippets.

@maman
Created February 12, 2011 09:37
Show Gist options
  • Save maman/823644 to your computer and use it in GitHub Desktop.
Save maman/823644 to your computer and use it in GitHub Desktop.
EDIT: #1: The iwlwifi wifi drivers for both 4965 and 3945 are now in the mainstream kernel, as of 2.6.23, which is now available in Sid. Just install it, and you shouldn't need to do anything else thats described here.
#2: I finally decided to update the top part of this, using information thats from all of the subsequent posts. Although, I would still recommend you read all of the other posts, because I haven't been fiddling with this driver for a couple months, and other people are more knowledgable about this than me.
This howto is to try and get Intel 4965 wifi cards, found in the Santa Rosa chipset, working. Since the iwlwifi driver is not yet in the Debian repositories, to get it to work requires you to download that and compile it yourself. There are a couple of deviations from the normal "Make" "Make install" process to get it to work properly, so here they are.
This Howto assumes a 2.6.22 kernel, which has mac80211 already built in. I assume if you compile and load it for 2.6.21, it should work, but I haven't tested that.
1. Make sure you have linux-headers-2.6.22-1 and linux-source-2.6.22 downloaded from the Debian repositories.
2. Unpacked the linux-source-2.6.22 into the /usr/src folder. This is the same folder that the .tar file is downloaded to.
3. Go here and download the newest 4965-ucode package(or just do an "apt-get install firmware-iwlwifi, with non-free enabled), and the newest iwlwifi package.
4. Then do a "tar xvf" for the ucode package, and then move it into /lib/firmware.
5. Then do a "tar xvf" for the iwlwifi driver. It doesn't matter what directory you do this in, I did it in my /home folder.
6. Then do a "ln -s /usr/src/linux-source-2.6.22 /lib/modules/2.6.22-1-amd64/source"
7. Then cd to your iwlwifi folder, "make" and "make install". That should be all thats necessary.
Any corrections much appreciated, for content as well as style. I've never written a howto before. Also, there are still errors in this driver; for example, on my T61, it requires network manager to be installed and I have to do an "ifdown wlan0" and "ifup wlan0" after I log in. (I've actually gotten it to work with nm-applet now, so I don't have to do this anymore)
In step 2 one must simply go to /usr/src (after installing the linux-source package) and write:
Code: Select all
tar xjf linux-source-2.6.22.tar.bz2
I'd add a "Step 9", because one needs to:
Code: Select all
modprobe iwl4965
before one can actually use the module :). I'd also add the module name to the /etc/modules file, just in case.
Now to start your connection (supposing that you're router uses DHCP ip allocation):
Code: Select all
ifconfig wlan0 up
iwconfig wlan0 essid your_essid
dhclient ath0
In order to stop the connection:
Code: Select all
ifconfig wlan0 down
I haven't used network-manager yet and I'm not really into the "network interfaces" files from /etc, so I help myself with scripts which consist of the "start" and "stop" codes above and putting them in /usr/sbin (you'll need to do a "chmod -x" on them prior to execution of couse). I add a line with the name of the starting script to the /etc/rc.local file (prior to the "exit 0" line) and thanks to that I've got access to the net right from the system startup.
Of course this solution is most practical when a laptop is sitting around in the vicinity of the same network. That's why using apps like network-manager is kinda better for the more mobile users ;).
Oh and one other imporant thing. I used the iwlwifi 1.0.0-1 version and the above steps worked correct, but yesterday I've downloaded the newest iwlwifi version (0.1.11) and I've had problems with bringing the module up. The error said that it couldn't find the firmware file and printed out the filename. The problem here was that the .ucode file from the downloaded archives is named "iwlwifi-4965.ucode" while the newest driver looks for a file named "iwlwifi-4965-1.ucode". A simple file rename fixes the job and I think it's a slight bug or typo on the developer's side. Hopefully this will be fixed in the next driver version or we'll see a new ucode version :D
That's all, cheers!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment