Author Archives: Daniel Drake

Recent university projects

I’m currently studying innovation & entrepreneurship at Manchester Business School, and I’ve recently finished some exciting industry-linked projects.

In one group, we performed a market study of the offshore wind energy generation sector, working in collaboration with Cella Energy. Cella is commercialising a new approach to hydrogen storage which could have great implications on the energy sector in future. Through primary research with various offshore wind companies and industry experts, we identified the key challenges and benefits that would be offered by replacing costy undersea transmission cable’s with Cella’s hydrogen storage technology – just one potential application where this breakthrough could be applied.

In another group, we performed some research for Corporate Finance North West (Funding Enterprise). Through speaking to local small businesses, venture capitalists and business angels, we identified the key challenges associated with Investment Readiness of small firms in the area, and the difficulties in matching the right investor with the right opportunity. We found that there is a high availability of capital in this part of the country, but identified problems within the procedures under which investments are made. A section of our final report has been published by the client.

Thanks to everyone who collaborated on these highly rewarding and engaging projects.

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.

One Laptop per Child, La Rioja

I’m spending a few weeks in La Rioja, Argentina, again helping with a One Laptop per Child deployment.

The La Rioja project is interesting for a number of reasons; firstly, it’s the first large-scale XO deployment in Argentina. Secondly, the scale itself is quite remarkable: each and every one of the 60,000 primary school children in the entire province will receive a laptop. Thirdly, it marks the worldwide debut of the XO-1.5 laptop, the brand new hardware offering from OLPC.

I’ve been working exclusively with the technical and logistics team and it’s really impressive to see the work they’ve already completed. They already prepared an inventory system, selected teams for flashing, infrastructure, software customization, server rollout, and technical support. They produced manuals based on a handful of XOs they had available, and studied the OLPC/XO/Sugar documentation religiously. It’s great to see the project in good hands.

The first laptops have already arrived, and I’ll be posting updates in the next few weeks.