[sugar] OLPC News 2007-11-17

Walter Bender walter.bender
Sat Nov 17 15:44:29 EST 2007

1. Nationwide: This week we launched Give One Get One (See
laptopgiving.org). eBay reports the fastest ramp-up they have ever

2. Changshu: Richard Smith and Gary Chiang found the root cause of
many if not all of our "hardware" suspend/resume problems. They were
caused unexpected interrupts being generated by the embedded
controller (EC) just as the laptop was going to sleep; the problem can
be corrected with a firmware upgrade. We will continue to test to
ensure that we can suspend and resume for a million cycles. This
development ends a four-month struggle to identify and fix major
problems associated with suspend and resume.

3. Mass Production: We had a glorious end to a near sleepless few
weeks for many. On Friday, we made a firmware fix to arguably our most
troublesome blocker bug. This suspend/resume bug could have limited
our battery life (between charges) when using collaborative
applications and mesh (details below). Thanks to all who helped from
OLPC, Quanta, Red Hat, AMD, plus many individual contributors; special
thanks to Richard Smith, John Watlington, Gary Chaing, and Mary Lou

The Pentagram designed OLPC boxes, both the five-pack and single-pack
look great, and are in stark contrast to all the other boxes in the

4. Firmware: Mitch Bradley fixed some bugs in the OFW JFFS2 driver.
They impact olpc-update, so we will need a new firmware
release?Q2D05?for the update. Mitch also installed the school-server
software and did some OFW network update testing. There is an issue
with the way that OFW associates with the mesh?currently OFW-based
updates only work with infrastructure mode. He  sorted out some issues
surrounding keyboard tags in manufacturing data and specified a new SK
manufacturing data tag to report the SKU number. This will let us
identify G1G1 machines in the data we get back from Quanta, so we can
generate developer keys for those machines.

5. Schedules: Many thanks to C. Scott Ananian who has led the team to
get to build a new in-house build system; as a result, we have a
better handle on the process, repeatability, and tracing to source
files. Some issues such as security and mesh sharing are taking longer
than expected to stabilize, so we are evaluating the impact on the
"Update.1" release schedule.

6. Testing: Dafydd Harries and Robert McQueen from Collabra visited
OLPC's Cambridge office for a week of "larger-scale" mesh testing and
debugging; lots of good progress was made. David Woodhouse was also in
town, working with Marvell, CozyBit, Ricardo Carrano, Marcelo Tosatti,
and Michail Bletsas to help debug Ticket 4470 (WLAN hang). We have a
much better understanding of this bug (See below) and hope to begin
testing a work around soon.

Simon Schampijer spent a number of hours at the local Starbuck's
testing various browser versions and settings with T-Mobile service.
He has narrowed down some slow response issues to a specific version
of our browser and is working with both Mozilla and T-Mobile to get to
the root cause.

Alex Latham spent another week in suspend/resume testing as well as
latest-build tests and various combinations of OS and kernel to help
identify problem areas. Ricardo is working on a test bed to recreate
Ticket 1863 (the LazyWDS bug) and help understand association problems
with various access points (Linksys mostly). He has also provided data
related to the amount of beaconing traffic from XOs.

7. Suspend/resume: As mentioned above, Richard Smith and Gary Chaing
solved the mystery of our suspend and resume problems (Ticket 1835)
that were bedeviling us in the factory. A well placed SCI just before
MAIN_ON goes low (i.e., during the suspend code) hangs the system. The
(primary) source of this SCI is from an wake up event generated by
traffic from one of the PS2 devices. The wonderful news is that this
is a firmware problem with the embedded controller, so our hardware
manufactured to date will work correctly once the firmware is
upgraded. A test bed of 41 laptops executed over 20,000 cycles without
a single 1835 error.

8. Sugar/activities: Simon Schampijer worked with Michael Stone on
Rainbow integration for the Browse activity and with Bernie Innocenti
on a change in the X11 symbol tables that caused the View Source key
to stop working. Bernie has requested to revert this change upstream.
Another bug was fixed in the full-screen mode.

