Firmware: Difference between revisions

From OLPC
Jump to navigation Jump to search
(added shipped in release links)
Line 67: Line 67:
=== XO-4 ===
=== XO-4 ===
<span style="color:red; ">WARNING! [[XO-4]] firmware will only work on an XO-4.</span>
<span style="color:red; ">WARNING! [[XO-4]] firmware will only work on an XO-4.</span>
* q7b37 - 2013-07-12 [[OLPC Firmware q7b37]] fix NANDblaster.
* q7b37 - 2013-07-12 [[OLPC Firmware q7b37]] fix NANDblaster. ''Shipped in [[13.2.0]].''
* q7b36 - 2013-07-06 [[OLPC Firmware q7b36]] fix startup sound when volume keys pressed.
* q7b36 - 2013-07-06 [[OLPC Firmware q7b36]] fix startup sound when volume keys pressed.
* q7b35 - 2013-06-26 [[OLPC Firmware q7b35]] preproduction on new line.
* q7b35 - 2013-06-26 [[OLPC Firmware q7b35]] preproduction on new line.
Line 81: Line 81:
* q7b25 - 2013-03-12 [[OLPC Firmware q7b25]] touchscreen linearity test
* q7b25 - 2013-03-12 [[OLPC Firmware q7b25]] touchscreen linearity test
* q7b24 - 2013-03-08 [[OLPC Firmware q7b24]] EC Firmware fixes to improve wakeup stability, touchscreen linearity test
* q7b24 - 2013-03-08 [[OLPC Firmware q7b24]] EC Firmware fixes to improve wakeup stability, touchscreen linearity test
* q7b23 - 2013-03-06 [[OLPC Firmware q7b23]] Unused cores powered off <trac>12589</trac>
* q7b23 - 2013-03-06 [[OLPC Firmware q7b23]] Unused cores powered off <trac>12589</trac>. ''Shipped in [[13.1.0]].''
* q7b22 - 2013-03-04 [[OLPC Firmware q7b22]] EC fix for communications loss <trac>12525</trac>
* q7b22 - 2013-03-04 [[OLPC Firmware q7b22]] EC fix for communications loss <trac>12525</trac>
* q7b21 - 2013-03-01 [[OLPC Firmware q7b21]] EC_IRQ# timing change for 1 GHz machines
* q7b21 - 2013-03-01 [[OLPC Firmware q7b21]] EC_IRQ# timing change for 1 GHz machines
Line 116: Line 116:
<span style="color:red; ">WARNING! [[XO-1.75]] Firmware versions >= q4b11 will NOT work on A2 version boards, and use on A3 requires a hardware modification.</span>
<span style="color:red; ">WARNING! [[XO-1.75]] Firmware versions >= q4b11 will NOT work on A2 version boards, and use on A3 requires a hardware modification.</span>


