BTest-1 Release Notes

From OLPC
Revision as of 12:22, 22 February 2007 by Jg (talk | contribs) (Hardware Release Notes)
Jump to: navigation, search
  This page is monitored by the OLPC team.

The Meaning of BTest-1

This is the beta test of fully functional hardware. There is typically one or two builds of systems internally before an external beta test, so our BTest-1 is really beta test for the electronics, while alpha test for the new screen, touch pad, industrial design, and keyboard; this is earlier in the development cycle than systems are usually made available, and is correspondingly rougher. The camera, SD slot and NAND flash are currently interfaced by an FPGA version of CaFE; the ASIC version will be available by BTest-2.

The software is alpha test. Please refer to the OLPC Human Interface Guidelines for the vision of where we would like the software to lead, only partially reflected in our current software.

Most of our effort to date has been consumed by basic device support as well as putting together the basic user interface framework for children, which has known performance problems. Major components are as yet not complete: power management and the wiki editing system to name two large components. Enough is now present to begin to sketch the outline of where we believe the children's software should go: enabling the construction of software in which children and teachers can easily collaborate is central to our vision. Children should not be passive receivers of "content" but creators as well.

We do not expect that the software is yet ready for trials with children: BTest-1 is aimed primarily at developers to become familiar with the hardware and to enable testing of both the hardware and software.

Hardware Specification

The BTest-1 systems were built with an extra 128meg of RAM, to partially make up for well known memory problems in key applications, in particular the web browser, based on Firefox's Gecko technology. Work is well underway to reduce the browser's footprint; some of this work is visible in Firefox 2.0. BTest-2 will be built with 128 meg of RAM total.

Note that the BTest-1 systems use an Altera FPGA to implement that CaFE ASIC (which interfaces the camera, NAND flash and SD slot), which will not be available until the BTest-2 build. This has allowed us to test the design of CaFE and to build early systems more than 6 weeks sooner. Using an FPGA has several consequences: the FPGA consumes considerable power, and it is relatively slow. CaFE's NAND flash controller, while several times faster than on the Geode's controller on ATest boards, is still very slow relative to what it will be when implemented as an ASIC; similarly the SD controller is also slow relative to its eventual performance, both due the limitations on the speed of the FPGA, and since high speed mode for SD is just now being implemented in the device driver.

The hardware specification is elsewhere in the wiki.

Hardware Release Notes

Our master list of hardware and mechanical issues and status can be found in the trac system we use. Please check this list before entering new issues: but please do enter issues you discover. The items below are the most significant from the list.

The battery charging algorithms have problems
The old EC code shipped with some units had a bug which prevented startup with low battery and another bug which prevented charging with a low battery. Updating to EC Q2B61 should fix most battery charging problems and please report any further difficulties. Please read this bug report for more information.
Inconsistent battery charge state indications
The EC can't report proper charging or capacity information and is overly conservative on the amount of power remaining, as the hardware chosen for the battery pack to report capacity is incorrect; this should be fixed in the BTest-2 build.
Keyboard keys occasionally stop working, and sometimes the machine does not reboot.
(ESD problem with the embedded controller.) One of the most irritating and noticeable problems is a static discharge problem that can lockup pins or entirely crash the embedded controller, causing some or all of the keyboard keys or touch pad to stop functioning. Power the machine off and on again to reset it (Note: you may need to remove and re-insert the battery to reset the EC completely). If your machine won't power on at all, remove the battery and make sure the machine is unplugged. Wait up to 10 minutes. We're not kidding; the EC takes very little power, and it can take a long time before everything has reset. Then replace the battery and plug it into the wall.
The resistive sensor does not work
(for use with a stylus for writing), due to a design flaw: The stylus pad area was disabled and should be fixed in BTest-2 machines
The arrow keys ("game keys") cannot be distinguished from the arrow keys on the keyboard
This will be fixed on BTest-2 system.
Manufacturing data values are in the wrong order
This is fixed the first time we update the BIOS SPI ROM, which should occur when you update the machine to current software on arrival.
Power management is as yet unimplemented
Therefore you cannot suspend and resume the machine (yet).
The internal microphone
does not work well due to a mis-wiring of a cable.
The screen is covered by a plastic film by mistake
With care, it can be removed. Not every machine has this film and it is probably not worth the risk of damaging your machine to remove it if it is not really there to begin with.