Tomeu Vizoso fixed some bugs in the DataStore related to security, USB
sticks, and activity custom metadata properties. He also helped to
track down some bugs in Browse related to downloads and bugs in the
Journal in regard to bundle installation, updating of relative dates
in the list view and usability of the search entry.

Reinier Herres has been working on the Calculate activity. It can now
parse Unicode, thus its internationalization is somewhat improved.
Reinier also wrote a patch to enable "exit from full-screen" in the
the Browse activity. He also wrote a patch to display those activities
where a friend is participating in the Friends/Group view.

Sayamindu Dasgupta fixed a problem with font caching (Ticket 1525) by
backporting some changes from fontconfig 2.4.92 to 2.4.2 (the version
being used in the builds). This leads to more robust font caching, and
hopefully will resolve the issue of Activities taking up 100% of the
CPU due to an incorrectly set real-time clock and the issue of newly
added fonts not beng recognized by the system. Sayamindu has also been
helping with the final phase of our Pootle deployment: GIT integration
has begun and http://dev.laptop.org/translate should be fully open for
translation very soon.

Gabriel Burt posted a Pippy library to the Sugar list: the library
allows access to the camera from Pippy  and can easily be used to
time-lapse photography?thanks, Gabriel! An intuitive extension would
be to add a slide-show image viewer to Pippy for viewing these images.
There is a initial pass at a "Thanks" program in the Pippy library.
Please add any names we have inadvertently overlooked?in addition to
demonstrating table use, we are also using it to acknowledge community
contributions to the project.

Muriel Godoi release Memorize Version 20, which uses the new tubes
interface and has some fixes to collaboration mode. However, he has
some problems due to Rainbow issues (Ticket 4872) regarding loading
journal objects using objectchooser. Muriel is also making progress on
Food Force. He has the main interface coded in pgu, the GUI library
for pygame; there is a Sugar skin to widgets in pgu; and the first
version of the three basic classes that compose the game
model?resource, facility, and indicator?are running.

Bernie has integrated a few more keyboard changes and sent them
upstream. There are still a few pending keyboard changes unmerged,
e.g., Walter Bender has finished Dari and Uzbek keyboard layouts that
need merging. Bernie also released an updated version of olpc-utils
with bug fixes and simplifications. He is backporting it to our old
builds to enable localization on the stable builds too. He has
integrated more of his packages upstream and built them with Koji.

9. Power management: Chris Ball added more features to the power
manager, including a way to disable automatic suspend (run "touch
/etc/ohm/inhibit-suspend"), a shortening of the automatic timeouts (25
seconds until screen dim; a further 5 seconds until suspend), and
disabling these features when plugged into AC (or on an early-model XO
without reliable suspend support).

10. Builds: Dennis Gilmore joined OLPC this week to become our
"buildmeister." Dennis has been a mainstay in the Fedora build
community and with his joining the team, we hope to make integration
easier for community contributors. This week Dennis has been working
on automating conversion of .xo to .rpm?useful for when we build our
images. He also spent some time teaching SJ Klein and and Mako Hill
how to write spec files. And he has been working on getting those
pieces we have outside of Fedora back into Fedora; Dennis has branched
all the X packages Bernie has had separated for OLPC-2 and generally
trying to work out what is where, how, and why.

As noted above, C. Scott Ananian has continued work on build
maintenance. He also rewrote olpc-update, which is back in the builds
for those of you who'd prefer to update over the network. He also has
made a preliminary auto-update/theft-deterrence server implementation.

