OLPC Firmware q3a24


Jump to: navigation, search
  This page is monitored by the OLPC team.


OLPC Firmware Release q3a24

q3a24 went onto the C1 machines in manufacturing. It is probably the release that will be on them when they are shipped.

It works on XO-1.5 A1, A2, B1, B2, B3, and C1 systems, but does not work on any XO-1 machines.

Download: q3a24.rom

Open Firmware is svn 1599

Changes since q3a18

  • svn 1598 HDAudio driver - got rid of remaining memory leak.
  • svn 1597 unfreeze screen, differentiate two identical error messages, and add missing parameter to execute-downloads
  • svn 1596 HDAudio driver and selftest - significant changes to reduce memory leaks, prevent reentrancy in the selftest, an clean up after sound completion.
  • svn 1595 OFW core - changed the implementation of the alarm list scanner so that an alarm handler can safely remove itselffrom the list from inside the handler.
  • svn 1594 Via manufacturing tests - checked in documentation file.
  • svn 1593 OLPC 1.5: Firmware release version q3a23
  • svn 1592 OLPC 1.5: Update EC code version
  • svn 1591 Via manufacturing tests - moved common routines from the mfg scripts into factory.fth to make the scripts shorter and cleaner.
  • svn 1590 Via manufacturing tests - big cleanup to simplify running the menu and sequencing the post-menu activities.
  • svn 1589 fix the KA server address, and remove extraneous call to flash-write-enable
  • svn 1588 OLPC 1.5: Fixes missing wlan power up on B3 and greater.
  • svn 1587 Checked in some bug fixes to runin.fth found in code walkthrough.
  • svn 1586 OLPC manufacturing test scripts - checkpoint.
  • svn 1585 OLPC trac 9873 - secure reflash via button keys was turned off; it is now turned on.
  • svn 1584 OLPC trac 9875 - report-disk was not creating a "disk" alias when a USB key was present, thus preventing developer keys from being found on USB keys.
  • svn 1583 OLPC trac 9870 - Fixed typo in previous checkin.
  • svn 1582 OLPC trac 9870 - Startup sound repeats when interrupts are disabled.
  • svn 1581 OLPC trac 9868 - Reinstated "Signature [in]valid" messages that inadvertently got lost when support for delegated signatures was added.
  • svn 1580 Q3A22
  • svn 1579 OLPC selftests - fixed booting bug introduced by 1575 and 1576.
  • svn 1578 version bump to q3a21
  • svn 1577 OLPC manufacturing test scripts - simplified runin script by omitting definitions that have been added to OFW.
  • svn 1576 OLPC battery test - use diagnostic-mode? instead of test-station because the latter is a forward reference.
  • svn 1575 OLPC Via - made diagnostic-mode? return the test-station value so selftests can distinguish the phases.
  • svn 1574 OFW core - added $read-file word.
  • svn 1573 OLPC - added silent-probe-usb command.
  • svn 1572 OLPC - added ($delete-tag) for batch-editing mfg tag arrays.
  • svn 1571 OLPC manufacturing tests - Renamed script from smttags.fth to smt.fth .
  • svn 1570 OLPC manufacturing tests - Renamed script from after_runin.fth to runin.fth .
  • svn 1569 OLPC manufacturing tests - Added final test sequencing to RUNIN phase script.
  • svn 1568 OLPC battery test - eliminated timeouts for SMT operator convenience, eliminated AC disconnect test in SMT phase.
  • svn 1567 OLPC SMT testing script - removed debugging code from tag writeback, and automatically check for missing tags in server response.
  • svn 1566 Initial revision of ASSY phase manufacturing test script.
  • svn 1565 Initial checkin of after_runin.fth
  • svn 1564 Via camera selftest - remove autobright from selftest; it causes problems in the factory.
  • svn 1563 smttags.fth - Added delay before battery presence check.
  • svn 1562 smttags.fth - Removed debug-me.
  • svn 1561 smttags.fth - Added auto firmware update.
  • svn 1560 New version of smttags.fth
  • svn 1559 Via - fixed a bug in uncache-flash - it didn't work at all.
  • svn 1558 Q3A20
  • svn 1557 OLPC display selftest - move disptest load line in fw.bth .
  • svn 1556 OLPC selftest - shortened in SMT mode and centered the color gradients.
  • svn 1555 OLPC LEDs test - lengthen test to give the operator more time.
  • svn 1554 CIFS driver - clear fid variable after close-file to prevent redundant close-file on overall close.
  • svn 1553 OLPC camera selftest - shorten movie stage to 5 seconds.
  • svn 1552 OLPC keyboard selftest - test game buttons in SMT stage.
  • svn 1551 q3a19
  • svn 1550 Test for write protect switch in SD selftest.
  • svn 1549 More changes to support OLPC manufacturing tests.
  • svn 1548 Suite of changes to support OLPC manufacturing tests.
  • svn 1547 Added EC Firmware version to OLPC banner.
  • svn 1546 Add several new battery debug words and the enable-serial word
  • svn 1545 Added brief DHCP progress reports.
  • svn 1544 Fixed a couple of dependencies that broke the XO-1 build.
  • svn 1543 Integrated XP secure boot into OLPC/Bitfrost security scheme.
  • svn 1542 Fixed a bug in zipfs's handling of symlinks - it caused dir to hang.
  • svn 1541 Fixed a couple of innocuous stack bugs that caused extra stack data during compilation.
  • svn 1540 Ramdisk driver - moved base address and size assumptions out of the driver code; they can be set externally.
  • svn 1539 Initial checkin of sba.fth
  • svn 1538 Checked in Via version of verify.bth
  • svn 1537 OLPC trac 9804 - Omnibus checkin of changes for manufacturing diagnostics.
  • svn 1536 Checked in some icons for manufacturing tests.
  • svn 1535 Initial checkin of code to handle tag exchange during the SMT test phase of manufacturing.

