Results 1 to 10 of 654

Thread: HOWTO: ipw2200 + wpa

Threaded View

  1. #1
    Join Date
    Apr 2005
    Beans
    514

    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:
    Code:
    sudo sh remove-old
    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:
    Code:
    sudo sh remove-old
    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:
    Code:
    dmesg | grep ipw
    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.
    Last edited by luca_linux; September 24th, 2006 at 10:57 AM.

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •