Enable the following Kernel modules and recompile:
Device Drivers > Network device support > Wireless LAN Marvell 8xxx Libertas WLAN driver support Marvell Libertas 8385/8686/8688 SDIO 802.11b/g cards
Download Binary BLOBs to /lib/firmware:
mkdir /lib/firmware cd /lib/firmware wget http://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/plain/mrvl/sd8688_helper.bin wget http://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/plain/mrvl/sd8688.bin
And reboot. Upon boot, the kernel should try to load the firmware before the rootfs is available and fail.
mmc0: new high speed SDIO card at address 0001 libertas_sdio mmc0:0001:1: Direct firmware load failed with error -2 libertas_sdio mmc0:0001:1: Falling back to user helper
It should then retry after rootfs is available and report something similar to:
libertas_sdio mmc0:0001:1 (unregistered net_device): 00:24:23:1f:b3:e9, fw 10.38.1p25, cap 0x00000303 libertas_sdio mmc0:0001:1 wlan0: Marvell WLAN 802.11 adapter
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
Now 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
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
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
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
wpa_supplicant 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/