(iw)
(iw)
Line 58: Line 58:
 
export CC=arm-linux-gnueabi-gcc
 
export CC=arm-linux-gnueabi-gcc
 
make
 
make
 +
</PRE>
 +
 +
Manually install iw and required libraries on your target root-fs:
 +
 +
<PRE>
 +
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/
 +
</PRE>
 +
 +
And update the dynamic linker run-time bindings:
 +
 +
<PRE>
 +
ldconfig -v
 
</PRE>
 
</PRE>

Revision as of 13:00, 5 June 2014

Enabling GuruPlug Server Marvell Libertas 8688 SDIO 802.11b/g WiFi

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

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

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:

ldconfig -v