Libertas Thinfirmware HOWTO: Difference between revisions

From OLPC
Jump to navigation Jump to search
mNo edit summary
No edit summary
Line 1: Line 1:
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.
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 AP|XO as a soft wireless access point]].


== Getting the firmware ==
== Getting the firmware ==


<pre>
<pre>
# wget http://dev.laptop.org/pub/firmware/libertas/thinfirm/lbtf_usb-5.132.1.p0.bin
# wget http://dev.laptop.org/pub/firmware/libertas/thinfirm/lbtf_usb-5.132.2.p0.bin
# cp lbtf_usb-5.132.1.p0.bin /var/lib/firmware/lbtf_usb.bin
# cp lbtf_usb-5.132.2.p0.bin /lib/firmware/lbtf_usb.bin
</pre>
</pre>


Line 11: Line 11:
* Get the kernel:
* Get the kernel:
<pre>
<pre>
git clone git://dev.laptop.org/users/javier/libertastf.git
$ git clone git://dev.laptop.org/users/javier/libertastf.git
</pre>
</pre>
Please note that this kernel is '''not''' appropriate for XOs. 2.6.26-rc1 was recently merged into olpc-2.6 master and we will add another tree or branch for XOs when it stabilizes a bit.


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
Enable mac80211 support and the following specific driver options:
<pre>
$ make olpc_defconfig
</pre>

And then enabling mac80211 support and the following specific driver options:
<pre>
<pre>
CONFIG_LIBERTAS_THINFIRM=m
CONFIG_LIBERTAS_THINFIRM=m
Line 23: Line 27:
* Build and install.
* 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 <strong>boot pressing the check button</strong> (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
If libertas driver (the former, fullmac one) is also compiled, both will compete for the device when it is discovered. In this case we recommend to blacklist one of the two modules in /etc/modprobe.d/blacklist (may vary among different distributions) so the other will be the one to load.
<pre>
# mv /usr/sbin/olpc-dm /usr/sbin/olpc-dm.disabled
</pre>
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 ==
== Switching to libertastf ==
Line 35: Line 45:
# dhclient wlan0
# dhclient wlan0
</pre>
</pre>

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

Revision as of 18:51, 5 June 2008

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.

Getting the firmware

# wget http://dev.laptop.org/pub/firmware/libertas/thinfirm/lbtf_usb-5.132.2.p0.bin
# cp lbtf_usb-5.132.2.p0.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
  • 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.