EC code is version 1.9.18

  • Add timestamp to the SOC changes.
  • Enable short debugging mode during runin discharge
  • Track down SOC jumping problem
  • Change runin discharge method
  • Change EC Ver string to use '.' rather than '_'
  • Bump EC API version for new run-in cmds
  • Add missing timeout print for 0xf2 command in KBMC detect
  • Allow short battery debugging to be printed when the charging is disabled
  • Fix charge enable bug in run-in mode
  • Make the PS2 Rx stream prints part of the 2nd level debug
  • Fixup KBMC ID exit state
  • Powerup LED tweaks
  • Add new EC commands for run-in mode
  • Fix bugs in the game key processing code
  • Convert the function pointer tables in the KBC code to switch statements
  • Add a bunch of keyboard debugging
  • Remove checks for hardware 1-wire interface
  • Convert #ifdef NEEDED to #if NEEDED
  • Remove bMBAT_RSOC
  • Update makefile to add release mode to all compiles
  • Handle PS2 interrupts when coming out of magic 7 reboot
  • Make kbc debug info always off when we release

WLAN firmware is 9.70.7.p0

<same as in q3a14>

Which Firmware Do You Have?

If your machine is not in secure mode, the firmware version is displayed in the startup banner, as in:

 OLPC XO 1.5, 1 GiB memory installed, S/N SHF7250024D
 OpenFirmware  CL1   Q3A04 Q3A

If your machine is in secure mode, you can go to the Terminal activity and type

 cat /ofw/openprom/model

If your machine is in secure mode but the OS will not start, just go ahead and try to upgrade the firmware anyway. The procedure is safe and will not do anything if you already have up-to-date firmware.

You can see the firmware version in secure mode by powering up with the "check" game button held down.

You can also go to the main Sugar screen, click on the little man and select "about this XO"


When installing new firmware, you must have a well-charged battery and the AC adapter plugged in. The firmware update code will not proceed otherwise. Possible error messages are:

error message how to fix
AC not present plug in the power cord, check the battery LED is on, then try again.
No external power plug in the power cord, check the battery LED is on, then try again,
No battery plug in the battery, check the latches, then try again, or try another battery,
Battery low allow more time for the battery to charge, then try again, or try another battery.

Unsecured Laptop

This section is for unsecured laptops. Most XO-1.5 and XO-1.75 laptops are unsecured. Most developer XO laptops are unsecured. To unsecure your laptop, follow the instructions at Activation and Developer Keys.

You may install using either:

  • a USB drive or SD card,
  • the laptop's internal drive,
  • a network.

Choose one.

Using a USB drive or SD card

  • check the battery is inserted and locked,
  • check that the power cord is in place and the battery indicator is green,
  • insert the USB drive or SD card,
  • turn on the laptop, and get to the 'ok' prompt. See Ok for more detail. You should see:
  • if the downloaded file is on a USB drive, type:
 flash u:\q3a24.rom
  • if the downloaded file is on an external SD card:
 flash sd:\boot\q3a24.rom
  • wait for the laptop to reboot itself,
  • remove the USB drive or SD card.

(Expert users may remove the USB drive after the message "Got firmware" ... at this stage the file has been read and closed.)

Using the laptop internal drive

An alternate method is to download the firmware file to the laptop internal drive and then install from the internal drive.

  • start the laptop,
  • connect to a wireless or wired network,
cd /versions/boot/current/boot/
wget http://dev.laptop.org/pub/firmware/q3a24/q3a24.rom
  • check the battery is inserted and locked,
  • check that the power cord is in place and the battery indicator is green,
  • turn on the laptop, and get to the 'ok' prompt. See Ok for more detail. You should see:
  • if the downloaded file is on an XO-1, type:
flash n:\boot\q3a24.rom
  • if the file is on the internal SD card of an XO-1.5 or XO-1.75:
flash int:\boot\q3a24.rom

Using a network

You will need a compatible USB to ethernet adapter, or an open or WEP wireless access point, connected to the internet.

  • check the battery is inserted and locked,
  • check that the power cord is in place and the battery indicator is green,
  • turn on the laptop, and get to the 'ok' prompt. See Ok for more detail. You should see:
  • if using wireless, type the essid of the wireless network:
essid mynetwork
  • if using a WPA wireless access point, type the WPA key for the network:
wpa passphrase
  • type the flash command using the download link above, but change all slash characters so they are backwards, for example:
flash http:\\dev.laptop.org\pub\firmware\q3a24\q3a24.rom

Secured Laptop

Secured laptops can only use flash firmware that has been signed. All mass-production machines had the latest firmware at the time of manufacture.

Upgrading firmware describes how to upgrade to a newer signed firmware release.

See also

  • Cheat codes for information about how game buttons control startup options.
Personal tools
  • Log in
  • Login with OpenID
About OLPC
About the laptop
About the tablet
OLPC wiki