Revision as of 10:29, 7 June 2014 by Craig Peacock (Talk | contribs)

iw

iw is a new nl80211 (802.11 netlink interface) based CLI configuration utility for wireless devices.

Netlink Protocol Library Suite

iw requires the Netlink Protocol Library Suite (libnl)

Download, cross compile and install the Netlink Protocol libraries:

wget http://www.infradead.org/~tgr/libnl/files/libnl-3.2.24.tar.gz
tar -xzf libnl-3.2.24.tar.gz
cd libnl-3.2.24
./configure --host=arm-linux-gnueabi --prefix=/usr/arm-linux-gnueabi
make 
make install
cd include
make install

iw

With the Netlink Protocol Library Suite prerequisite installed, download and build the iw nl80211 based CLI configuration utility:

wget https://www.kernel.org/pub/software/network/iw/iw-3.15.tar.gz
tar -xzf iw-3.15.tar.gz
cd iw-3.15/
export PKG_CONFIG_PATH=/usr/arm-linux-gnueabi/lib/pkgconfig
export CC=arm-linux-gnueabi-gcc
make

Manually install iw and required libraries on your target root-fs:

cp iw /home/export/rootfs/sbin/
cp /usr/arm-linux-gnueabi/lib/libnl-genl-3.so.200 /home/export/rootfs/lib/
cp /usr/arm-linux-gnueabi/lib/libnl-3.so.200 /home/export/rootfs/lib/

And update the dynamic linker run-time bindings on your target:

ldconfig -v

wpa_supplicant

wpa_supplicant is a WPA Supplicant for linux offering support for WPA and WPA2.

Netlink Protocol Library Suite libnl-1.x

wpa_supplicant requires the Netlink Protocol Library Suite (libnl) version 1.x.

Download, build and install libnl-1.x:

wget http://www.infradead.org/~tgr/libnl/files/libnl-1.1.4.tar.gz
tar -xzf libnl-1.1.4.tar.gz
cd libnl-1.1.4
./configure --host=arm-linux-gnueabi --prefix=/usr/arm-linux-gnueabi
make 
make install

OpenSSL

OpenSSL is a library for Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1).

Download, build and install OpenSSL:

wget https://www.openssl.org/source/openssl-1.0.1h.tar.gz
tar -xzf openssl-1.0.1h.tar.gz 
cd openssl-1.0.1h
export ARCH=arm
export CROSS_COMPILE=arm-linux-gnueabi-
./Configure linux-generic32 --prefix=/usr/arm-linux-gnueabi
make
make install

wpa_supplicant

With all the prerequisites installed, finally download, build and install the wpa_supplicant:

wget http://hostap.epitest.fi/releases/wpa_supplicant-2.2.tar.gz
tar -xzf wpa_supplicant-2.2.tar.gz
cd wpa_supplicant-2.2/wpa_supplicant
cp defconfig .config
make CC=arm-linux-gnueabi-gcc
make install DESTDIR=/home/export/rootfs

To be able to use wpa_supplicant on your target, it requires the following libraries to be installed:

cp /usr/arm-linux-gnueabi/lib/libnl.so.1.1.4 /home/export/rootfs/lib/
cp /usr/arm-linux-gnueabi/lib/libcrypto.so.1.0.0 /home/export/rootfs/lib/
cp /usr/arm-linux-gnueabi/lib/libssl.so.1.0.0 /home/export/rootfs/lib/

hostapd

hostapd is an 802.11 Access Point and IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator daemon.

Download, extract and build hostapd:

wget http://hostap.epitest.fi/releases/hostapd-2.2.tar.gz
tar -xzf hostapd-2.2.tar.gz
cd hostapd-2.2/hostapd
cp defconfig .config
make CC=arm-linux-gnueabi-gcc
make install DESTDIR=/home/export/rootfs

rfkill

rfkill is a userspace tool to query the state of the rfkill switches.

Download, extract and build rfkill:

wget https://www.kernel.org/pub/software/network/rfkill/rfkill-0.5.tar.gz
tar -xzf rfkill-0.5.tar.gz
cd rfkill-0.5/
make CC=arm-linux-gnueabi-gcc