Firmware: Difference between revisions

From OLPC
Jump to navigation Jump to search
No edit summary
No edit summary
Line 15: Line 15:
* alter the [[secure upgrade]] to use one of the firmware files below.
* alter the [[secure upgrade]] to use one of the firmware files below.


<b>Note: avoid downgrading, as certain downgrades may brick your XO.</b>
<b>Note: Once you upgrade to the Q2Cxx series of firmware do not downgrade to Q2Bxx!</b> Doing so will destroy the manufacturing data. Downgrading from Q2F01 to Q2C01 will "Brick" your XO-1 :-(


== Brick Recovery ==
== Brick Recovery ==
Line 75: Line 75:
* q7b31 - 2013-05-20 [[OLPC Firmware q7b31]] fix audio period sizes, ignore NTFS filesystems on boot.
* q7b31 - 2013-05-20 [[OLPC Firmware q7b31]] fix audio period sizes, ignore NTFS filesystems on boot.
* q7b30 - 2013-05-02 [[OLPC Firmware q7b30]] switch to higher speed <trac>12666</trac>
* q7b30 - 2013-05-02 [[OLPC Firmware q7b30]] switch to higher speed <trac>12666</trac>
* q7b29 - 2013-04-15 [[OLPC Firmware q7b29]]
* q7b29 - 2013-04-15 [[OLPC Firmware q7b29]]
* q7b28 - 2013-04-02 [[OLPC Firmware q7b28]] Post-ramp, fix clock, restore bluetooth test, fix audio test.
* q7b28 - 2013-04-02 [[OLPC Firmware q7b28]] Post-ramp, fix clock, restore bluetooth test, fix audio test.
* q7b27 - 2013-03-15 [[OLPC Firmware q7b27]] EC firmware fixes to improve wakeup
* q7b27 - 2013-03-15 [[OLPC Firmware q7b27]] EC firmware fixes to improve wakeup
* q7b26 - 2013-03-13 [[OLPC Firmware q7b26]] touchscreen linearity test tuning
* q7b26 - 2013-03-13 [[OLPC Firmware q7b26]] touchscreen linearity test tuning
* q7b25 - 2013-03-12 [[OLPC Firmware q7b25]] touchscreen linearity test
* q7b25 - 2013-03-12 [[OLPC Firmware q7b25]] touchscreen linearity test
Line 238: Line 238:
* q3a49 - 2010-08-04 [[OLPC Firmware q3a49]]
* q3a49 - 2010-08-04 [[OLPC Firmware q3a49]]
* q3a48 - 2010-08-03 [[OLPC Firmware q3a48]]
* q3a48 - 2010-08-03 [[OLPC Firmware q3a48]]
* q3a47 - 2010-07-29 [[OLPC Firmware q3a47]] Another fix for ADATA 8GB microSD cards requested by factory.
* q3a47 - 2010-07-29 [[OLPC Firmware q3a47]] Another fix for ADATA 8GB microSD cards requested by factory.
* q3a46 - 2010-07-22 [[OLPC Firmware q3a46]] Fix for ADATA 8GB microSD cards requested by factory.
* q3a46 - 2010-07-22 [[OLPC Firmware q3a46]] Fix for ADATA 8GB microSD cards requested by factory.
* q3a45 - 2010-07-19 [[OLPC Firmware q3a45]] Fix fs-update regression
* q3a45 - 2010-07-19 [[OLPC Firmware q3a45]] Fix fs-update regression
* q3a44 - 2010-07-19 [[OLPC Firmware q3a44]] Add secure NANDblaster, RAMP for CL1C XO-1.5 HS
* q3a44 - 2010-07-19 [[OLPC Firmware q3a44]] Add secure NANDblaster, RAMP for CL1C XO-1.5 HS
Line 259: Line 259:
* q3a16 - 2009-11-14 [[OLPC Firmware q3a16]] B3 support, 32bpp, no display flicker, ...
* q3a16 - 2009-11-14 [[OLPC Firmware q3a16]] B3 support, 32bpp, no display flicker, ...
* q3a15 - 2009-10-30 [[OLPC Firmware q3a15]] Lots of fixes, see release notes
* q3a15 - 2009-10-30 [[OLPC Firmware q3a15]] Lots of fixes, see release notes
* q3a14 - 2009-10-23 [[OLPC Firmware q3a14]] Unofficial
* q3a14 - 2009-10-23 [[OLPC Firmware q3a14]] Unofficial
* q3a13 - 2009-10-12 [[OLPC Firmware q3a13]] Fixed register init bug introduced by A12
* q3a13 - 2009-10-12 [[OLPC Firmware q3a13]] Fixed register init bug introduced by A12
* q3a12 - 2009-10-10 [[OLPC Firmware q3a12]] B2 stabilization. <span style="color:red; ">Use Q3A13 instead</span>
* q3a12 - 2009-10-10 [[OLPC Firmware q3a12]] B2 stabilization. <span style="color:red; ">Use Q3A13 instead</span>
Line 278: Line 278:
* q2f15 - 2013-02-14 [[OLPC Firmware q2f15]]
* q2f15 - 2013-02-14 [[OLPC Firmware q2f15]]
* q2f14 - 2012-11-24 [[OLPC Firmware q2f14]] Development version.
* q2f14 - 2012-11-24 [[OLPC Firmware q2f14]] Development version.
* q2f13 - 2012-07-10 [[OLPC Firmware q2f13]]
* q2f13 - 2012-07-10 [[OLPC Firmware q2f13]]
* q2f12 - 2012-06-13 [[OLPC Firmware q2f12]]
* q2f12 - 2012-06-13 [[OLPC Firmware q2f12]]
* q2f11 - 2012-05-17 [[OLPC Firmware q2f11]] fix build date, fix SD card test.
* q2f11 - 2012-05-17 [[OLPC Firmware q2f11]] fix build date, fix SD card test.
* q2f10 - 2012-05-01 [[OLPC Firmware q2f10]] ext2, ext3, and ext4 filesystem fixes.
* q2f10 - 2012-05-01 [[OLPC Firmware q2f10]] ext2, ext3, and ext4 filesystem fixes.
Line 405: Line 405:


EC 4 firmware and change log [[EC 4.0 Firmware]]
EC 4 firmware and change log [[EC 4.0 Firmware]]

[[Category:Subsystems]]
[[Category:Firmware]]
[[Category:Firmware ROM]]


== Technical Background ==
== Technical Background ==
Line 428: Line 424:
* [[Scan_NAND]]
* [[Scan_NAND]]
* [[Startup_sound]]
* [[Startup_sound]]

[[Category:Subsystems]]
[[Category:Firmware]]
[[Category:Firmware ROM]]

Revision as of 01:04, 6 August 2013

  This page is monitored by the OLPC team.

The firmware of the XO laptop is the software that runs before and during the operating system.

Updating - For Users

Updating the XO to a new operating system release updates the firmware, if required. Normally, users should update to the latest stable operating system release in order to update the firmware.

However, users may upgrade just the firmware to the latest signed release.

Updating - For Developers

Developers who have an unsecured laptop or a developer key have more options:

  • install any of the firmware releases below; click the firmware version for instructions.
  • alter the secure upgrade to use one of the firmware files below.

Note: avoid downgrading, as certain downgrades may brick your XO.

Brick Recovery

Updating using the methods above requires working firmware. If the firmware is not working, and the laptop is bricked, the options are:

Both these require electronics lab bench skills and service tooling.

Firmware Releases

There is a subsection below for each laptop model, and a list of releases in each. Choose the correct laptop model. Do not mix firmware between models. Using the wrong firmware will be rejected by the flash command. Do not override this error, as the laptop may be harmed.

The first two letters of the firmware version serve as a laptop model. The following table shows how the prefix must be interpreted:

model start year prefix link
XO-4 2012 Q7 releases
XO-3 2011 Q5 releases
XO-1.75 2010 Q4 releases
XO-1.5 2009 Q3 releases
XO-1 2006 Q2 releases

The latest release is the first in the list.

XO-4

WARNING! XO-4 firmware will only work on an XO-4.

XO-3

WARNING! XO-3 Firmware will NOT work on an XO-1, XO-1.5 or XO-1.75.

XO-1.75

WARNING! XO-1.75 Firmware will NOT work on an XO-1 or an XO-1.5.

WARNING! XO-1.75 Firmware versions >= q4a10 will NOT work on A1 version boards.

WARNING! XO-1.75 Firmware versions >= q4b11 will NOT work on A2 version boards, and use on A3 requires a hardware modification.



XO-1.5

WARNING! XO-1.5 Firmware will NOT work on a XO-1.



XO-1




Do not downgrade from C series to B series

EC 1.75

EC 1.75 firmware is included in Open Firmware for XO-1.75.

EC 1.75 firmware and change log EC 1.75 Firmware

EC 4

EC 4 firmware is included in Open Firmware for XO-4.

EC 4 firmware and change log EC 4.0 Firmware

Technical Background

The firmware is in two parts:

  • EC Firmware, which runs on the embedded controller as soon as the battery is installed or external power is plugged in, and is responsible for managing the battery, charging, power switching, and indicator LEDs,
  • Open Firmware, which runs on the main processor when the power button is pressed, and is responsible for preparing that hardware and loading the operating system.

For XO-1 and XO-1.5, these two parts are bundled together as one .rom file. This firmware goes in the little 1 MB SPI FLASH that's used for booting, not the 1GB NAND flash (or 512MB in earlier prototypes) used for the OS image and user data. The SPI FLASH contains the Embedded controller ("EC") firmware, Open Firmware, and 2k Manufacturing Data. See Firmware SPI FLASH Map or its dia source file.

For XO-1.75, the .rom file contains Open Firmware and 2k Manufacturing Data and is stored in one SPI FLASH chip attached to the SoC. The Embedded controller ("EC") firmware is stored in another SPI FLASH chip attached to the EC. Therefore EC firmware is not bundled with Open Firmware.

See also