BTest-1 Release Notes: Difference between revisions
m (→Software) |
m (specifically, XO-1 laptop) |
||
(141 intermediate revisions by 18 users not shown) | |||
Line 1: | Line 1: | ||
{{OLPC}} |
{{OLPC}} |
||
[[Category:XO-1]] |
|||
{{TOCright}} |
|||
This page contains hardware release notes for an [[XO_B1|early prototype]] of the [[Hardware#XO_Laptop|XO-1 laptop]]. |
|||
=Introductions and Expectations Setting= |
|||
There is a major difference between the OLPC system and a conventional laptop of |
|||
approximately five years ago; that is, our base system software is much more capable than it was then. The Linux environment now supports internationalization capability for scripts that were out of our reach then, and much higher quality rendering and, best of all, a much wider range of applications. |
|||
==The Meaning of BTest-1== |
|||
This has come somewhat at a cost, however: Moore's "Law" has allowed us to become sloppy, both in memory usage and CPU usage; this tends to force us to make some tough choices to keep the "footprint" of the software acceptable. The OLPC laptop have only 512 MB of storage (Flash), probably the most serious limitation, 128 MB of RAM, and a single-core processor. Over the last year or so, the community has become much more sensitive to these issues, and work is well underway toward reigning in this "bloat". |
|||
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 [[XO_B1|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 is in [[XO_B2|BTest-2]] and has significantly higher performance for both SD and NAND flash. |
|||
Our base technology choices have been predicated on the ability of the software to achieve the best overall <i>worldwide</i> "user experience". This drove our choice of GTK+ and Pango (with Cairo as the graphical underpinnings), since Pango's abilities in complex scripts are currently most advanced of free software technologies. Other toolkits can be used: but they come at a cost in memory and flash footprint, and today, in the ability of software based on them to be localized to many of the scripts we face immediately, which include both Thai and Arabic. Including other toolkits as a standard part of our base system is therefore problematic, and experience on embedded systems show that including multiple toolkits would almost certainly cause the overall experience to suffer. |
|||
==Hardware Specification== |
|||
== The Meaning of BTest-1 == |
|||
The [[XO_B1|BTest-1 laptops]] 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. |
|||
This is the beta test of fully functional hardware; however, the software is <i>alpha test</i>. 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. |
|||
Note that the BTest-1 systems use an Altera [http://en.wikipedia.org/wiki/Fpga 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. |
|||
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. |
|||
Instructions for [[Programming the Altera FPGA]] are available. |
|||
=Hardware= |
|||
If for some reason you get bad data in the SPI boot FLASH so the system won't run the firmware, you can [[SPI FLASH Recovery/XO-1|reload the SPI FLASH]] with a special cable. |
|||
==User's guide to the hardware== |
|||
Note you are seeing a system during test, well before when you would see a "normal" commercial product. This is to allow both hardware and software testing to commence, since our system is significantly different than <i>conventional</i> laptops, and will be used in very different environments. You will see "behind the curtain" a process that system manufacturers hide from you: the good, the bad, and the ugly of hardware and software debug. |
|||
===Pictures/features=== |
|||
===Hardware Specification=== |
|||
The BTest1 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. BTest-2 will be built with 128 meg of RAM total. |
|||
Note that the BTest-1 systems use an Altera [http://en.wikipedia.org/wiki/Fpga 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. |
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 [http://dev.laptop.org/query?status=assigned&owner=mfoster the trac system] we use. Please check this list before entering new issues: but please do enter issues you discover! |
|||
One of the most irritating and noticeable problems is a static discharge problem that can crash the embedded controller, causing some or all of the [http://dev.laptop.org/ticket/473 keyboard keys] or [http://dev.laptop.org/ticket/474 touchpad] to stop functioning, that was discovered too late in the manufacturing process to fix. Power the unit off and on again to reset it (you may need to remove and re-insert the battery). |
|||
The [http://dev.laptop.org/ticket/475 resistive sensor] (for use with a stylus for writing) also turned out, when assembled, to be unusable in many units, due to a design flaw that is being fixed. |
|||
We cannot distinguish the arrow keys ("game keys") by the screen from the [http://dev.laptop.org/ticket/358 arrow keys on the keyboard]; this will be fixed for BTest-2. |
|||
Power management is as yet unimplemented, though the hardware is believed to work. Therefore you cannot suspend and resume the machine (yet). |
|||
===Design Release Notes=== |
|||
The BTest-1 systems do not have textured plastic: this is intended for future builds. |
|||
Other [http://dev.laptop.org/query?status=new&status=assigned&status=reopened&group=component&component=design&order=priority design issues] are also under investigation. |
|||
Note that design is always a 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. |
|||
=Software= |
|||
These are very early days for the OLPC software (<i>alpha test</i>). The "Sugar" user interface environment for children is in place, though Sugar has activity launch performance problems we are actively investigating while starting applications (acitvities). There are user interface issues we intend to fix. 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. 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. |
|||
==Installation== |
|||
=== How to upgrade BIOS firmware === |
|||
'''Warning! Warning!''' |
|||
The current BTest units should '''NOT''' have their firmware upgraded by the previous methods. The Linux 'olpcflash' tool and the OpenFirmware 'flash' command will '''erase''' the manufacturing data that was written by the factory. The tools are currently in progress of being updated so that they will preserve the manufacturing data across a firmware upgrade. |
|||
How to install/upgrade OLPC Fedora |
|||
How to upgrade Marvell firmware |
|||
=== Device Driver Notes === |
|||
The [http://dev.laptop.org/ticket/42 sensor input mode] of the audio hardware is not present in the audio driver of build 185; it awaits merging shortly. |
|||
SD [http://dev.laptop.org/ticket/397 high speed mode] is not yet supported in the driver in Build 185. High speed cards themselves work fine, but will not get above 8MB/second transfer rate. |
|||
Our master list of hardware and mechanical issues and status can be found in [http://dev.laptop.org/query 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. |
|||
=== X Window System === |
|||
;[http://dev.laptop.org/ticket/543 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. |
|||
The X Window System does not yet support the RandR extension, (rotation of the screen). |
|||
;[http://dev.laptop.org/ticket/596 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. |
|||
If a console application manages to somehow [http://dev.laptop.org/ticket/367 screw up the colormap], the system won't recover without rebooting the machine. |
|||
;[http://dev.laptop.org/ticket/473 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 [http://dev.laptop.org/ticket/473 keyboard keys] or [http://dev.laptop.org/ticket/474 touch pad] to stop functioning. Power the machine off and on again to reset it (<i>Note: you may need to remove and re-insert the battery to reset the EC completely</i>). If your machine won't power on at all, remove the battery and make sure the machine is unplugged. <i>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.</i> Then replace the battery and plug it into the wall. |
|||
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. |
|||
;[http://dev.laptop.org/ticket/475 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 |
|||
Much performance optimization work is possible, and awaits our time or volunteers to work on. |
|||
;[http://dev.laptop.org/ticket/358 The arrow keys ("game keys") cannot be distinguished from the arrow keys on the keyboard]: This will be fixed on BTest-2 system. |
|||
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. |
|||
;[http://dev.laptop.org/ticket/476 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. |
|||
==User Interface== |
|||
===Sugar=== |
|||
intent and goals |
|||
presence |
|||
collaboration |
|||
navigation |
|||
personal |
|||
friends |
|||
mesh |
|||
world |
|||
search |
|||
Journal (someday) |
|||
Programming Sugar |
|||
Sugar interfaces |
|||
goocanvas |
|||
GTK+ |
|||
Cairo |
|||
Pango/ATK |
|||
==Activities== |
|||
===Web Browsing=== |
|||
===chat=== |
|||
===EToys=== |
|||
The [http://www.squeakland.org/ 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???=== |
|||
;[http://dev.laptop.org/ticket/508 Power management is as yet unimplemented]: Therefore you cannot suspend and resume the machine (yet). |
|||
==Temporary placeholders== |
|||
===Video/Camera Player=== |
|||
;[http://dev.laptop.org/ticket/541 The internal microphone]: does not work well as it is too near a speaker. It will be moved in BTest-3 |
|||
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. |
|||
;[http://dev.laptop.org/ticket/495 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.''' |
|||
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. |
|||
==Design Release Notes== |
|||
===Abiword=== |
|||
===Logo???=== |
|||
The BTest-1 systems do not have textured plastic: this will happen in future builds. |
|||
==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 software known to work== |
|||
Flash |
|||
Helix player |
|||
... |
|||
==How to Contribute== |
|||
===dev.laptop.org=== |
|||
git |
|||
general hosting offer |
|||
olpc-2.6 repository |
|||
fedora kernel image |
|||
trac |
|||
wiki |
|||
mailing lists |
|||
who is who |
|||
===pointers to key technology organizations=== |
|||
gnome, X.org, Cairo, gtk+, kernel.org, |
|||
mozilla,etc. |
|||
===content=== |
|||
public |
|||
contacts at OLPC |
|||
;[http://dev.laptop.org/query?status=new&status=assigned&status=reopened&group=component&component=design&order=priority 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. |
|||
=Contacts= |
|||
contacts at OLPC |
Latest revision as of 09:07, 14 March 2011
This page contains hardware release notes for an early prototype of the XO-1 laptop.
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 is in BTest-2 and has significantly higher performance for both SD and NAND flash.
Hardware Specification
The BTest-1 laptops 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.
Instructions for Programming the Altera FPGA are available.
If for some reason you get bad data in the SPI boot FLASH so the system won't run the firmware, you can reload the SPI FLASH with a special cable.
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 as it is too near a speaker. It will be moved in BTest-3
- 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 will happen in 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.