OLPC Firmware q4d06

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

OLPC Firmware Release q4d06

  • default flattened device tree export to Linux, requires recent kernels, <trac>11568</trac>, breaks support for OLPC OS 11.3.0,
  • touchscreen support for graphical test menu, <trac>11695</trac>,
  • calibrate a Raydium touchscreen, <trac>11704</trac>,
  • fix black-boxes regression in autorun-mfg-tests graphical test menu, <trac>11688</trac>,
  • add fs-resize, <trac>11690</trac>, see How to install a 2GB build on a 4GB or 8GB machine,
  • common NANDblaster source update, <trac>11696</trac>,
  • correction to ARM MMP2 timer reads,
  • consistent help across platforms,
  • full screen debugger,
  • decompiler syntax highlighting,

Works on XO-1.75 B1 and C1 only. Do not use on A2 or A3.

Download q4d06.rom
Build date time 2012-03-21 00:36:15
Source revision 2906
EC version 0.4.02
CForth version 1c5ee5c8
Wireless firmware version Libertas thinfirm 9.0.7.p2

Changes since q4d05

Open Firmware

  • 2905 OLPC - make help consistent across platforms
  • 2904 Improvements to the 2D debugger.
  • 2903 ANSI terminal interface - make it possible to turn off color text support.
  • 2902 core - stack effect comment fix
  • 2901 Debugger - 2D display of debugged word instead of scrolling. Not perfect yet, but pretty good. Revert to old behavior with "true to scrolling-debug?"
  • 2900 OLPC - add fs-resize, no change to fs-update, fs-resize enlarges the second partition to fill remaining space on eMMC or microSD, may be followed up with manual use of "resize2fs /dev/mmcblk0p2", does not require initramfs or olpc-os-builder support. <trac>11690</trac>
  • 2899 Eliminated the last vestiges of the long-obsolete p" format.
  • 2898 Colorized the decompiler output.
  • 2897 OLPC - stack effect comment fixes
  • 2896 OLPC XO-1.75 - trac <trac>11704</trac> - Raydium touchscreen driver - calibrate touchscreen during selftest and don't hang indefinitely if the touchscreen is spewing events.
  • 2895 ARM MMP2 timer driver - removed some dead code.
  • 2894 ARM MMP2 timer driver - improved the code that reads the timer values. The technique I was using to ensure a self-consistent read was bogus, and the hardware documentation is extremely unclear. It turns out that you need to use different techniques for the different timers - careful write/read synchronization for the fast one, and read-until-match for the slower ones.
  • 2893 OLPC XO-1,75 - trac <trac>11695</trac> - Added touchscreen support for graphical menu, factoring out common code in the touchscreen drivers and cleaning up some dead menu code in the process. For the older XO-3 build, the touchscreen could already be used to drive the menu in lieu of the nonexistent touchpad/mouse; now machines with both a touchscreen and a touchpad/mouse can use either interchangeably.
  • 2892 OLPC trac <trac>11696</trac> - fixed NANDblaster receive bug that affected only XO-1, but switched to fixed version of NANDblaster source for all OLPC platforms.
  • 2891 ARM - default to passing flattened device tree to Linux.
  • 2890 OLPC - autorun-mfg-tests showed uninitialised menu items, fix <trac>11688</trac>

CForth

  • none

EC

  • none

WLAN

  • none


Which Firmware Do You Have?

The best method for finding out what firmware version you have on a laptop depends on whether the laptop is secured or not, and what operating state it is in.

Unsecured Laptop

Obtain the Ok prompt, the firmware version is displayed in the startup banner, thus:

 OLPC ..., ... memory installed, ..., S/N SHF7250024D
 OpenFirmware  q4d06 ...   EC Firmware Ver:...
               ^^^^^

You can also obtain the built date:

 ok .built

This is the date and time that this image of the firmware was built by the release engineer.

Secured Laptop

Power up the laptop with the ✓ (check mark) game button held down. You will be asked to Release the game keys to continue. Release the ✓ (check mark) game button and watch carefully. For a short time the startup banner will be displayed, like this:

 OLPC ..., ... memory installed, ..., S/N SHF7250024D
 OpenFirmware  q4d06 ...   EC Firmware Ver:...
               ^^^^^

Alternatively, if the laptop is already booted, go to the Sugar home view, click on the icon at the centre of the screen and select "My Settings" then "About my Computer." The firmware version is displayed there.

Alternatively, in the Terminal activity or a text console, type:

 cat /proc/device-tree/openprom/model

or

 cat /ofw/openprom/model

With certain older firmware versions, if the operating system will not start, and the laptop is secured, you will not be able to obtain the firmware version using the above methods, so our recommendation is to go ahead and upgrade anyway. The procedure is safe and will not do anything if you already have up-to-date firmware.


Installation

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:
ok
  • if the downloaded file is on a USB drive, type:
 flash u:\q4d06.rom
  • if the downloaded file is on an external SD card:
 flash sd:\boot\q4d06.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,
su
cd /versions/boot/current/boot/
wget http://dev.laptop.org/pub/firmware/q4d06/q4d06.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:
ok
  • if the downloaded file is on an XO-1, type:
flash n:\boot\q4d06.rom
  • if the file is on the internal SD card of an XO-1.5 or XO-1.75:
flash int:\boot\q4d06.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:
ok
  • 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\q4d06\q4d06.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.