* q4d34 - 2013-07-12 [[OLPC Firmware q4d34]] fix NANDblaster.
* q4d34 - 2013-07-12 [[OLPC Firmware q4d34]] fix NANDblaster. ''Shipped in [[13.2.0]].''
* q4d33 - 2013-07-06 [[OLPC Firmware q4d33]] fix startup sound when volume keys pressed.
* q4d33 - 2013-07-06 [[OLPC Firmware q4d33]] fix startup sound when volume keys pressed.
* q4d32 - 2013-06-26 [[OLPC Firmware q4d32]] preproduction on new line.
* q4d32 - 2013-06-26 [[OLPC Firmware q4d32]] preproduction on new line.
Line 126: Line 126:
* q4d26 - 2013-01-04 [[OLPC Firmware q4d26]] EC update, move startup sound to eMMC.
* q4d26 - 2013-01-04 [[OLPC Firmware q4d26]] EC update, move startup sound to eMMC.
* q4d25 - 2012-11-26 [[OLPC Firmware q4d25]] Development version.
* q4d25 - 2012-11-26 [[OLPC Firmware q4d25]] Development version.
* q4d24 - 2012-11-25 [[OLPC Firmware q4d24]] another fix for booting certain operating system images.
* q4d24 - 2012-11-25 [[OLPC Firmware q4d24]] another fix for booting certain operating system images. ''Shipped in [[13.1.0]].''
* q4d23 - 2012-11-23 [[OLPC Firmware q4d23]] fix for booting certain operating system images.
* q4d23 - 2012-11-23 [[OLPC Firmware q4d23]] fix for booting certain operating system images.
* q4d22 - 2012-11-15 [[OLPC Firmware q4d22]]
* q4d22 - 2012-11-15 [[OLPC Firmware q4d22]]
Line 133: Line 133:
* q4d19 - 2012-07-03 [[OLPC Firmware q4d19]] <span style="color:red; ">Withdrawn</span>
* q4d19 - 2012-07-03 [[OLPC Firmware q4d19]] <span style="color:red; ">Withdrawn</span>
* q4d18 - 2012-06-18 [[OLPC Firmware q4d18]] fix for USB scanners in production, regression was only in Q4D17,
* q4d18 - 2012-06-18 [[OLPC Firmware q4d18]] fix for USB scanners in production, regression was only in Q4D17,
* q4d17 - 2012-06-15 [[OLPC Firmware q4d17]] support for alternate source RAM chips,
* q4d17 - 2012-06-15 [[OLPC Firmware q4d17]] support for alternate source RAM chips. ''Shipped in [[12.1.0]].''
* q4d16 - 2012-06-06 [[OLPC Firmware q4d16]] support for 1 GHz processor, and test menu improvements.
* q4d16 - 2012-06-06 [[OLPC Firmware q4d16]] support for 1 GHz processor, and test menu improvements.
* q4d15 - 2012-05-24 [[OLPC Firmware q4d15]] fixes for USB serial adapters, and new .os command,
* q4d15 - 2012-05-24 [[OLPC Firmware q4d15]] fixes for USB serial adapters, and new .os command,
Line 160: Line 160:
* q4c04 - 2011-11-08 [[OLPC Firmware q4c04]] Suspend/resume tweaks for Linux, rockers now wakeup from suspend, new EC firmware
* q4c04 - 2011-11-08 [[OLPC Firmware q4c04]] Suspend/resume tweaks for Linux, rockers now wakeup from suspend, new EC firmware
* q4c03 - 2011-11-02 [[OLPC Firmware q4c03]] Accelerometer communication rate increase, new EC firmware.
* q4c03 - 2011-11-02 [[OLPC Firmware q4c03]] Accelerometer communication rate increase, new EC firmware.
* q4c02 - 2011-10-26 [[OLPC Firmware q4c02]] EC firmware update for C1 build.
* q4c02 - 2011-10-26 [[OLPC Firmware q4c02]] EC firmware update for C1 build. ''Shipped in [[11.3.0]].''
* q4c01 - 2011-10-24 [[OLPC Firmware q4c01]] Bringup for C1 build.
* q4c01 - 2011-10-24 [[OLPC Firmware q4c01]] Bringup for C1 build.
* q4b12 - 2011-10-13 [[OLPC Firmware q4b12]] Test candidate for C1 build.
* q4b12 - 2011-10-13 [[OLPC Firmware q4b12]] Test candidate for C1 build.
Line 189: Line 189:
=== XO-1.5 ===
=== XO-1.5 ===
<span style="color:red; ">WARNING! [[XO-1.5]] Firmware will NOT work on a XO-1.</span>
<span style="color:red; ">WARNING! [[XO-1.5]] Firmware will NOT work on a XO-1.</span>
* q3c16 - 2013-07-11 [[OLPC Firmware q3c16]] Fix NANDblaster.
* q3c16 - 2013-07-11 [[OLPC Firmware q3c16]] Fix NANDblaster. ''Shipped in [13.2.0]].''
* q3c15 - 2013-06-06 [[OLPC Firmware q3c15]]
* q3c15 - 2013-06-06 [[OLPC Firmware q3c15]]
* q3c14 - 2013-05-02 [[OLPC Firmware q3c14]]
* q3c14 - 2013-05-02 [[OLPC Firmware q3c14]]
Line 196: Line 196:
* q3c11 - 2013-02-14 [[OLPC Firmware q3c11]]
* q3c11 - 2013-02-14 [[OLPC Firmware q3c11]]
* q3c10 - 2012-11-24 [[OLPC Firmware q3c10]] Development version.
* q3c10 - 2012-11-24 [[OLPC Firmware q3c10]] Development version.
* q3c09 - 2012-08-28 [[OLPC Firmware q3c09]]
* q3c09 - 2012-08-28 [[OLPC Firmware q3c09]] ''Shipped in [[13.1.0]].''
* q3c08 - 2012-07-10 [[OLPC Firmware q3c08]]
* q3c08 - 2012-07-10 [[OLPC Firmware q3c08]]
* q3c07 - 2012-06-15 [[OLPC Firmware q3c07]]
* q3c07 - 2012-06-15 [[OLPC Firmware q3c07]] ''Shipped in [[12.1.0]].''
* q3c06 - 2012-05-03 [[OLPC Firmware q3c06]]
* q3c06 - 2012-05-03 [[OLPC Firmware q3c06]]
* q3c05 - 2012-04-08 [[OLPC Firmware q3c05]] fix ext2 filesystem access for mass production runin testing.
* q3c05 - 2012-04-08 [[OLPC Firmware q3c05]] fix ext2 filesystem access for mass production runin testing.
Line 207: Line 207:
----
----
* q3b23 - 2011-11-02 [[OLPC Firmware q3b23]] Development version for 11.3.1 or 12.1.0, not for production
* q3b23 - 2011-11-02 [[OLPC Firmware q3b23]] Development version for 11.3.1 or 12.1.0, not for production
* q3b22 - 2011-10-24 [[OLPC Firmware q3b22]] New EC firmware 2.2.10 for battery charging fix
* q3b22 - 2011-10-24 [[OLPC Firmware q3b22]] New EC firmware 2.2.10 for battery charging fix. ''Shipped in [11.3.0]].''
* q3b21 - 2011-10-23 [[OLPC Firmware q3b21]] New EC firmware 2.2.9 fixes shutdown on DC insert with low battery
* q3b21 - 2011-10-23 [[OLPC Firmware q3b21]] New EC firmware 2.2.9 fixes shutdown on DC insert with low battery
* q3b19 - 2011-08-24 [[OLPC Firmware q3b19]] Improved compatibility with other power adapters in case of accidental connection.
* q3b19 - 2011-08-24 [[OLPC Firmware q3b19]] Improved compatibility with other power adapters in case of accidental connection.
Line 272: Line 272:


