OLPC Firmware q2c28

From OLPC
Jump to: navigation, search

OLPC Firmware Release q2c28 - 2007-10-01

This firmware is test candidate for Trial-3/MP. It includes secure boot capability, substantially improved versus q2c27, but can also boot in the traditional non-secure fashion. It is supported on B3 and later systems. In addition, it has been tested to be safe (does not brick) on B1, B2-1, and preB3, but may have some anomalies on those systems. Do not use it on pre-B1 boards - it will brick them because of the EC microcode. It does not work on Atest because support for Atest has been eliminated from the EC microcode.

This version will be superseded by a new release when we get official EC bits from Quanta.


Download: q2c28


See Keyboard_Shortcuts for information about how game buttons control startup options.

Changes since OLPC Firmware q2c27

Open Firmware is r665

  • security supports auto-firmware-updates and developer key checking
  • Support for disposition codes in lease and devkey formats
  • Support for "ak" tag for preset activation
  • Support for "dk" tag for permanent developer key unlock
  • Pretty-boot - very clean, uncluttered boot screen in the no-error case (only in secure mode)
  • copy-nand also supports "dump-nand" file format in addition to "save-nand" format
  • Better error messages from NAND selftest
  • Battery trickle-charge indication support
  • reflash is now insensitive to pressing the power button at a bad time
  • Screen brightness can be controlled from the keyboard under OFW
  • Startup sound volume can be controlled from the keyboard under OFW and persists across reboots
  • Set the EC date during startup for battery management purposes
  • New tag manipulation commands for mfg data


EC code is unofficial "shiny5" test release from Richard Smith

  • Automatic restart instead of power off after kbc-on in reflashing mode
  • Use accurate timing for various things, thus preventing spurious reboots
  • Setup pll early so the serial baud is correct as fast as possible after boot.
  • Move Platform detection from a 500mS timer to just after boot
  • Bit 7 of Battery status now indicates trickle charging mode.
  • Additional protection on the pwr_but race condition
  • Clear KBC interrupt flags on reset (Fixes linux poweroff issue)
  • set SCI to 500uS wide
  • Read LID switch EC command
  • Is Hardware 1-wire EC command?
  • Some of if(3290){ } code left over from ATest that was missed on atest removal.
  • Fast edge detection for WLAN wackup and MAIN_ON. WLAN_SCI is asserted synchronous to MAIN_ON going low.
  • Loads of debug prints out the serial port.
  • 32-bit ms timer for time stamping things.

Installation Instructions

  • If you have a B1-B4 system:
    • Detailed upgrade instructions are located here.
    • If your firmware version is earlier than the version in Auto Install Image then you can just use that procedure for the update.
      Note: that this procedure will also upgrade the image in your nand flash -- which is the entire Linux operating system and all the files you may have edited or saved. This means it will ERASE what is in your nand and re-write it. So you will lose any data you have stored on the filesystem unless you back it up. If you do not want your files erased, then please use the first procedure above.
    • Do NOT use olpcflash to write new firmware images. Doing so will erase the manufacturing data that was added at the factory.
    • After you reflash, you must power cycle by physically removing power from the system. A warm-start or button-induced restart is not sufficient. Please remove both the battery pack and wall adapter for 10 seconds.
  • If you have an ATest system
    • Don't use this firmware. ATest support has been removed.