WPA supplicant
When dealing with "strong" encryption of WiFi networks, you have to setup a WPA or WPA2 configuration. To handle the requirements of these protocols during association, a userspace daemon is needed: it is called a WPA supplicant. The most used one on Linux is wpa_supplicant; we will see here how to install and configure it.
Contents
Installation
$ make menuconfig
Package Selection for the target ---> Networking ---> [*] wpa_supplicant [ ] Enable WPA with EAP [*] Install wpa_cli binary [ ] Install wpa_passphrase binary
EAP is only needed if you plan to use WPA in Enterprise mode == with a Radius server.
You also have to install drivers to make WPA Supplicant work:
$ make linux26-menuconfig
Device drivers ---> [*] Network device support ---> Wireless LAN ---> [*] Wireless LAN (IEEE 802.11) <M> Marvell 8xxx Libertas WLAN driver support < > Marvell Livertas 8388 USB 802.11b/g cards <M> Marvell Libertas 8385 and 8686 SDIO 802.11b/g cards <M> MMC/SD/SDIO card support ---> *** MMC/SD/SDIO Card Drivers *** <M> MMC block device driver
Usage
wpa_supplicant needs a configuration file in /etc/wpa_supplicant.conf. Here is an example:
ctrl_interface=/var/run/wpa_supplicant ctrl_interface_group=wheel network={ ssid="SSID" scan_ssid=1 proto=WPA key_mgmt=WPA-PSK pairwise=TKIP psk="PASSPHRASE" }
Then you have to load the MMC and Libertas SDIO modules:
modprobe mxcmmc sleep 1 modprobe libertas_sdio
Finally you can create the Wifi connexion with WPA Supplicant:
ifconfig iwlan0 up # wpa_supplicant -iwlan0 -c /etc/wpa_supplicant.conf -Dwext -B dhclient
Stop it
To stop WPA Supplicant daemon and switch off the connexion, you can use this command:
wpa_cli terminate
Then you can unload the MMC and Libertas SDIO modules:
modprobe -r mxcmmc modprobe -r libertas_sdio