Slackware WPA

Intel PRO/Wireless 2200BG wifi card

Netgear WG302 Access Point running 3.0.4 firmware

This is how to configure WPA-PSK with wpa_supplicant against a Netgear WG302 in "Enhanced RF Security" Mode. The configuration would be nearly the same for any access point. The main issue with the Netgear in this mode is that the AP hides the SSID.

Before trying WPA at all, make sure "Open System" mode works. This requires the Wireless Extensions and drivers in your kernel. You should be able to do something like this:

iwconfig eth0 ssid your-ssid channel n

ifconfig

Configure the Access Point

Enable WPA-PSK on the AP first. The settings of interest:

Network Authentication: WPA-PSK

Data Encryption: TKIP

Passphrase

Configure wpa_supplicant

The Slackware 10 rc scripts expect:

wpa_supplicant and wpa_cli to be in the same directory (see /etc/rc.d/rc.wireless for the list of expected directories)

and to be in the same directory (see for the list of expected directories) the configuration file must be /etc/wpa_supplicant.conf

the control directory must be /var/run/wpa_supplicant

A basic wpa_supplicant.conf :

ctrl_interface=/var/run/wpa_supplicant ctrl_interface_group=wheel eapol_version=1 ap_scan=1 fast_reauth=1 network={ ssid="your-ssid" scan_ssid=1 proto=WPA key_mgmt=WPA-PSK pairwise=CCMP TKIP psk="your-passphrase" }

wpa_supplicant -c/etc/wpa_supplicant.conf -ieth0 -Dwext -d

ifconfig

Hidden SSIDs

wpa_supplicant successfully scans for matching SSIDs when the AP does not hide them. But if the AP is not broadcasting it's SSID, iwconfig must be used to set the essid before running wpa_supplicant . This will probably be fixed as various bits of software improve over time, but for now, we have to work around the issue.

Make it Work on Boot

Add something like the following to /etc/rc.d/rc.inet1.conf :

WLAN_ESSID[0]="your-ssid" WLAN_WPA[0]=wpa_supplicant WLAN_WPADRIVER[0]=wext

WLAN_WPA causes wpa_supplicant to be invoked at system boot, before dhcp or static configuration

causes to be invoked at system boot, before dhcp or static configuration WLAN_ESSID should only be needed if your AP hides the SSID. Otherwise, wpa_supplicant is able to scan for the appropriate SSID.

should only be needed if your AP hides the SSID. Otherwise, is able to scan for the appropriate SSID. WLAN_WPADRIVER causes -Dwext to be included in the wpa_supplicant invocation

/etc/rc.d/rc.wireless.conf needs some minor changes:

Comment out the section at the top between "START SECTION TO REMOVE" and "END SECTION TO REMOVE"

At the bottom of the case statement, add something like: 00:12:F0:*) [ -n ${WLAN_ESSID[$i]} ] && ${IWCOMMAND} essid ${WLAN_ESSID[$i]} ;;

case

wpa_supplicant

At this point you should be able to bring the interface up and down:

# /etc/rc.d/rc.inet1 eth0_start

# /etc/rc.d/rc.inet1 eth0_stop

This page is http://perfec.to/wifi/slackware-wpa.html .

