OLPC:News: Difference between revisions

From OLPC
Jump to navigation Jump to search
Line 3: Line 3:
[[Category:General Public]]
[[Category:General Public]]


=Laptop News 2007-07-14=
=Laptop News 2007-07-21=
1. Testing: We ran battery-life tests on 75 B4 laptops: results will be reported on the OLPC wiki this week. Next week we will use 100 B4s for mesh tests. Dafydd Harries and Simon McVittie of Collabora will be helping us with mesh-scaling and connectivity tests. The current software builds are progressing well. Most of the Trial-2 features are in Builds 528+; many activities (Read, Write, Chat, Connect4, Record) now have collaboration features enabled; the Journal is integrated, and small link-local mesh networks are working. Thanks to everyone who has been documenting, reviewing, and prioritizing bugs in Trac (http://dev.laptop.org); most have been triaged and will be fixed in the next release (Trial-3).
Congratulations to Chris Blizzard who welcomed home his new daughter, Samantha Snow Blizzard.


2. Trial-3: We've started discussions on the software release that will line up with the mass-production hardware build; it needs to be ready in early to mid September. This will be largely based on Trial-2 and will include many bug fixes and only small feature changes.
1. Intel became the newest member of OLPC this week.


3. Sugar: Marco Gritti reports “really good progress!” He has chased down numerous bugs—in the clipboard, regarding themes, palette behavior, and the user interface (UI). He has completed much of work of integrating open hardware management (OHM) with the UI. Other details include reworking the brightness and volume key handling for the B3/B4 keyboards; tracking down the “white row” X11 bug; and getting the Totem media plug-in to work in the browser. Tomeu Vizoso also made fixes to the Clipboard; he integrated recent changes in the datastore into Sugar; implemented lazy (paged) scrolling in the Journal by caching more entries than can be shown on-screen and fetching them opportunistically; and fixed some Sugar and Activity file leaks in /tmp.
2. Michail Bletsas attended Cisco's ConnectFest event at their Bay Area campus. It was organized by a group within Cisco with a strong interest towards the development of low cost, robust networking solutions for the developing world and was attended by a variety of people active in the area (Intel TIER lab, Meraki, Inveneo, Green WiFi, et al.).


J.M. Maurer added a “zoom” signal to the libabiword widget, and hook it up in Write; added full justification to the Write activity; implement “buddy left” in Write and the AbiCollab Sugar back end; and he fixed a bug that was causing Write to crash when opening a second instance.
3. Trial-2: This week completes integration of major features for Trial-2. Kernels in our Fedora-Core-7-based builds include a new X driver, our power management work, and VServer. Code freeze will begin on Monday; we will triage all bugs to minimize the change to the code base; we aim for a final Release Candidate at the end of this upcoming week. The goal for next week is to reach stability and to be able to demonstrate: collaboration, Journal, activation, mesh connectivity, and suspend/resume.


Arjun Sarwal worked further on optimizing the response time of the Measure activity (which turns the laptop into an oscilloscope). He has made improvements to the UI by adding a grid onto the background and he has chosen color scheme that improves contrast. New features include being able to start/stop the display and taking a snapshot of the currently displayed waveform. Data logging has also added. A version of the activity is available at the git repository under the category projects/measure (See http://wiki.laptop.org/go/Measure_/_Oscilloscope).
4. Testing: Each new build is now subject to much testing. (Please refer to the test-group release notes when deciding to download a build that isn't stable yet: [[Test_Group_Release_Notes]].)


4. GNOME Mobile: John Palmieri was at GUADEC (GNOME Users' And Developers' European Conference) this week, representing OLPC at the GNOME mobile and embedded (GMAE) meeting. The GNOME Mobile platform is a subset of the GNOME platform; it represents components that are currently shipping in the XO, the OpenMoko, the Nokia 800, and other devices.
5. Sugar: Red Hat’s Dan Winship also joins the Sugar team this week. He'll be working on builds while John Palmieri is on vacation; Dan has been working on Sugar bug-fixes.


5. Salut/Gabble: John was joined at GUADEC by Sjoerd Simons, Guillaume Desmottes, Morgan Collett, and Simon McVittie. Between sessions they they worked on minor bug-fixes and updates in Salut (link-local XMPP connection manager). Sjoerd figured out why Salut sometimes “looses” contacts on bad networks. Together, they finished the new tubes specification. Simon also worked on fixing avatar (buddy picture) bugs in Gabble (the Jabber/XMPP connection manager we use for chat and video calls).
Tomeu Vizoso refactored removable devices support in the Journal for robustness to support manual mount and unmount and physical removal of devices before unmount. He test the performance of the data store inside Sugar (the new one is much faster); the new data store now only indexes meta data, not file contents while Ben Saller gets the asynchronous content-indexing working again. Ben refactored large pieces of the data store and the data store's dependencies for performance improvements. This work has resulted in much needed performance improvements to the Journal.


6. Builds: Dan Winship cranked out multiple builds per day this week. (We are now up to Build 528.) He made a fix to Pilgrim to accommodate activities with spaces in their names; and he wrote some tools to help determine (and document) changes between builds.
Marco Gritti packaged various Sugar pieces for builds and continued to hunt down and fix Sugar bugs. He also wrote new introductory screen for Sugar.


7. Mesh activities: Dan Williams debugged and fix various activity sharing and Mesh View bugs. He fixed Python 2.5 issue that broke sharing in Record and Read; and he wrote a Jukebox activity, a gstreamer-based media player with Journal integration. He also did some Libertas maintenance, patch review; made wireless scans “less hacky”; and fixed a wireless scanning issue in NetworkManager that caused access points to drop off the mesh view over time.
6. Presence: Simon McVittie worked on medium- and long-term improvements to the dbus Python language bindings and made some short-term fixes. He also fixed a problem with Presence Service slowness (#1874 and #1927) and missing XO buddy names (#1967).


8. Power measurement: This week saw a flurry of activity trying to reconcile the power draw of each XO subsystem with what we expected. John Watlington, Richard Smith, Joel Stanley and Jim Gettys working on detailed analyses of power consumption. The goal of the measurements has been verification we have hardware in place enabling us to turn off any component at will and that an “off” component really is powered off. This will mean that as software development progresses, we will be able to keep any unused circuitry off or at low power when it is unused. We now have 29 different measurement points on the XO, giving us fine- grained data on every power rail, covering all major subsystems.
Sjoerd Simons has been testing and bug fixing in Salut (XMPP Link Local)—XMPP is the extensible messaging and presence protocol used in Sugar activity communication. He has hunted down some problems with Avahi service discovery and helped Guillaume Desmottes in designing some XMPP stream-manager improvements in Salut (for supporting streaming in tubes).


If all subsystems are on and running at maximum power use, the XO can consume a maximum of approximately six watts (ignoring external USB devices). To verify this, we have put the XO in various states of display, wireless, USB and CPU usage. Normal usage when the system is idle, or in ebook suspend mode, or mesh only mode is very much less than this maximum, of course.
Morgan Collett finished the “buddy-left” code in the Sugar Mesh View. and reviewed and merged some of Simon's Presence Service patches. He updated the Connect and Chat Activity releases for builds and he made a fix to Gabble to stop it trying to use IRC. He is looking into Presence Service performance and Salut issues.


The wattage drawn from each power rail was carefully reviewed and audited to make sure we knew where each watt was going. We were not able to account for every watt of the system, but we are really close—close enough that we feel that all the components are functioning as specified. But “as specified” in a few cases it still a bit high. WLAN and DCON (display controller) are a bit problematic. We have promises from the WLAN team that there are lots of knobs to tweak to reduce power consumption and that they will now start tuning those.
Dan Williams made many NetworkManager testing and fixes for mesh beacons, DHCP, link-local presence support. He also tested a fix for the camera-driver delay and pulled in a new gstreamer release.


The word from HiMax on DCON though is that what they measure for sleep-mode power draw is the same as what we measured for sleep mode, approximately 150mW. This is not acceptable. When we go into sleep mode or low-power WLAN-only mode we will need to drop the power to the DCON. This means that the kernel will soon have to sprout knowledge of how to init the DCON from power up. Previously the kernel could rely on OpenFirmware (OFW) to have initialized the DCON. (We have verified under OFW that we can drop power to the DCON and then bring it back to life.
7. Content distribution and updates: H.T. Kung's group at Harvard is working on a content distribution system for ad-hoc networks that utilizes network coding. The practical benefit of their approach is that distributing a large file among a number of laptops in a mesh network always completes within a determined amount of time, something not possible without network coding due to the inherent limitations of the wireless medium. They used 29 XOs to test their approach in Harvard's Soldier's Field during the hottest day of the summer. The XOs performed flawlessly!


Most other Linux power-management controls has been verified as now working correctly, e.g., audio, camera, etc. The surprise discovery is that our processor's power supply is not as efficient as it could be. On the more positive side, we shaved 30mW from the power required when the laptop is not turned off and another 35mW whenever the screen is turned on.
Alexander Larsson has been working on restructuring the “Updationator” repository format so that manifests are also stored as blobs. He created a repository at http://olpc.download.redhat.com and tested various upgrades of laptops from that. Updatinator 0.1 is in builds for testing.


9. Performance: Chris Ball changed some of our power behavior; we now turn off the screen while suspended via the power button or lid close, saving power. Chris noticed that resume from suspend becomes unstable if we are stressing the wireless radio at the time of resume. This bug has been passed on to Marcelo and Cozybit for investigation. Chris also reported a problem with game keys and power management events being seen as power-button presses to AMD; this is putting us into suspend when we don't expect to be going there.
8. Sugar activities: Marc Maurer has made numerous fixes to the collision handling in “AbiCollab”, the collaboration extensions to Abiword, AKA “Write” on the XO. It seems to now be quite robust, even on high-latency networks. Please test it. In the Write Activity itself, Marc has fix a problem with the font name/size combo-boxes; implemented a color-selection button that follows the cursor context; fix the insert-table button; and added a total page count to the View menu.


Chris is investigating our memory use, which has crept up recently—we are running more Python processes than we use to without having them share libraries, and running a greedy DHCP server (taking 12–20MB!)
Bert Freudenberg has been keeping pace with the changes in Sugar and has been producing a series of working .xo bundles of Etoys. Takashi Yamamiya and Ted Kaehler are working on the keyboard shortcuts that match with Sugar's conventions. Copy and paste also works due to Takashi's effort. Takashi also brought his ODE binding of Squeak up to date and made it compatible with the OLPC Etoys. Adjustment of buttons and menus are being made by Yoshiki Ohshima and Scott Wallace. Ian Piumarta, Bert, and Yoshiki are working on resolving a low-memory situation (that occurs on the B2-1 machines, which have only 28MB of DRAM). Ted, Kim Rose, Rebecca Cannara and Alan Kay continue on making more examples and demonstrations.


Chris and Richard wrote a Python script to calculate the watt-hour value reached by the battery tests we are doing. This lets us make accurate calculations on the duration we'll get from measured power draws.
Arjun Sarwal has made further improvements to the Measure Activity, which utilizes the microphone and analog data ports of the XO as input to a graphing program. He has added buttons for three frequency ranges; features for logging data and writing it onto a file and drawing a graph based on the logged data have been tested in emulation and will be soon tested on an XO. In testing the Activity, Arjun discovered that one can use the built-in microphone to directly measure one’s pulse.


10. Firmware: Quanta released the 2nd test for what will turn out to be the PQ2C20 firmware. Richard Smith reviewed all the changes. The highlight feature of this is the removal of code supporting Atest (dropping ATest code removed 672 lines from the code base.)
Eben Eliason and Manusheel Gupta have been working with Irene Ficheman and the team from NATE-LSI (Integrated Systems Laboratory), in the Polytechnical School at University of São Paulo on a new Draw Activity for the XO that utilizes the new Sugar tabs and styles.


Andres Salomon worked on a number of embedded controller (EC) fixes, including helping Richard debug EC issues by providing proper kernel support. Mitch Bradley got Forth running on the 8051 processor as a possible base for the open EC code and worked on a firmware release with activation support.
Miguel Álvarez did more work on the shared-state implementation and the Calculate activity, which now supports algebraic variables to do calculations such as: apples = 18; bananas = 12; price = 3×apples + 4×bananas.


Lilian Walter got IPv4 and IPv6 dual stack ping and finger working. Lilian is researching on how to implement Teredo tunneling (Teredo tunneling is a protocol designed to grant IPv6 connectivity to nodes that are located behind IPv6-unaware NAT devices); this involves Ipv6 features such as router solicitation/advertisement and DNS AAAA packets.
Eben and Muriel de Souza Godol have been integrating the memory game(s) into the new Sugar collaboration schema to allow for single- and multi-player gaming over the mesh. Next is adding a “view source” mode that lets the children design their own variants to the games.


James Cameron has started work on an open-source firmware implementation for the EC.
9. X Window System: Chris Ball took benchmarks for the fix to a long-standing font-corruption bug, which Bernardo Innocenti found and patched this week. Jordan Crouse and Adam Jackson are working out the right long-term fix for a very nasty class of bugs that affected a number of X drivers, not just the AMD driver. The benchmarks are inconclusive so far; more work needed to check that our fix is not causing a slowdown. Jordan also fixed some serious bugs in the X Server. Bernie resurrected our input driver: by the end of this week, the window system was again behaving properly, with the way paved for better performance in the long term.


11. Kernel: Marcelo Tosatti did more parallel suspend/resume testing; found an unnecessary call to mdelay() in the CAFE driver; and investigated more Libertas suspend/resume problems and failures under high traffic. Andres Salomon worked on another Libertas merge, dealt with getting code upstream, got the wakeup-from-keyboard work properly: lots of fixed bugs and hopefully fewer introduced ones..
10. Kernel: Linus Torvalds released 2.6.22 on Sunday, so this week started with more pushing of kernel changes upstream, including Dave Woodhouse's new battery-class driver, which is now in Linus' tree. During the week, Andres Salomon branched a few new stable kernel that included 2.6.22 final, a large libertas update, audio and camera LED fixes, and a number of DCON and LXFB fixes. The DCON freezing feature should be a lot more reliable now that we've switched to using a work-queue, and included a bunch of Adam Jackson's timing fixes.


Remaining for completion of Linux kernel power management is powering the DCON down when not in use (saving 150mw in suspend, as noted above), and debugging of the DCON patch to enable the use of the DCON use when the window system is idle (saving more than 0.25 watts while running). We also need to explore how much power is saved by turning off the Dotclock PLL in the processor when it is not needed. These will improve further our battery life.
In the process of testing, Andres discovered a bunch of fun new bugs:
JFFS2 corruption that ate the filesystem on a B4, libertas failing to associate, and not-yet-isolated USB-storage corruption issues. Dave Woodhouse is looking at “wireless in initrd” to enable boot, installation, and testing via the wireless network, without having to rely on the NAND flash.


12. School server: Daniel Wyatt made the first installing, pre-configured school-server live image (See xs-dev.laptop.org/xs and the scripts in the git tree http://dev.laptop.org/git.do?p=projects/livecd-data;a=summary ; the configuration files are at http://dev.laptop.org/git.do?p=projects/xs-config;a=summary and the XS “call home” scripts are packaged at
Richard Smith and Andres are investigating missing keypresses after resume. The kernel is losing some of the PS2 interrupts. More work is needed to determine where the keypress is going.
http://dev.laptop.org/git.do?p=projects/xs-callhome;a=summary).


13. Content bundles: With input from the community, Lauren Klein and Kathy Paur helped flesh out the content-bundle specification. Now we need to implement a mime-type hook for .xol (the extension name being considered) and a script to unpack it and regenerate a navigation templates in /home/olpc/Library. We have had some community members already uploading .xol files to the [[Library Grid]] on the OLPC wiki.
11. Suspend/resume: Marcelo Tosatti merged the USB and libertas suspend/resume code to master kernel tree; he also conducted more suspend/resume tests. He wrote code to support new rtc-cmos driver (configurable wakeup) and added platform devices for the power button and the lid-closed detector. He investigated individual device power-down and determined that we cannot use Libertas power-save mode when mesh is active. He wrote patches to turn off more parts of the cs5535 audio and USB Host Controller. Finally, he wrote some parallel-driver resume code; we can clearly see the culprits of slow resume time.


14. Content Jams: CC-Taiwan is one of the largest Creative Commons chapters; and they are very excited about running a content jam around Wikimania. Another Jam is being planned around linuxconf.au.
12. Power: John Watlington, Richard Smith Jim Gettys, Chris Ball and Joel Stanley on further power tests, trying to accurately determine which devices are responsible for our current power draw, and verify our design before the schematics are frozen for production. Joel, John and Richard took many power measurements with an instrumented XO attempting to verify all the power domains prior to the C Build. They took reading; added more channels; took more readings; and then added even more channels. The measurement system is now up to 22 channels. Things mostly look OK, but there is still some power draws that are not accounted for and are being investigated.

Kim Quirk and John Fuhrer have been conducting more battery-life tests this week. We are gathering baseline lifetime numbers to compare against as we make improvements and changes in power management. Battery life on B4 is substantially improved from B2 builds on B2 hardware while running; battery lifetime when running mesh only are currently less than expected: Michail says the Marvell wireless firmware power consumption can be significantly improved over our first measurements.

Richard Hughes continued work on the open hardware manager (OHM); OHM, which is our power-policy daemon, has landed in the builds. Richard is working on integrating OHM with the XO hardware. OHM handles suspend on power button press, configurable backlight dimming after idle time when on battery, and will soon handle going into suspend based on whether we're idle.

13. Security: Nelson Elhage and Michael Stone stress tested Vserver patch in preparation to its merger on Friday. Mitch Bradley, Ivan Krstić, and Scott Ananian hammered out a firmware security specification describing the interaction of Open Firmware and the kernel/ramdisk for activation, upgrades, and booting from a backup (See [[Firmware_Security]]).

Ivan wrote some basic activation code, which Scott hacked a bit (See http://dev.laptop.org/git?p=users/krstic/leases and http://dev.laptop.org/git?p=users/cscott/cscott-leases-tmp).

Scott created an initramfs for early-boot, which does activation and
some upgrade and boot tasks (See http://dev.laptop.org/git?p=users/cscott/d-i and http://dev.laptop.org/git?p=users/cscott/rootskel-olpc).

Finally, Scott adopted the OLPC reinstallation script and is working on
adding support to have it generate a temporary-format of activation lease during installation, so that we can put activation in our builds and exercise it without “bricking” all our developers' machines.

Noah Kantrowitz and Michael Stone are continuing Bitfrost implementation work; Nelson Elhage ran stress tests on the VServer kernel (no problems) and verified it has undisturbed IPv6 connectivity; SecOps will provide a set of RPMs that allow for any machine running the Trial-2 build to experimentally enable Bitfrost by virtue of a simple 'yum install olpc-security'.

14. Embedded controller: Richard Smith submitted a patch to back to Quanta that fixes the on-board temperature sensor. It showed up in PQ2C19 which Quanta released on Friday.

15. Laptop hardware: John Watlington worked on last-minute tweaks to the laptop electronics; these were tested this week, with the deadline for changes before mass production looming. These included adding an anti-aliasing filter to the microphone input, eliminating the speaker pop when suspending/resuming, and making sure that the EC is capable of waking up on all relevant events (WLAN packet received, lid opened/closed, etc.)

16. School Server: Daniel Margo gathered data about the modified packages and configuration files for the School Server and put the configuration files into a data repository (See http://dev.laptop.org/git.do?p=users/danmargo/livecd-data;a=summary). Dan made packages of these configuration files and put them in the repository (See http://fedora.laptop.org/olpc-local/i386). However, he could not get them to build into a working live CD. As an interim workaround, he had made a live CD with the packages that were on schoolserver (but not the configuration, so it is not particularly interesting yet).

17. Games: Kent Quirk reports much progress:
* Roberto Fagá continued work on ISIS, the adventure game engine. It now supports variable phrase order for different languages in its text system; he is building out the object hierarchy for the datatypes and classes of game objects.
* Patrick DeJarnette has almost finished the Side-scroller game engine. The engine now has the ability to finish a level and display between-level and game-over screens, and it features multiple lives, multiple levels, and coin-collection. The Side-scroller system is complete enough to play and create levels. It could use help from a good artist, and it still needs to be packaged and to have some sample levels.
* Lincoln Quirk has been maintaining the PyGame wrapper and the OLPC wiki pages describing it ([[Game development HOWTO]] and [[Pygame wrapper]]). He addressed and fixed the problem with event-queue overflow and has implemented a Pango wrapper to render fonts onto SDL surfaces. It is not yet an ideal solution because some libraries are still lacking Python support. He has also been helping to support various people who are trying to use PyGame and the wrapper.

18. Content workshops: Mel Chua, Wayne Mackintosh (Commonwealth of Learning), and SJ Klein are looking for mentors and sponsoring groups at
companies and universities to support a trial season of a Summer of Content effort, running from August 10 to September 23. This would be a way to support some of the authors and creators working to make materials for trial schools.

Summer of Content will run two summers a year (one each in the Northern and Southern Hemispheres); plans for a full summer starting in December will be in place by August 15. We are looking currently for mentors that speak Arabic, Portuguese, and Thai (See [[http://www.wikieducator.org/Summer_Of_Content_Proposal]]). We are aiming to have 50 small-stipend internships for 6–8 weeks this summer.

COL has committed to sponsoring and mentoring five interns from the Commonwealth states. COL is looking for supporting organizations in India and their network in the South. Name.org out of Denver (the non-profit branch of name.com) has committed to sponsoring interns (from anywhere); the EGAP public policy school at Tecnologico de Monterrey are also on board and have space and mentors for Spanish-speaking interns.

Please send interest or potential contacts for mentorship/sponsorship to
SJ and to Mel <mel@melchua.com>.

19. Creative Jams: A Guide to Jams will be published to the OLPC wiki soon. The general idea behind a jam is to: bring people together; provide food and feedback and good cheer; in less than three days, create and test a series of [activities, texts, videos, games] designed for children and for use with XOs.
20. Content bundles: After some discussion about how to define non-activity bundles, there is now a working spec for people who want to provide non-executable bundles that can be browsed or launched from a browser (See [[Creating_a_content_bundle]]).

21. Music: The Free Music Project is now synchronizing with Jamendo, which has an efficient way of verifying that submitters are the authors of the works they suggest is freely licensed, and have hundreds of CC-BY pieces. Jamendo is working on an OLPC portal of sorts; there is no spec yet. The Free Music folks have new DJs and modern musicians recording for the XO, including The Juan Maclean, Maga Bo, and DJ C (See http://www.thejuanmaclean.com/).


=More News=
=More News=

Revision as of 16:48, 21 July 2007

  This page is monitored by the OLPC team.
   HowTo [ID# 53923]  +/-  

Laptop News 2007-07-21

1. Testing: We ran battery-life tests on 75 B4 laptops: results will be reported on the OLPC wiki this week. Next week we will use 100 B4s for mesh tests. Dafydd Harries and Simon McVittie of Collabora will be helping us with mesh-scaling and connectivity tests. The current software builds are progressing well. Most of the Trial-2 features are in Builds 528+; many activities (Read, Write, Chat, Connect4, Record) now have collaboration features enabled; the Journal is integrated, and small link-local mesh networks are working. Thanks to everyone who has been documenting, reviewing, and prioritizing bugs in Trac (http://dev.laptop.org); most have been triaged and will be fixed in the next release (Trial-3).

2. Trial-3: We've started discussions on the software release that will line up with the mass-production hardware build; it needs to be ready in early to mid September. This will be largely based on Trial-2 and will include many bug fixes and only small feature changes.

3. Sugar: Marco Gritti reports “really good progress!” He has chased down numerous bugs—in the clipboard, regarding themes, palette behavior, and the user interface (UI). He has completed much of work of integrating open hardware management (OHM) with the UI. Other details include reworking the brightness and volume key handling for the B3/B4 keyboards; tracking down the “white row” X11 bug; and getting the Totem media plug-in to work in the browser. Tomeu Vizoso also made fixes to the Clipboard; he integrated recent changes in the datastore into Sugar; implemented lazy (paged) scrolling in the Journal by caching more entries than can be shown on-screen and fetching them opportunistically; and fixed some Sugar and Activity file leaks in /tmp.

J.M. Maurer added a “zoom” signal to the libabiword widget, and hook it up in Write; added full justification to the Write activity; implement “buddy left” in Write and the AbiCollab Sugar back end; and he fixed a bug that was causing Write to crash when opening a second instance.

Arjun Sarwal worked further on optimizing the response time of the Measure activity (which turns the laptop into an oscilloscope). He has made improvements to the UI by adding a grid onto the background and he has chosen color scheme that improves contrast. New features include being able to start/stop the display and taking a snapshot of the currently displayed waveform. Data logging has also added. A version of the activity is available at the git repository under the category projects/measure (See http://wiki.laptop.org/go/Measure_/_Oscilloscope).

4. GNOME Mobile: John Palmieri was at GUADEC (GNOME Users' And Developers' European Conference) this week, representing OLPC at the GNOME mobile and embedded (GMAE) meeting. The GNOME Mobile platform is a subset of the GNOME platform; it represents components that are currently shipping in the XO, the OpenMoko, the Nokia 800, and other devices.

5. Salut/Gabble: John was joined at GUADEC by Sjoerd Simons, Guillaume Desmottes, Morgan Collett, and Simon McVittie. Between sessions they they worked on minor bug-fixes and updates in Salut (link-local XMPP connection manager). Sjoerd figured out why Salut sometimes “looses” contacts on bad networks. Together, they finished the new tubes specification. Simon also worked on fixing avatar (buddy picture) bugs in Gabble (the Jabber/XMPP connection manager we use for chat and video calls).

6. Builds: Dan Winship cranked out multiple builds per day this week. (We are now up to Build 528.) He made a fix to Pilgrim to accommodate activities with spaces in their names; and he wrote some tools to help determine (and document) changes between builds.

7. Mesh activities: Dan Williams debugged and fix various activity sharing and Mesh View bugs. He fixed Python 2.5 issue that broke sharing in Record and Read; and he wrote a Jukebox activity, a gstreamer-based media player with Journal integration. He also did some Libertas maintenance, patch review; made wireless scans “less hacky”; and fixed a wireless scanning issue in NetworkManager that caused access points to drop off the mesh view over time.

8. Power measurement: This week saw a flurry of activity trying to reconcile the power draw of each XO subsystem with what we expected. John Watlington, Richard Smith, Joel Stanley and Jim Gettys working on detailed analyses of power consumption. The goal of the measurements has been verification we have hardware in place enabling us to turn off any component at will and that an “off” component really is powered off. This will mean that as software development progresses, we will be able to keep any unused circuitry off or at low power when it is unused. We now have 29 different measurement points on the XO, giving us fine- grained data on every power rail, covering all major subsystems.

If all subsystems are on and running at maximum power use, the XO can consume a maximum of approximately six watts (ignoring external USB devices). To verify this, we have put the XO in various states of display, wireless, USB and CPU usage. Normal usage when the system is idle, or in ebook suspend mode, or mesh only mode is very much less than this maximum, of course.

The wattage drawn from each power rail was carefully reviewed and audited to make sure we knew where each watt was going. We were not able to account for every watt of the system, but we are really close—close enough that we feel that all the components are functioning as specified. But “as specified” in a few cases it still a bit high. WLAN and DCON (display controller) are a bit problematic. We have promises from the WLAN team that there are lots of knobs to tweak to reduce power consumption and that they will now start tuning those.

The word from HiMax on DCON though is that what they measure for sleep-mode power draw is the same as what we measured for sleep mode, approximately 150mW. This is not acceptable. When we go into sleep mode or low-power WLAN-only mode we will need to drop the power to the DCON. This means that the kernel will soon have to sprout knowledge of how to init the DCON from power up. Previously the kernel could rely on OpenFirmware (OFW) to have initialized the DCON. (We have verified under OFW that we can drop power to the DCON and then bring it back to life.

Most other Linux power-management controls has been verified as now working correctly, e.g., audio, camera, etc. The surprise discovery is that our processor's power supply is not as efficient as it could be. On the more positive side, we shaved 30mW from the power required when the laptop is not turned off and another 35mW whenever the screen is turned on.

9. Performance: Chris Ball changed some of our power behavior; we now turn off the screen while suspended via the power button or lid close, saving power. Chris noticed that resume from suspend becomes unstable if we are stressing the wireless radio at the time of resume. This bug has been passed on to Marcelo and Cozybit for investigation. Chris also reported a problem with game keys and power management events being seen as power-button presses to AMD; this is putting us into suspend when we don't expect to be going there.

Chris is investigating our memory use, which has crept up recently—we are running more Python processes than we use to without having them share libraries, and running a greedy DHCP server (taking 12–20MB!)

Chris and Richard wrote a Python script to calculate the watt-hour value reached by the battery tests we are doing. This lets us make accurate calculations on the duration we'll get from measured power draws.

10. Firmware: Quanta released the 2nd test for what will turn out to be the PQ2C20 firmware. Richard Smith reviewed all the changes. The highlight feature of this is the removal of code supporting Atest (dropping ATest code removed 672 lines from the code base.)

Andres Salomon worked on a number of embedded controller (EC) fixes, including helping Richard debug EC issues by providing proper kernel support. Mitch Bradley got Forth running on the 8051 processor as a possible base for the open EC code and worked on a firmware release with activation support.

Lilian Walter got IPv4 and IPv6 dual stack ping and finger working. Lilian is researching on how to implement Teredo tunneling (Teredo tunneling is a protocol designed to grant IPv6 connectivity to nodes that are located behind IPv6-unaware NAT devices); this involves Ipv6 features such as router solicitation/advertisement and DNS AAAA packets.

James Cameron has started work on an open-source firmware implementation for the EC.

11. Kernel: Marcelo Tosatti did more parallel suspend/resume testing; found an unnecessary call to mdelay() in the CAFE driver; and investigated more Libertas suspend/resume problems and failures under high traffic. Andres Salomon worked on another Libertas merge, dealt with getting code upstream, got the wakeup-from-keyboard work properly: lots of fixed bugs and hopefully fewer introduced ones..

Remaining for completion of Linux kernel power management is powering the DCON down when not in use (saving 150mw in suspend, as noted above), and debugging of the DCON patch to enable the use of the DCON use when the window system is idle (saving more than 0.25 watts while running). We also need to explore how much power is saved by turning off the Dotclock PLL in the processor when it is not needed. These will improve further our battery life.

12. School server: Daniel Wyatt made the first installing, pre-configured school-server live image (See xs-dev.laptop.org/xs and the scripts in the git tree http://dev.laptop.org/git.do?p=projects/livecd-data;a=summary ; the configuration files are at http://dev.laptop.org/git.do?p=projects/xs-config;a=summary and the XS “call home” scripts are packaged at http://dev.laptop.org/git.do?p=projects/xs-callhome;a=summary).

13. Content bundles: With input from the community, Lauren Klein and Kathy Paur helped flesh out the content-bundle specification. Now we need to implement a mime-type hook for .xol (the extension name being considered) and a script to unpack it and regenerate a navigation templates in /home/olpc/Library. We have had some community members already uploading .xol files to the Library Grid on the OLPC wiki.

14. Content Jams: CC-Taiwan is one of the largest Creative Commons chapters; and they are very excited about running a content jam around Wikimania. Another Jam is being planned around linuxconf.au.

More News

Laptop News is archived at Laptop News. Also on community-news.

You can subscribe to the OLPC community-news mailing list by visiting the laptop.org mailman site.

Press requests: please send email to press@racepointgroup.com

Milestones

Latest milestones:

Nov. 2007 Mass Production has started.
July. 2007 One Laptop per Child Announces Final Beta Version of its Revolutionary XO Laptop.
Apr. 2007 First pre-B3 machines built.
Mar. 2007 First mesh network deployment.
Feb. 2007 B2-test machines become available and are shipped to developers and the launch countries.
Jan. 2007 Rwanda announced its participation in the project.

All milestones can be found here.


Press

  This page is monitored by the OLPC team.
   HowTo [ID# 53923]  +/-  

Laptop News 2007-07-21

1. Testing: We ran battery-life tests on 75 B4 laptops: results will be reported on the OLPC wiki this week. Next week we will use 100 B4s for mesh tests. Dafydd Harries and Simon McVittie of Collabora will be helping us with mesh-scaling and connectivity tests. The current software builds are progressing well. Most of the Trial-2 features are in Builds 528+; many activities (Read, Write, Chat, Connect4, Record) now have collaboration features enabled; the Journal is integrated, and small link-local mesh networks are working. Thanks to everyone who has been documenting, reviewing, and prioritizing bugs in Trac (http://dev.laptop.org); most have been triaged and will be fixed in the next release (Trial-3).

2. Trial-3: We've started discussions on the software release that will line up with the mass-production hardware build; it needs to be ready in early to mid September. This will be largely based on Trial-2 and will include many bug fixes and only small feature changes.

3. Sugar: Marco Gritti reports “really good progress!” He has chased down numerous bugs—in the clipboard, regarding themes, palette behavior, and the user interface (UI). He has completed much of work of integrating open hardware management (OHM) with the UI. Other details include reworking the brightness and volume key handling for the B3/B4 keyboards; tracking down the “white row” X11 bug; and getting the Totem media plug-in to work in the browser. Tomeu Vizoso also made fixes to the Clipboard; he integrated recent changes in the datastore into Sugar; implemented lazy (paged) scrolling in the Journal by caching more entries than can be shown on-screen and fetching them opportunistically; and fixed some Sugar and Activity file leaks in /tmp.

J.M. Maurer added a “zoom” signal to the libabiword widget, and hook it up in Write; added full justification to the Write activity; implement “buddy left” in Write and the AbiCollab Sugar back end; and he fixed a bug that was causing Write to crash when opening a second instance.

Arjun Sarwal worked further on optimizing the response time of the Measure activity (which turns the laptop into an oscilloscope). He has made improvements to the UI by adding a grid onto the background and he has chosen color scheme that improves contrast. New features include being able to start/stop the display and taking a snapshot of the currently displayed waveform. Data logging has also added. A version of the activity is available at the git repository under the category projects/measure (See http://wiki.laptop.org/go/Measure_/_Oscilloscope).

4. GNOME Mobile: John Palmieri was at GUADEC (GNOME Users' And Developers' European Conference) this week, representing OLPC at the GNOME mobile and embedded (GMAE) meeting. The GNOME Mobile platform is a subset of the GNOME platform; it represents components that are currently shipping in the XO, the OpenMoko, the Nokia 800, and other devices.

5. Salut/Gabble: John was joined at GUADEC by Sjoerd Simons, Guillaume Desmottes, Morgan Collett, and Simon McVittie. Between sessions they they worked on minor bug-fixes and updates in Salut (link-local XMPP connection manager). Sjoerd figured out why Salut sometimes “looses” contacts on bad networks. Together, they finished the new tubes specification. Simon also worked on fixing avatar (buddy picture) bugs in Gabble (the Jabber/XMPP connection manager we use for chat and video calls).

6. Builds: Dan Winship cranked out multiple builds per day this week. (We are now up to Build 528.) He made a fix to Pilgrim to accommodate activities with spaces in their names; and he wrote some tools to help determine (and document) changes between builds.

7. Mesh activities: Dan Williams debugged and fix various activity sharing and Mesh View bugs. He fixed Python 2.5 issue that broke sharing in Record and Read; and he wrote a Jukebox activity, a gstreamer-based media player with Journal integration. He also did some Libertas maintenance, patch review; made wireless scans “less hacky”; and fixed a wireless scanning issue in NetworkManager that caused access points to drop off the mesh view over time.

8. Power measurement: This week saw a flurry of activity trying to reconcile the power draw of each XO subsystem with what we expected. John Watlington, Richard Smith, Joel Stanley and Jim Gettys working on detailed analyses of power consumption. The goal of the measurements has been verification we have hardware in place enabling us to turn off any component at will and that an “off” component really is powered off. This will mean that as software development progresses, we will be able to keep any unused circuitry off or at low power when it is unused. We now have 29 different measurement points on the XO, giving us fine- grained data on every power rail, covering all major subsystems.

If all subsystems are on and running at maximum power use, the XO can consume a maximum of approximately six watts (ignoring external USB devices). To verify this, we have put the XO in various states of display, wireless, USB and CPU usage. Normal usage when the system is idle, or in ebook suspend mode, or mesh only mode is very much less than this maximum, of course.

The wattage drawn from each power rail was carefully reviewed and audited to make sure we knew where each watt was going. We were not able to account for every watt of the system, but we are really close—close enough that we feel that all the components are functioning as specified. But “as specified” in a few cases it still a bit high. WLAN and DCON (display controller) are a bit problematic. We have promises from the WLAN team that there are lots of knobs to tweak to reduce power consumption and that they will now start tuning those.

The word from HiMax on DCON though is that what they measure for sleep-mode power draw is the same as what we measured for sleep mode, approximately 150mW. This is not acceptable. When we go into sleep mode or low-power WLAN-only mode we will need to drop the power to the DCON. This means that the kernel will soon have to sprout knowledge of how to init the DCON from power up. Previously the kernel could rely on OpenFirmware (OFW) to have initialized the DCON. (We have verified under OFW that we can drop power to the DCON and then bring it back to life.

Most other Linux power-management controls has been verified as now working correctly, e.g., audio, camera, etc. The surprise discovery is that our processor's power supply is not as efficient as it could be. On the more positive side, we shaved 30mW from the power required when the laptop is not turned off and another 35mW whenever the screen is turned on.

9. Performance: Chris Ball changed some of our power behavior; we now turn off the screen while suspended via the power button or lid close, saving power. Chris noticed that resume from suspend becomes unstable if we are stressing the wireless radio at the time of resume. This bug has been passed on to Marcelo and Cozybit for investigation. Chris also reported a problem with game keys and power management events being seen as power-button presses to AMD; this is putting us into suspend when we don't expect to be going there.

Chris is investigating our memory use, which has crept up recently—we are running more Python processes than we use to without having them share libraries, and running a greedy DHCP server (taking 12–20MB!)

Chris and Richard wrote a Python script to calculate the watt-hour value reached by the battery tests we are doing. This lets us make accurate calculations on the duration we'll get from measured power draws.

10. Firmware: Quanta released the 2nd test for what will turn out to be the PQ2C20 firmware. Richard Smith reviewed all the changes. The highlight feature of this is the removal of code supporting Atest (dropping ATest code removed 672 lines from the code base.)

Andres Salomon worked on a number of embedded controller (EC) fixes, including helping Richard debug EC issues by providing proper kernel support. Mitch Bradley got Forth running on the 8051 processor as a possible base for the open EC code and worked on a firmware release with activation support.

Lilian Walter got IPv4 and IPv6 dual stack ping and finger working. Lilian is researching on how to implement Teredo tunneling (Teredo tunneling is a protocol designed to grant IPv6 connectivity to nodes that are located behind IPv6-unaware NAT devices); this involves Ipv6 features such as router solicitation/advertisement and DNS AAAA packets.

James Cameron has started work on an open-source firmware implementation for the EC.

11. Kernel: Marcelo Tosatti did more parallel suspend/resume testing; found an unnecessary call to mdelay() in the CAFE driver; and investigated more Libertas suspend/resume problems and failures under high traffic. Andres Salomon worked on another Libertas merge, dealt with getting code upstream, got the wakeup-from-keyboard work properly: lots of fixed bugs and hopefully fewer introduced ones..

Remaining for completion of Linux kernel power management is powering the DCON down when not in use (saving 150mw in suspend, as noted above), and debugging of the DCON patch to enable the use of the DCON use when the window system is idle (saving more than 0.25 watts while running). We also need to explore how much power is saved by turning off the Dotclock PLL in the processor when it is not needed. These will improve further our battery life.

12. School server: Daniel Wyatt made the first installing, pre-configured school-server live image (See xs-dev.laptop.org/xs and the scripts in the git tree http://dev.laptop.org/git.do?p=projects/livecd-data;a=summary ; the configuration files are at http://dev.laptop.org/git.do?p=projects/xs-config;a=summary and the XS “call home” scripts are packaged at http://dev.laptop.org/git.do?p=projects/xs-callhome;a=summary).

13. Content bundles: With input from the community, Lauren Klein and Kathy Paur helped flesh out the content-bundle specification. Now we need to implement a mime-type hook for .xol (the extension name being considered) and a script to unpack it and regenerate a navigation templates in /home/olpc/Library. We have had some community members already uploading .xol files to the Library Grid on the OLPC wiki.

14. Content Jams: CC-Taiwan is one of the largest Creative Commons chapters; and they are very excited about running a content jam around Wikimania. Another Jam is being planned around linuxconf.au.

More News

Laptop News is archived at Laptop News. Also on community-news.

You can subscribe to the OLPC community-news mailing list by visiting the laptop.org mailman site.

Press requests: please send email to press@racepointgroup.com

Milestones

Latest milestones:

Nov. 2007 Mass Production has started.
July. 2007 One Laptop per Child Announces Final Beta Version of its Revolutionary XO Laptop.
Apr. 2007 First pre-B3 machines built.
Mar. 2007 First mesh network deployment.
Feb. 2007 B2-test machines become available and are shipped to developers and the launch countries.
Jan. 2007 Rwanda announced its participation in the project.

All milestones can be found here.


Press

Template loop detected: Press More articles can be found here.

Video

Miscellaneous videos of the laptop can be found here.

More articles can be found here.

Video

Miscellaneous videos of the laptop can be found here.