[Community-news] OLPC News 2007-10-06
walter.bender at gmail.com
Sat Oct 6 13:04:14 EDT 2007
1. Addis Ababa: Matt Keller and David Cavallo ran a learning workshop
for leaders from the Ethiopian Ministry of Capacity Building (MoCB),
school principals, teachers, university support people, the team from
GTZ, and local software people. The GTZ team led by Thomas Rolf is
doing an incredible job coordinating with MoCB in implementing the
work and guiding the project.
2. Gamepad button: when "left" was pushed on the game-pad controller
(on the left side of the bezel) in B3/B4/C machines, the response was
usually "down." A small change in tooling proposed and executed by
Quanta has fixed this; "left" will be working in the mass-production
3. Trial 3: We are very close to our Trial-3 build; several key bug
fixes are underway and we should close out development very soon.
Development for first release (primarily bug fixes) is underway (See
encourage you to try the current build. Community feedback from the
early use of recent builds helps us uncover bugs; for example, a
Journal/JFFS2 bug that we are resolving now.
4. Schedule: We had a number of meetings this week on the feature set
(and bugs) for first deployment, including a review meeting with the
Collabra team at our Cambridge (MA) offices. The feature-freeze date
for First Deployment is October 16; the code-freeze date is November 2
5. Testing: Alex Latham tested many areas of the latest releases this
week in order to find regressions and get through verification of
recently fixed bugs. His focus was on mime types—getting the right
activities to be available for opening files—and "real" activation
testing on firmware-protected laptops. Alex also tested our new
Amharic keyboard; Watch and Listen Version 8; human-readable filenames
in the Journal; the upgrade process from Build 542 to our more recent
builds; and Record playback. Yani Galanis tested various
configurations related to network management: link-local mesh and
school-server mesh. He is documenting everything we know about routing
tables, Gabble and Salut in regard to how they interact with our
various network configurations.
6. Sugar and activities: Simon Schamijer fixed a bug that was
preventing the display of "myself" in the Friends View. Simon modified
the behavior of the network icons (AP and MeshDevice) in the Mesh
View; they no longer blink when activated—instead, the border circle
turns from colored to white. This is in order to save power since
blinking graphics require the system to wake up and use power
unnecessarily. Simon also made some adjustments to the behavior of
the Browse Activity: it now starts with the Browse Tab open; the
warning page for about:config has been disabled; browse history has
been limited to 50 entries; the history entries are displayed in pages
of 15 entries each for both the back and forward buttons. Marco
Pesenti Gritti tracked down/fixed a few issues with the media players
and mime associations. Thanks to the efforts of the team at NATE-LSI,
Universidade de São Paulo, Paint now resumes from the Journal. Erik
Blankinship and Bakhtiar Mikhak have re- enabled picture deletion in
the Record Activity.
7. Journal and datastore: Tomeu Vizoso profiled, studied and improved
the performance of the datastore with Marco and Ben Saller. They fixed
the worst bottlenecks in both the datastore and Journal. Preview
images had been incorrectly stored, causing slow updates and retrieval
of results, high memory usage, and the waste of flash space. Updates
were being flushed to the index too often, causing fragmentation in
the jffs2 file system to the point that, at startup, the
garbage-collector thread took much of the CPU—enough for some services
to remain stuck until they were restarted. Improvements were made to
the performance and memory consumption of the datastore's use of
Xapian (the search engine). After further testing we hoping to
incorporate the changes into Trial-3, as they represent a significant
Along with Dave Woodhouse, they tracked down the "white journal"
problem (trac #3978). David looked at the associated JFFS2 problem;
initial diagnosis is fairly much as expected; one of the fixes is to
change the criteria for when garbage collection (GC) is triggered. We
had been running GC only when we actually need the space, but we
should probably do it when we have a lot of obsolete nodes, even if we
don't yet need the space. Simon Schamijer corrected the way the
Journal displays bundles by exploiting .activity information (trac
#3757). Tomeu also worked on a problem regarding the recreation of
the datastore index on mount failure of removable devices (trac
#3180). He also fixed tags field in the detail view (trac #3180) and
refreshed the toolbar filters when an entry is created (trac #3790).
8. Security: Ivan Krstić reports that the laptop tracking application
(named "Bentham") is finished. Michael Stone—along with Marco and
Tomeu—has been actively engaged in a discussion on the Sugar mailing
list in regard to user interaction for file open and/or Journal access
(See trac #2328). The discussion raises concerns about low-level APIs
and semantics and is further documented in trac #3801 ("Rainbow,
Sugar, and the Datastore need to integrate to isolate Activities from
the Datastore"). Michael also worked with Andres Salomon and Herbert
Poetzl to test and fix the available vserver patches. All available
patches have been integrated into our kernel and will soon appear in
builds. (This work should allow us to close trac #3924.) Andres also
prepared new kconfig patches for upstream (something that he had put
off for a few weeks while working on powermanagement stuff). He is
finishing them up and get them upstream ASAP.
9. Suspend/resume: How many suspend/resume cycles does your laptop
make before crashing? At OLPC, we strive for millions of cycles, and
have been making progress toward that goal. Around one-month ago we
realized that our laptop was having hardware problems related to
suspending and resuming. These problems were significant when a laptop
was woken from suspend by the arrival of a network packet addressed to
We quickly identified the most significant causes of crashes (waiting
until a clock settled, and a precipitous turning on of various parts
of the laptop), and have slowly worked on identifying and fixing the
remaining problems. The difficulty lies in the infrequent nature of
the remaining problems. Obtaining meaningful test results can take
In order to correct this, we have built a testbed for long-term
testing of suspend/resume problems. Presently, around twenty laptops
are in the testbed, continually going into suspend and then resuming
to respond to a network packet arriving every second. The serial
console of the main processor in each laptop (and in some cases, the
serial console of the embedded power controller) are continually
logged so that we can identify the cause of a crash.
John Watlington wants to thank the entire OLPC team for their help
with this problem. Everyone has pitched in, from Yani Galanis helping
to modify the laptops, Alex Latham, Chris Ball, and Danny Clark
working on setting up testbeds, Richard Smith providing crucial pieces
of firmware (while at the end of a 48 Kbps phone line in Arkansas),
Joshua Seals getting tools, to Andres Salomon and Mitch Bradley
working on the DCON workaround. Our colleagues at Quanta have also
been working hard to fix and test these problems.
10. Build System: Chris Ball worked on automation improvements to our
"pilgrim" script for creating builds, with Scott Ananian and Michael
Scott Ananian fixed the upgrade server on updates.laptop.org to install
new builds on demand. The three of them discussed and designed
refactorings of our current build system and implemented an hourly
build of two new build branches, "Joyride" (our new "unstable" branch)
and "Meshtest" (automatically installed on our mesh testbed, which
auto-runs mesh network tests). To add a package to Joyride, place an
RPM in ~/public_rpms/joyride/ in your account on dev.laptop.org. It
will automatically be included in the next hourly build (See
http://xs-dev.laptop.org/~cscott/olpc/streams/joyride/). It may take
an extra hour for the presence of a new ~/public_rpms directory to be
11. Updates: Scott installed sample Debian and Debian-big "updates" on
updates.laptop.org as a proof-of-concept. Scott also improved
persistence of internationalization settings on upgrade. Note that
there is an olpc-update program in our newer builds can now update a
system quickly without reimaging or the cumbersome USB update
procedure. This makes it very easy to update to the current build (or
install other builds entirely).
12. Pretty boot: Scott landed improved "pretty boot,"visible when
booting in "secure" mode. Scott also added a UL safety warning screen
to the shutdown sequence.
13. X Window System: First the good news: we may have found a smoking
gun for the "jumpy mouse" bug. There seems to be a locking bug in the
kernel. Andres has not had time to work with Bernardo Innocenti to
resolve them yet, but we are confident that we are on the right path.
Also, X Server 1.4 is ready for prime time! Input autoconfiguration
works. Bernie has a few questions for the author of
evdev, but it is good enough for general usage. He is packaging up
things for testers. And then the bad news: Ethiopic has regressed
somehow. But there is a fix on the horizon: it should work with the
latest version of glibc (2.6.90-17).
14. Firmware: Dave Woodhouse helped Mitch Bradley to find and fix an
ECC correction bug in OpenFirmware, which is what caused Nicholas to
bring a non-booting machine back from a demonstration. Dave has also
set up a test cycling DCON power on and off repeatedly, with no
interesting results so far.
Mitch released Q2C28 firmware, the test candidate for mass production.
It supports security (and pretty boot), and includes a UL safety
warning screen behind a button. He also designed the secure NAND
filesystem update; implemented the firmware support for it and Linux
tools to create the images.
Scott worked with Mitch on firmware security: a secure USB upgrade
mechanism for unactivated machines and a key deprecation mechanism.
Richard Smith released all his EC code patches to Quanta. Quanta is
still working on some changes to the NiMH charging code with GoldPeak.
Richard merged in their pre-release and re-submitted his patches.
15. Core activities: There has been a discussion on the devel list
about the criteria for inclusion of core activities on the laptop.
We'd like to broaden the discussion. Some proposed "Criteria for
A. Epistemological impact—to what degree does this activity positively
impact learning? (This is of course the most important criteria.)
B. Fun—is it fun? engaging?
C. Quality—is the activity sufficiently robust in its implementation
that it will not compromise the integrity or supportability of the
system? Is the overall quality of the implementation adequate to meet
our standards? Can the community be engaged in the process of testing
and "certifying" and maintaining the activity?
D.Sugarized—to what extent has the activity been integrated into
Sugar, including UI, Journal, security, internationalization, etc.?
Does the activity require the folding in of additional libraries and
resources? (This has impact on robustness—positive and
negative—support, bloat, and the overall usability, aesthetics, and
perception of quality of the machine.)
E. FOSS—is the activity and all of its dependencies free and open?
F. Extensible—is the activity something the community can extend? Does
it span multiple needs? (And does it have—or the potential of
having—an upstream community of support?)
G. Uniqueness—does the activity add a unique feature to the core?
H. Expectations—does the activity meet the expectations of (children,
teachers, parents, G1G1 audience, etc.)?
I. Discoverable—is the core activity discoverable? (This is not to say
that it shouldn't be hard work to fully exploit the power of an
activity, but it should have a low barrier to entry.)
One Laptop per Child
More information about the Community-news