Design Release Notes

The BTest-1 systems do not have textured plastic: this is intended for future builds.

Other design issues are also under investigation
Note that design is always an over constrained problem: it is often not possible to get every thing you would like in a design, though you can usually get most or all of what you value most.

Demo notes

These are very early days for the OLPC software (alpha test); nonetheless, there is quite a bit you can do with the laptop out of the box See B1 demo notes, which are very useful to understand the system and what is available. There are also some general instructions on how to use the Sugar interface here.

Base System Notes

Booting is very slow
We understand where much of the time is currently going, as you can see by checking the bugs referred to in 623. Boot time, however, is not our highest priority; we'll certainly make some of the improvements pretty soon anyway, and CAFE as an ASIC will have higher performance that will also help BTest-2 and later.
The sensor input mode of the audio hardware is not supported in the audio driver of build 191
The code for this awaits merging shortly.
SD high speed mode is not yet supported in the driver in Build 191
High speed SD cards themselves work fine, but will not get above 8MB/second transfer rate.
Suspend/Resume not yet implemented
This is up next on our agenda.
Functional Wireless Driver
The driver is functional, working much better in build 196. The Marvell's wireless chip's boot2 code has yet to be deployed. The boot code on the Marvell wireless interface has previously caused serious USB problems; BTest-1 hardware can now reset of the device to stop the USB problems until the new boot2 code is well enough tested to be deployed.
LED illumination driver needs writing
We'd like this for BTest-2, if we can.
Want interrupt on power/battery status change
We have the embedded controller code for this, along with the lid-switch, and the ebook mode switch, but they are not yet hooked up to the Linux input framework, nor integrated into the UI.

X Window System

The X Window System does not yet support the RandR extension, (rotation of the screen).

If a console application manages to somehow modify the colormap, the system won't recover without rebooting the machine.

We are not happy with the behavior of the touchpad: how much of this is hardware and how much software remains to be determined. The writing (stylus) mode of the touchpad has been disabled in the BTest-1 units, as the hardware does not work properly and is being redesigned.

Much performance optimization work is possible, and awaits our time or volunteers to work on.

The X Window System Xvideo extension is supported in the X server; note that a slightly different colormap is loaded while video is playing to improve video quality; other colors in use may become slightly strange during this period.

The keymaps for our initial set of keyboards are only installed when Build 185 is installed
There are known issues with the keyboard descriptions. Thai-keyboard support only appears in builds 187+.

The language switching key is still not working. So no english language input is possible on the default image targetted at non-latin-based languages (e.g. Arabic and Thai). To enable english input on those machines, follow the following steps:

  1. After the system has booted, press ctrl+alt+f1
  2. Login in as root (no password required)
  3. Open the file /etc/X11/xorg.conf for editing (use vi or any editor you are comfortable with)
  4. In the first InputDevice section do the following modifications:
    • Modify XkbLayout setting from "us" to "us,ara" (for Arabic—use other symbol files for other languages)
    • Add an XkbOptions option with the value "grp:ctrl_shift_toggle"
  5. Save and close the file
  6. Either reboot the machine or restart X by issueing a "/sbin/telinit 3" command and then "/sbin/telinit 3"

After you make the modifications, the two lines in xorg.conf should be similar to the following

Option    "XkbLayout"   "us,ara"
Option    "XkbOptions"  "grp:ctrl_shift_toggle"

After X is restarted, the default language will be english (that can be changed by swapping us and ara above), and you will be able to switch between languages using the ctrl+shift key combination.

User Interface: Sugar

The "Sugar" user interface environment for children is in place. The OLPC Human Interface Guidelines should be observed when building or repackaging applications. Conventional human interface guidelines have been designed for first world office workers, and are totally unsuitable for children who are just learning to read in any part of the world. As young children are the many/most of the intended audience of our system, their needs are being met first.

Conversion of applications to function under Sugar is very straightforward and most applications can work with little change.

