-
HOWTO: ipw2200 + wpa
PLEASE, PAY ATTENTION: This HowTo was intended for Hoary. If you are running a higher version of Ubuntu, please take a look here: http://www.ubuntuforums.org/showthread.php?t=263136
Hi!
I've seen there are many requests about how to get ipw2200 and wpa to work. So, as I've managed to get them to work, I've decided to write a howto. It's also good if you just want to get ipw2200 without wpa; just follow the first part in this case.
We have to compile and install the latest ipw2200 1.0.6 driver from http://ipw2200.sourceforge.net and we also have to install the firmware, as the ipw2200 0.19 included in the standard installation of Hoary doesn't support wpa.
Since ipw2200 1.0.5, ipw2200 project does not include ieee80211 subsystem anymore, so we also have to compile and install them from http://ieee80211.sourceforge.net.
Since we have to compile the driver from sources, we need the packages: build-essential, gcc, linux-headers-myOwnKernelVersion.
So:
Code:
sudo apt-get update
sudo apt-get install build-essential
sudo apt-get install gcc
sudo apt-get install linux-headers-$(uname -r)
Note: if you have the kernel sources installed, you won't need the linux-headers. And if you're running a custom kernel compiled by you, you won't need to install the packages mentioned above.
First of all, follow these instructions to add extra repositories, which are always handy to have.
Here are the steps (for newbies: the following commands are supposed to be typed in the same console session):
First of all, download the firmware from here.
Then install it:
Code:
sudo tar xvzf ipw2200-fw-2.3.tgz
sudo cp ipw-2.3-*.fw /usr/lib/hotplug/firmware/
Now download the latest ieee80211 subsystem from here.
Then untar it and change your current directory into the driver's one:
Code:
sudo tar xvzf ieee80211-1.0.3.tgz
cd ieee80211-1.0.3
Now run the remove-old.sh script that comes with the driver package in order to make sure that any old module is deleted:
Now download the latest ipw22000 driver from here.
Then untar it and change your current directory into the driver's one:
Code:
cd ..
sudo tar xvzf ipw2200-1.0.6.tgz
cd ipw2200-1.0.6
Now run the remove-old.sh script that comes with the driver package in order to make sure that any old module is deleted:
Now your system is clean and it's time to make and install ieee80211, so:
Code:
cd ..
cd ieee80211-1.0.3
make
sudo make install
Then make and install ipw2200 as well:
Code:
cd ..
cd ipw2200-1.0.6
make
sudo make install
Note: it seems there's currently a bug of remove-old script on some systems; if you get errors when compiling ieee80211 about the presence of old modules, you'll have to delete them manually, after having unloded all ieee80211* modules through "modprobe -r module_name" (type "lsmod" to see the current loaded modules).
Now we have to download and install the wpa_supplicant package:
Code:
sudo apt-get install wpasupplicant
Then you have to create a wpa_supplicant.conf in /etc, so:
Code:
sudo gedit /etc/wpa_supplicant.conf
And paste the following lines in the text editor:
Code:
ctrl_interface=/var/run/wpa_supplicant
network={
ssid="your_network_name"
scan_ssid=1
proto=WPA
key_mgmt=WPA-PSK
psk="your_secret_key"
}
Anyway there are further configuration examples in /usr/share/doc/wpasupplicant/examples/wpa_supplicant.conf.gz.
Then reboot to make sure that the new modules are loaded successfully and type:
to see if there are errors.
Then type the following command to configurate wpa_supplicant:
Code:
sudo wpa_supplicant -B -i eth1 -c /etc/wpa_supplicant.conf -D ipw -w -dd
Note: "eth1" is your wireless device.
If you get troubles establishing the connection with the AP, try to take the "-w" flag out.
Some systems may have problems in finding the AP; so, if you get troubles finding your AP, add the "ap_scan=2" option to let wpa_supplicant performing the scan instead of the wireless card driver. So your /etc/wpa_supplicant.conf will look like the following:
Code:
ctrl_interface=/var/run/wpa_supplicant
ap_scan=2
network={
ssid="your_network_name"
scan_ssid=1
proto=WPA
key_mgmt=WPA-PSK
psk="your_secret_key"
}
Some systems may have problems in connecting to the AP; if you get this issue, try to add the directive "pairwise=TKIP" in the relative network section of /etc/wpa_supplicant.conf, so that it looks like this:
Code:
ctrl_interface=/var/run/wpa_supplicant
network={
ssid="your_network_name"
scan_ssid=1
proto=WPA
key_mgmt=WPA-PSK
pairwise=TKIP
psk="your_secret_key"
}
Of course, if you have problems both findind the AP and connecting to it, you have to add both "ap_scan=2" and "pairwise=TKIP", like the following:
Code:
ctrl_interface=/var/run/wpa_supplicant
ap_scan=2
network={
ssid="your_network_name"
scan_ssid=1
proto=WPA
key_mgmt=WPA-PSK
pairwise=TKIP
psk="your_secret_key"
}
Now we have to create a small script (first provided by fulco and edited by me) in order to get wpa starting automatically at boot:
Code:
sudo gedit /etc/init.d/wifi_wpa.sh
Here's the script:
Code:
#! /bin/sh
# wifi: wpa_supplicant init
echo " * [Wifi]: Enabling WPA supplicant..."
if [ -x /usr/sbin/wpa_supplicant ]; then
/usr/sbin/wpa_supplicant -B -i eth1 -c /etc/wpa_supplicant.conf -D ipw -w
fi
exit 0
Change the script's permissions to allow it to be executed:
Code:
sudo chmod +x /etc/init.d/wifi_wpa.sh
And create a symlink to define the relative service:
Code:
sudo ln -s /etc/init.d/wifi_wpa.sh /etc/rcS.d/S40netwifiwpa
Ok, that's all!
I hope this howto will be helpful.
-
Re: HOWTO: ipw2200 + wpa
Thanks for this!
Regards,
MC
-
Re: HOWTO: ipw2200 + wpa
i dont have wpa on my home network - will Hoary work out of the box so with the ipw2200 card in my Compaq Nx9030 laptop?
-
Re: HOWTO: ipw2200 + wpa
If you don't need wpa support, you won't need to install wpa_supplicant.
Anyway you had better install the latest driver and firmware from ipw2200.sourceforge.net...so just follow the howto without the latest part concerning wpa_supplicant.
-
Re: HOWTO: ipw2200 + wpa
i'm not sure if one should do that , unless you really know what you are doing, as that makes your system slightly non-Ubuntu (you've gone out of the apt-get/synaptic way of doing things), and will make your system slightly non-standard (unless you really really need wpa support).
so , the ipw2200 works without wpa , if you just install/upgrade to Hoary?
-
Re: HOWTO: ipw2200 + wpa
hi i have gotten ipw2200 to work without installing any other packages. This was successful in the Beta Array 4 install CD , and now the live Ubuntu 5.04 version.
I have a Compaq Presario 2200 series with 2200BG centrino wlan.
this is what u do, in sudo / root mode,
Step 1
# iwconfig
-- u should see that u have IEEE802.11(B/G) under eth1 (or some other)
Step 2
# iwlist eth1 scan
-- this will scan for all available networks.
-- if there is something picked up, it means ubuntu is able to detect a network.
-- if nothing is detected, pls check your router.
Step 2a: if your wlan network is protected
# iwconfig eth1 essid YOURSSID
-- to define your SSID (access point name)
# iwconfig eth1 key xxxxxxxxxx
-- to define your WEP key, if any.
Step 3
# dhclient eth1
-- this will request a IP from your router, if successfull u will see some messages ending with " bound to 192.168.x.x..."
-- u are connected to the internet !
hope this helps some of the newbies.
-
Re: HOWTO: ipw2200 + wpa
Yes, you are right, but the point is that Ubuntu has an old version of the driver (0.19), far from the latest one, that is 1.0.3.
There have been a lot of fixes and new features have been added.
So without installing anything else ipw2200 should basically work, but if you want ehanced features as wpa, you need to follow my howto.
-
Re: HOWTO: ipw2200 + wpa
-
Re: HOWTO: ipw2200 + wpa
also if you compile your own kernels and you want this to be built into the source tree instead of having to do it afterward everytime, the following commands work.
cd
wget http://voxel.dl.sourceforge.net/sour...2200-1.0.1.tgz
cd /usr/src/linux/drivers/net/wireless
tar -xzf ~/ipw2200-1*tgz
mv ipw2200* ipw2200
cd /usr/src/linux
patch -p1 < drivers/net/wireless/ipw2200/patches/ipw2200-*-patch
the latest version does not include the patch file, so you'll need to use the older version, which the first command downloads. i'm assuming you have the symlink to the kernel source tree in /usr/src/linux.
you'll also need to get the firmware image in place, just like in the first post. and do not try to build this driver into the kernel, it won't work. build it as a module. i just find this way useful because i went through a phase of constantly tweaking the kernel, and it became a real pain to have to manually install the driver everytime.
-
Re: HOWTO: ipw2200 + wpa
Yes, I knew this solution, but since that driver version doesn't include wpa support, I didn't considered it.