Thinfirm 1.5

From OLPC
Revision as of 16:45, 2 June 2010 by Derosier (talk | contribs) (Updated to reflect current status.)
Jump to: navigation, search

This documents the project to create a thin firmware and libertastf driver for the XO-1.5.

Introduction

The XO-1.5 uses the Marvell 8686 module instead of the 8388 that the XO-1s used. There is thin firmware and a libertastf driver for the Marvell 8388. New firmware and modified libertastf drivers need to be written.

Project plan

Ultimately, we will deliver a thin firmware and a working libertas tf driver to go with it. These will work on XO-1.5. However, it's better to split the larger task into several smaller sub-tasks. These are outlined below (already completed sub-tasks prior to this breakdown are excluded).

ID Milestone Deliverable Tests Status
1 Compile full firmware build sd8686.bin Does full firmware load on XO-1.5? Done
2 Thin firmware specification Initial version of specification Readable version of spec checked in. Done

Thin firmware spec

3 wireless-testing kernel on OLPC?

Find out if wireless-testing will work on the OLPC. It's OK if some parts are broken, only concerned about booting with a command-line and full functionality of network and network tools. This will give us the ability to only work with one kernel.

SDd 4/19/2010 Found out that the libertastf in the XO-1.5 kernel's working tree is in-sync with wireless-testing. I'll work with this kernel since the XO will work and it's in-sync. Still need to confirm I've got a working self-compiled version on an XO-1.5.

SDd 4/20/2010 Changing the plan again->going to pull OLPC patches into a wireless-testing workspace and then work off that.

SDd 4/23/2010 Done. Note that commits ac1a474d71d6cbf94bf26889da5768f5f2b0ca2b and 96021f096e5178582af296a2fbb6df7dbd6b695c on April 15th broke libertas_sdio for OLPC. Was able to revert them and got it working. Perhaps I'll fix the problem in time, but it's not in scope of my project.

  • wireless-testing on Obelix
  • working kernel image on XO-1.5
  • Does XO-1.5 boot?
  • Does network work with standard libertas full firmware?
Done
3.5 Sync libertastf debug changes with current kernel Patches sent to wireless-testing libertastf works with debugging turned on Done -> patches are in wireless-testing
4.1 libertastf_sdio download and run helper firmware
  • Driver 0.01 - new libertastf_sdio
Check that libertas_tf_sdio can load the helper firmware by checking that it is running. Done
4.2 libertastf_sdio download and run full firmware
  • Driver 0.02 - new libertastf_sdio
  • unmodified full firmware
Check that libertas_tf_sdio can get through probe and load full firmware. Verify in debugger that firmware

is running.

Done
4.3 libertastf_sdio get MAC address
  • Driver 0.03 - new libertastf_sdio
  • unmodified full firmware
Verify that driver can get valid MAC address during setup. Done
4.5 libertastf_sdio with full firmware
  • Driver 0.1 - new libertastf_sdio
  • unmodified full firmware
  • packet injection test - use packetspammer
Check that 802.11 packet makes it to firmware by using break-point in debugger Done
4.9 libertastf_sdio with full firmware passing packet to air
  • Driver 0.1 - new libertastf_sdio
  • modified full firmware - remove drop of full 802.11 packet by sdio subsystem
  • packet injection test - use packetspammer
Check that 802.11 packet makes it to air using sniffer Done
5 Thin firmware
  • thin firmware 0.1 - supports management frames
  • Associate to AP
  • Ping
6 Monitor interface
  • Driver 0.2
  • thin firmware 0.2
  • iw add rtap0 interface
  • sniff packets
7 Mesh
  • Driver 0.3
  • thin firmware 0.3
  • Associate to mesh
  • Ping

Links