|
|
Line 32: |
Line 32: |
| 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 (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 | | libertas_sdio mmc0:0001:1 wlan0: Marvell WLAN 802.11 adapter |
− | </PRE>
| |
− |
| |
− | === iw ===
| |
− |
| |
− | iw requires the [http://www.infradead.org/~tgr/libnl/ Netlink Protocol Library Suite (libnl)]
| |
− |
| |
− | Download, cross compile and install the Netlink Protocol libraries:
| |
− |
| |
− | <PRE>
| |
− | 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
| |
− | </PRE>
| |
− |
| |
− | Now download and build the [http://wireless.kernel.org/en/users/Documentation/iw iw] nl80211 based CLI configuration utility:
| |
− |
| |
− | <PRE>
| |
− | 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
| |
− | </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 on your target:
| |
− |
| |
− | <PRE>
| |
− | ldconfig -v
| |
− | </PRE>
| |
− |
| |
− | == wpa_supplicant ==
| |
− |
| |
− |
| |
− | <PRE>
| |
− | 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
| |
− | </PRE>
| |
− |
| |
− |
| |
− | <PRE>
| |
− | 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
| |
− | </PRE>
| |
− |
| |
− |
| |
− | <PRE>
| |
− | 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
| |
− | </PRE>
| |
− |
| |
− | wpa_supplicant requires the following libraries to be installed:
| |
− |
| |
− | <PRE>
| |
− | 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/
| |
− | </PRE>
| |
− |
| |
− | == hostapd ==
| |
− |
| |
− | <PRE>
| |
− | 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
| |
| </PRE> | | </PRE> |
Revision as of 10:09, 7 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