Category Archives: OLPC

OLPC weekly update 01/07

  • Fixed Sugar’s HTTP file transfer collaboration mechanism which stopped working with the move to Python 2.7
  • Continued painful debugging of the libertas driver hang
  • Fixed a bug where the boot partition was not mounted on boot after activation
  • 11.2.0 release work and testing
  • 11 of the XO-1 and XO-1.5 power management kernel patches that I was previously working on were accepted by Andrew Morton, one step closer to them being included upstream
  • Took a couple of steps further on the SD/MMC runtime power management front in the upstream kernel

OLPC weekly update 24/06

I spent most of this week doing release management tasks for OLPC’s upcoming software release, known as 11.2.0. We are now in the final stages. Thanks to all the testing and feedback that has been sent in so far.

OLPC weekly update 17/06

OLPC weekly update 10/06

This week for OLPC, I’ve been looking at power management of SD cards, as this follows on from some work done last week, working around wireless card firmware bugs by resetting the card. It also falls into part of my work on upstreaming all OLPC’s kernel work.

OLPC’s kernel includes a hacky rfkill driver for power saving, where we use an rfkill interface to cut power to the SD card. This idea was (rightly) criticised by Linux SD/MMC layer developers, who pointed out that it should instead be done with the new SD/MMC runtime power management functionality, which allows driver writers to power on/off the card at will. Our wireless driver (libertas) should just power down the card when the network interface is down.

However, the new runtime power management functionality of the SD/MMC layer doesn’t work with our wireless card. After removing power, it fails to power it on again. With help from upstream I’ve been investigating this, comparing it to our known-working rfkill codepath which could reliably manage power state, and we’re now close to solving this properly.

I’ve also written the appropriate libertas code to perform power management as was suggested, which seems to be working nicely, on top of fixes in the MMC/SD runtime power management layer.

Also:

OLPC weekly update 03/06

My work this week:

  • Wrapped up metacity work to allow sugar to correctly implement its Alt-Tab handler
  • Minor updates/fixes to our previous Sugar activity updater for inclusion in 11.2.0 builds
  • Worked around a long-term MediaWiki-squid bug that was interfering with our activity group hosting on the OLPC wiki.
  • Implemented and tested ubifs image signing in olpc-os-builder in preparation for 11.2.0 release
  • Fixed a couple of new bugs with olpc-update versions management (#10929, #10942), hopefully without introducing more bugs!
  • Fixed a new libertas wifi reset issue introduced by the rfkill fix last week
  • Worked around a strange libertas_sdio wifi hardware issue highlighted by a new MMC interrupt handling optimization in the upstream kernel
  • Started investigating a low-level Python crash sometimes triggered by Sugar usage
  • 11.2.0 releases 21/22 and testing

OLPC weekly update 13/05

My OLPC work this week:

  • Finished merging Simon’s dotted Sugar activity version support from a few months ago now that appropriate base libraries are in Fedora.
  • More work on the libertas resume hang bug. I may have identified the cause and fixed it, testing next week will confirm.
  • Some forward-looking work on running rawhide (to become Fedora 16) on the XOs.
  • Cleaned up some kernel odds-and-ends, upstreamed a couple more patches

OLPC weekly update 06/05

My work for OLPC over the past week:

OLPC weekly update 29/04

I’m going to start posting brief weekly updates here to communicate what I’m working on as part of my work with OLPC. To begin, here’s last week and the short easter week that came beforehand:

  • An omission in fakeroot was preventing olpc-update from working (server-side) with 11.2.0. I spent some time working on this before realising this fakeroot limitation is well-documented and well argued in the man page, so I eventually resorted to applying a simple workaround in the build process. I identified a better solution that could be applied in future.
  • Started olpc-update testing with the workaround applied – so far so good
  • Tested Jon’s hardware cursor patch for XO-1.5, found some issues so it is not enabled in the builds yet.
  • Noticed that Andi Kleen has picked up 2.6.35 maintenance, merged his work into our kernel tree and did some brief testing
  • Still working on our libertas resume crash bug, key aspect seems to be that the kernel identifies a transmit timeout (rightly or wrongly) during early resume.
  • Looked at Gonzalo’s initial work to port record to the new Sugar toolbar model – found some issues.
  • Finished preparing 11 kernel patches to implement OLPC power management to send upstream next week
  • Some bug triaging and preparing of 11.2.0 build 17.