Thinfirm 1.5

From OLPC
Revision as of 20:53, 16 June 2010 by Patrol (talk | contribs)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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