HowTos/WPA

From OpenZaurus

Contents

Zaurus SL-5500G w. OZ 3.5.4

The following I created out of various source (listservers, howtos ... nothing in here is my invention) - unfortunately I did not note the origins in my notes; so I can not pay credits to those who would deserve it.

configure hostap driver

For Prism based cards we'll have to use the hostap drivers to be able to use WPA (you may have to download & install them 1st with ipkg); on my collie by default the orinoco drivers were installed and used. The file you need to edit to switch drivers is /etc/pcmcia/hermes.conf. I added these lines @ top of the file:

device "hostap_cs"
class "hermes"
module "hostap", "hostap_cs"

Then find the definition for your card (further down in that file) and change the "orinoco_cs" reference to "hostap_cs". The definition for my card now looks like this:

 card "Orinoco or Intersil Prism 2 Wireless"
 manfid 0x0156,0x0002
 bind "hostap_cs"

If you're not sure which entry is for your card, use 'cardctl ident' and search in /etc/pcmcia/hermes.conf for the "product info" it reports.

After editing /etc/pcmcia/hermes.conf, eject your card and restart the PCMCIA services:

#> cardctl eject 0

remove the card now

#> /etc/rc.d/init.d/pcmcia restart

insert the card again

You can test if it has worked by running lsmod:

#> lsmod
Module     Size Used by Tainted: P
hostap_cs 45896 1
hostap    85568 0 [hostap_cs]

install wpa_supplicant

Use ipkg to install the wpa_supplicant packages; then add the following section to /etc/wpa_supplicant.conf:

network={
       ssid="the_networks_ssid"
       psk="the_secret_password"
       priority=5
}


update firmware

To be able to use WPA the card's firmware must be >= 1.7.4. We can update the firmware (which was necessary in my case) with the hostap-utils; for this you'll have to install the following packages: prism3-firmware, hostap-utils /etc/pcmcia should now contain an updated RAM image for prism cards (rf010804.hex).

configure the interface

Next you'll have to modify "/etc/network/interfaces" wlan0 section in the following way:

# Wireless interfaces
iface wlan0 inet dhcp
       wireless_essid any
       wireless_mode Auto
       pre-up iwpriv wlan0 reset 1
       pre-up prism2_srec -r wlan0 /etc/pcmcia/rf010804.hex
       pre-up wpa_supplicant -B -w -i wlan0 -c /etc/wpa_supplicant.conf
       post-down killall -q wpa_supplicant

=> now WPA encription should work :-), Tested with OZ 3.5.4 @ SL-5500G