Libertas Thinfirmware HOWTO: Difference between revisions

From OLPC
Jump to navigation Jump to search
(New page: 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 possibl...)
 
No edit summary
 
(12 intermediate revisions by 9 users not shown)
Line 1: Line 1:
<noinclude>[[Category:Network]][[Category:HowTo]]</noinclude>
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]].

== 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 ==
== 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.p3.bin
# cp lbtf_usb-5.132.1.p0.bin /var/lib/firmware/lbtf_usb.bin
# cp lbtf_usb-5.132.2.p3.bin /lib/firmware/lbtf_usb.bin
</pre>
</pre>


== Getting and compiling the kernel ==
== Getting and compiling the kernel ==
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 20: Line 35:
</pre>
</pre>


If you plan to use the XO as an Access Point (see [[XO as AP]]) you probably also want to enable bridging support:
Build and install.
<pre>
CONFIG_BRIDGE_NETFILTER=y
CONFIG_BRIDGE=m
</pre>


* Build and install.
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.

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
<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 ==


If libertastf module has been blacklisted and thus libertas gets loaded, it is possible to easly test the libertastf driver:
If libertastf module has been blacklisted and thus libertas gets loaded, it is possible to easily test the libertastf driver:
<pre>
<pre>
# rmmod usb8xxx libertas
# rmmod usb8xxx libertas
Line 34: Line 61:
# 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]].

[[Category:Firmware]]
[[Category:Network]]

Latest revision as of 02:13, 22 March 2012


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.