intent and goals

The core ideas: Activities, Not Applications; Presence is Always Present; Tools of Expression; and Journaling are detailed here.

Navigation

Navigation, including the Zoom Metaphor and The Frame, is detailed here.

Release Notes

The Sugar activity launch has performance problems we are actively investigating. There are many user interface issues we intend to fix. Among the most notable issues are:

Sugar seems to lock up with the frame out
Pressing F5 allows the Sugar to unhang, and you can then launch applications again.
Sugar needs a UI for controlling audio
This needs to be written.
Sugar presumes applications exit
Usually, you can find some other way to cause an application to exit.
Launching activities are slow
This is under investigation.
The timing of many of the user interactions, such as hover and the coming and going of the Frame are in need of fine-tuning.

Programming Sugar

Sugar Activity Bundles are explained in detail here.

                               Sugar interfaces
                               goocanvas
                               GTK+
                               Cairo
                               Pango/ATK

Activities

Web Browsing

Browser based on Xulrunner (Gecko engine used in Firefox).

No tabs

Does not ship with: Java or Flash

User experience has problems with pop windows, font size, Frame interfering with scrolling

Chat

Jabber-based client works (not pretty - but functional)

EToys

The EToys learning environment has been integrated into the Sugar environment, and you are encouraged both to visit the Squeakland site. Sugar EToys has information specific to EToys in our Sugar environment.

TamTam

The current TamTam is the first echo of a much more open-ended, collaborative, multiuser, music activity.

TamTam doesn't seem to load all instruments initially
Restarting TamTam solves the problem.
The microphone ought to be controlled by TamTam itself
You can use alsamixer in the meanwhile.

xbook

PDF viewer through the browser.

AbiWord

As a place-holder, a simplified version of AbiWord is provided, and efficient, light weight text editor. Some version of AbiWord will be included long term, as AbiWord has the ability to read Microsoft .doc content well and there is a significant amount of web content in this form. It is likely to be used for editing text in the wiki as well.

Terminal

The terminal (activity) does not appear on the Frame, but can be launched by typing Alt-Shift-F11. (F11 is found in the 3rd position from the left in the Volume Slider key.) Note that on some newer builds, the terminal window (Memphis) is launched by typing Alt-Shift-F12. In even more recent builds, e.g., Build 224, Memphis is launched by typing Alt-View_Source or Alt-F12. (The View_Source Key [F12] is the little gear on the = Key that is accessed with the Fn Key.) And on even more recent builds, e.g., Build 231, Alt-= is what brings up Memphis.

F9–F12 are under this key

Temporary placeholders and Missing Pieces

There is no user interface for controlling the audio input/output. The workaround right now is to use "alsamixer" in a terminal window.

There is no way to turn on/off the keyboard light: eventually it will be tied to Fn-space.

Our plans include a web server and wiki system and journal, with a simple what you see is what you get editor. These did not make BTest-1.

Backlight control

The backlight button on the bezel does not work yet, but the backlight can be controlled using F6 (dimmer) and F7 (brighter); F8 turns on color; F9 turns off color.

F6–F9 are under this key

Video/Camera Player

The controls (brightness, hue, saturation) are not hooked up in the device driver or video player applcation in BTest-1 (build 185). The driver adding these controls to Alsa (the Advanced Linux Sound Architecture) will be merged in a build soon.

The camera is exhibiting more noise than expected in assembled units; whether this is hardware or software is to be determined.

We have used mplayer on the machine, but as it pulls in many dependencies, we put together a simple gstreamer based application for demonstration of the camera and video playing. Others have reported successful playback of videos and DVD's on the system, including RealNetwork formats and players.

The BTest-1 system does not have a LED to indicate if the camera or microphone is enabled. Such a LED will be present on a later system.

A camera application is under development.

Base system

OLPC Platform

Inventory of "permanent" packages Inventory of "debug" packages Inventory of "optional" packages (?)

Development environment

Languages - Logo, javascript, python
Libraries
Where to find source            
Internationalization/Localization

Other Multimedia Software

Other software that has been tested on the OLPC systems includes Adobe Flash, and Real's RealPlayer® and Helix player.