OLPC Firmware q2d07

From OLPC
Revision as of 14:29, 6 October 2012 by FGrose (talk | contribs) (Proper name for Open Firmware)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
  This page is monitored by the OLPC team.

OLPC Firmware Release q2d07 - 2007-12-07

This firmware is for the Ship.2 software release set, fixing a critical bug that was found in q2d06. The bug caused the system not to start at all on systems where the Real Time Clock in not initialized - i.e. in the manufacturing environment. 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. 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.

If your system currently has Q2D06 and the screen lights up after power on, you are not being affected by this bug, but you should upgrade soon anyway. The bug is only triggered if the Real Time Clock device loses its dedicated battery power. Ideally, loss of RTC battery power would be unlikely to occur in the field, unless you explicitly disassemble the machine and remove the "coin cell" backup battery. Unfortunately, several thousand early production machines were manufactured with coin cell battery holders that have inadequate retention force, so the batteries can pop out if the laptop is subjected to mechanical shock. (The parts were produced from a worn injection mold tool, so their retaining lip came out too small.) If this should happen before you have upgraded to Q2D07, your machine would be bricked.

If, when you try to power on your system, the green power light comes on, but the screen doesn't light up, it is probably because of this bug. Unless you have one of the special serial debugging adapters (available only to select developers because we don't have any more of them), your only option is to return the machine for repair/replacement.

If your system won't boot and it says "The Clock is not set properly. Invalid system date. Stopping." then powers off, it is not this bug. The symptom just described is caused by a bug in an earlier firmware - Q2D02 or Q2D03 - which were not supposed to have been shipped on G1G1 machines, but apparently a few machines did go out with one of those versions. But the solution is the same - you must send the machine in for repair or replacement. Getting a developer key won't help, because the clock check in Q2D02/Q2D03 happens before the developer key check.

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 B4, 256 MiB memory installed, S/N SHF7250024D
 OpenFirmware  CL1   Q2D07 Q2D

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.

Installation

When installing new firmware, you need a well-charged battery and the AC adapter must be plugged in. The firmware update code will not proceed otherwise.

Secure Machines

(Please note that all G1G1—non-developer—machines are "secure".)

Download: Signed q2d07 bootfw.zip

Put the bootfw.zip file on the XO NAND FLASH filesystem in /versions/boot/current/boot/bootfw.zip, or on a USB key as /boot/bootfw.zip. Do not unpack the zip file - it must be present on the media in .zip form. Then power cycle the system. OFW should reload the firmware from the bootfw.zip automatically.

---

The following instructions show you how to do this from an XO running Sugar:

  1. Ensure that you are connected to the Internet.
  2. Open the Terminal activity
  3. Type the following commands:
 su
 wget http://dev.laptop.org/pub/firmware/q2d07/bootfw.zip -O /versions/boot/current/boot/bootfw.zip
 reboot

Note that "-O" is the upper case letter O, not the number zero.

After rebooting, the XO will first confirm the integrity of the download, then reboot to install the new firmware.

Your laptop must be plugged in to AC power during the firmware upgrade. (Otherwise it will display a warning and shut itself off. It will upgrade when you plug it in to AC power and turn it on.)

Unsecure Machines

(Please note that most developer machines are "unsecure".)

Download: q2d07.rom

Put the q2d07.rom file on the XO NAND FLASH filesystem in /versions/boot/current/boot/q2d07.rom, or on a USB key as /boot/q2d07.rom . Power cycle the system and get to the ok prompt. Then type either:

 ok flash u:\boot\q2d07.rom   ( if the file is on a USB key )

or

 ok flash n:\boot\q2d07.rom   ( if the file is on the NAND FLASH filesystem )

If you are upgrading from a much earlier firmware, you may have to remove all power from the machine and allow it to rest for a few minutes after reflashing before it will boot.


See Cheat codes for information about how game buttons control startup options.

Changes since OLPC Firmware q2d06

Open Firmware is svn 741, plus cherry-picked 749 and 750

  • OLPC Trac 5391 - Fixed a problem that bricks systems that have 0 (an invalid value) in the RTC month register.

WLAN firmware is 5.110.20.p42.bin

<Same as in Q2D06>

EC code is test4e

<same as in q2d06>