Libertas Thinfirmware HOWTO

From OLPC
Revision as of 19:52, 13 April 2010 by Cjl (talk | contribs) (Reverted edits by I suck Sj's penis (Talk) to last revision by Derosier)
Jump to navigation Jump to search

This documents describes testing the softmac solution for the 88w8388 device included in the XO. We also refer to this project as Thinfirm. The objective of this project is to make possible to use an XO as a soft wireless access point.

thinfirm 1.5

A new thin firmware is being developed for the XO-1.5 as it uses the 8686 chip instead of the 8388. Also, SDIO needs to be added to the libertastf driver as the 8686 is on SDIO and not USB.

For project details, please see the thinfirm 1.5 project page.

For thinfirm on the XO-1, please continue with the remainder of this page.

Getting the firmware

# wget http://dev.laptop.org/pub/firmware/libertas/thinfirm/lbtf_usb-5.132.2.p3.bin
# cp lbtf_usb-5.132.2.p3.bin /lib/firmware/lbtf_usb.bin

Getting and compiling the kernel

  • Get the kernel:
$ git clone git://dev.laptop.org/users/javier/libertastf.git

You can build this kernel and deploy it in the target XO following the instructions at Kernel Building. The kernel can be configured properly running

$ make olpc_defconfig

And then enabling mac80211 support and the following specific driver options:

CONFIG_LIBERTAS_THINFIRM=m
CONFIG_LIBERTAS_THINFIRM_USB=m

If you plan to use the XO as an Access Point (see XO as AP) you probably also want to enable bridging support:

CONFIG_BRIDGE_NETFILTER=y
CONFIG_BRIDGE=m
  • Build and install.

Note that the tree is based on the olpc-2.6/master branch, which is experimental. At the time of this writing it is necessary to boot pressing the check button (right button on the pad on the right of the screen) to disable the pretty boot for the system to be usable. Once it has booted, the system then will try repeatedly and without success to boot the GUI. This can be stopped with

# mv /usr/sbin/olpc-dm /usr/sbin/olpc-dm.disabled

The file must be restored to its original name to make the GUI work when using stable kernels.

If the fullmac libertas driver (the one shipped in the builds) is also compiled, both will compete for the device when it is discovered. In this case it is recommended to blacklist one of the two modules in /etc/modprobe.d/blacklist so the other will be the one to load.

Switching to libertastf

If libertastf module has been blacklisted and thus libertas gets loaded, it is possible to easily test the libertastf driver:

# rmmod usb8xxx libertas
# modprobe libertastf_usb
# ifconfig wlan0 up
# iwconfig wlan0 essid whatever
# dhclient wlan0

To set up an XO to work as an access point, please follow the instructions at XO as AP.