=== XO-1 ===
=== XO-1 ===
* q2f19 - 2013-07-11 [[OLPC Firmware q2f19]] Fix for NANDblaster.
* q2f19 - 2013-07-11 [[OLPC Firmware q2f19]] Fix for NANDblaster. ''Shipped in [[13.2.0]].''
* q2f18 - 2013-06-06 [[OLPC Firmware q2f18]]
* q2f18 - 2013-06-06 [[OLPC Firmware q2f18]]
* q2f17 - 2013-04-18 [[OLPC Firmware q2f17]]
* q2f17 - 2013-04-18 [[OLPC Firmware q2f17]]
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]] ''Shipped in [[13.1.0]].''
* q2f12 - 2012-06-13 [[OLPC Firmware q2f12]]
* q2f12 - 2012-06-13 [[OLPC Firmware q2f12]] ''Shipped in [[12.1.0]].''
* 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 289: Line 289:
----
----
* q2e49 - 2011-11-03 [[OLPC Firmware q2e49]] Development version for 11.3.1 or 12.1.0
* q2e49 - 2011-11-03 [[OLPC Firmware q2e49]] Development version for 11.3.1 or 12.1.0
* q2e48 - 2011-10-14 [[OLPC Firmware q2e48]] Final version for inclusion in 11.3.0
* q2e48 - 2011-10-14 [[OLPC Firmware q2e48]] ''Shipped in [[11.3.0]].''
* q2e46 - 2011-07-22 [[OLPC Firmware q2e46]] Innumerable changes, using the current development head shared by XO-1, XO-1.5 and XO-1.75.
* q2e46 - 2011-07-22 [[OLPC Firmware q2e46]] Innumerable changes, using the current development head shared by XO-1, XO-1.5 and XO-1.75.
* q2e45 - 2010-08-23 [[OLPC Firmware q2e45]] Fix occasional hang on boot with Fedora 11 builds and fix loss of mouse actions on wake.
* q2e45 - 2010-08-23 [[OLPC Firmware q2e45]] Fix occasional hang on boot with Fedora 11 builds and fix loss of mouse actions on wake.

Revision as of 23:32, 12 December 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; choose one, download the .rom file, and then follow the Firmware/Install 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.5

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

EC 1.5 firmware development change log XO_1.5_EC_dev_changelog.

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