11. Kernel: Andres Salomon attempted to fix the double mouse-click
bug, which led him to attempt to build the xorg evdev driver, which in
turn required him to find all the appropriate RPMs?which were not all
that easy to find?and required him to set up an FC7+OLPC build
machine, which led to him to upgrading the kernel build machine (from
FC6) to FC7+OLPC, which has reaffirmed his great dislike of yum (and
rpm), caused kernel builds no longer worked, which thus required a
bunch of changes to the kernel spec file. He then decided that because
some of his sanity was still intact and because he could not get his
XO online to actually test the freshly built evdev driver, he would
start fixing Libertas (wireless driver) problems. He is now looking
for a brick wall to pound his head against.

12. Wireless: Dave Woodhouse spent the week working on the critical
wireless bug (Ticket 4470). Although the driver was misbehaving, we
have improved its behavior (the driver is now properly serializing
commands sent to the 8388's firmware) and we have fairly much
eliminated the possibility that the problem is caused by driver
misbehavior. Thanks also to Marcelo Tossati and Asish Shukla.
Marvell's team in Pune discovered that a wireless scan command would
occasionally timeout without a response, triggering a halt in further
command processing by the firmware. This seems to explain the behavior
noticed by David. There are plenty of issues with the driver?which may
well be causing less frequent problems?and the whole of the command
queuing needs to be rewritten. But not this week.

13. Presence: Robert McQueen and Dafydd Harries resolved a number of
issues this week: they learned how to make RPMs and became a Fedora
committer on the relevant packages; they found and fixed a very
reproducible bug where telepathy-gabble crashed due to buggy resolver
result retry code in loudmouth; they tested the benefits of and then
enabled SSL-level DEFLATE compression with appropriate patches to
loudmouth and presence service; they tested and pushed fixes for
telepathy-gabble and telepathy-salut into Joyride to make activity
sharing work when Rainbow is enabled; they perpetrated a nasty Network
Manager hack to disable scanning while connected, to try and help
avoid the perils of #4470 when testing collaboration stuff (thanks
dcbw); they discussed various UI strategies regarding scaling with
Eben Eliason, and they set up a cron job to remind them to file these
weekly reports :).

Rob also made a wiki page documenting how to set up ejabberd in the
way that jabber.laptop.org is configured (See
http://wiki.laptop.org/go/Ejabberd_Configuration). This will allow
anyone to create separate (or local servers) for experimentation
purposes, collaborating without network access, or just easing load on
jabber.laptop.org. Rob is also working on a page to document the
server extensions we currently rely on, and our plans to replace them
with an OLPC-specific Jabber component which should be more scalable
and can be attached to any unmodified Jabber server (See

Guillaume Desmottes engaged in on-going testing of activity sharing.
He tested the Salut fragmentation fix and fixed a Presence Service
regression regarding the Share property (Ticket 4660); he reported and
started to investigate a Gabble problem with sharing (Ticket 4809); he
fixed two sources of Salut crashing (Tickets 4885 and 4903); he
changed the Salut debug-flag behavior to make it consistent with
Gabble (Ticket 4886); he created a wiki page explaining how to enable
Telepathy log files (See http://wiki.laptop.org/go/Telepathy-debug);
he found and fixed a Presence Service bug: it didn't try to reconnect
Gabble when the initial connect attempt failed (Ticket 4907); he added
an exponential backoff in retrying Gabble connection (Ticket 2522);
and he wrote a workaround for D-Bus tubes within Rainbow (Tickets 4947
and 4948).

Morgan Collett fixed in Sugar regarding handling non-OLPC buddies;
buddies are tracked by key in Sugar but non-OLPC buddies have no key
(Ticket 4656). However, the fix is deemed too invasive for Update.1.
Morgan also assisted some activity authors with Tubes stuff, did some
Presense Service testing on Joyride; he reverted the HelloMesh
activity tutorial to previous method of getting buddies from handles
and Worked on Tubes tutorial.

Simon McVittie has also been doing a bit of bug herding and build
support. Also he has been doing upstream work on the development
version of telepathy-glib. Sjoerd Simons fixed and helped fixing some
of the bugs that were discovered during testing of Salut.

Walter Bender
One Laptop per Child

More information about the Sugar-devel mailing list