OLPC Firmware q4b06

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

OLPC Firmware Release q4b06

For A2 and later boards ONLY! Do not install on A1 boards.

This fixes a major problem with B1 bricking.

Download q4b06.rom
Build date time 2011-08-02 17:28:25
Source revision 2408
EC version 0.2.02
CForth version 5f85d78
Wireless firmware version Libertas thinfirm 9.0.7.p2

Changes since q4b05

Open Firmware

  • svn 2407 OLPC trac <trac>11100</trac> - fixed USB hub selftest stack error introduced by recent change to control port ordering.
  • svn 2406 OLPC XO-1.75 trac <trac>10829</trac> - fixed silly mistakes in the compass driver.
  • svn 2405 OLPC XO-1.75 trac <trac>11099</trac> - the startup jingle was interfering with rocker-triggered selftest.
  • svn 2404 OLPC XO-1.75 - fixed camera driver - it was broken by the VA != PA conversion.
  • svn 2403 OLPC XO-1.75 - added convenience function for my test bed scripting, previously qrom in XO-1.5. Executes a script via HTTP over WLAN. No functional change.
  • svn 2402 OLPC XO-1.75 - changed the paths for newrom and newec convenience functions. No functional change.
  • svn 2401 OLPC trac <trac>11098</trac> - Sped up fs-update on XO-1.75 by using software sha-256 instead of the slower hardware "accelerated" version. OS31 now fs-update's in 4:00 (4 minutes) instead of 5:30.
  • svn 2400 OLPC XO-1.75 - trac <trac>11089</trac> - changed the SSP SPI driver to avoid glitches that confuse the SPI FLASH chip.
  • svn 2399 OLPC - SPI FLASH high level driver - reverted svn 2396 because a) The changes therein caused an unwanted message to appear in the case where the retry code was automatically recovering from the id error and b) Knowing the precise value of the bad ID did not turn out to be interesting The actual problem has been fixed and will be checked in next.
  • svn 2398 OLPC XO-1.75 - change final function USB test order for CL2 to match CL1B, remove test mask, implement a test sequence property.
  • svn 2397 OLPC XO-1.75 - Fixed problem in hardware-accelerated hashing function introduced by the virtual != physical change, thus fixing fs-update .
  • svn 2396 OLPC XO-1.75 - report SPI FLASH ID when unsupported
  • svn 2392 OLPC XO-1.75 - Added numeric display of startup progress messages. Press the check key to see them - or CForth will automatically make them visible if OFW fails to take over the display after a few seconds.
  • svn 2391 ARM assembler - fixed bug in the handling of "!" addressing suffixes for load and store instructions. Basically that suffix was ignored.
  • svn 2390 OLPC XO-1.75 - Eliminated direct use of l! for I/O device access in favor or rl! and io!; allows virtual != physical addressing of I/O devices.
  • svn 2389 OLPC XO-1.75 - pretty boot should be disabled in the factory, not enabled. The code had it backwards.
  • svn 2388 USB hub - added 100 ms delay between detecting insertion and probing the device in hopes of keeping devices like scanners happy.

CForth

  • no change

EC

  • no change

WLAN

  • no change


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  q4b06 ...   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  q4b06 ...   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:\q4b06.rom
  • if the downloaded file is on an external SD card:
 flash sd:\boot\q4b06.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/q4b06/q4b06.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\q4b06.rom
  • if the file is on the internal SD card of an XO-1.5 or XO-1.75:
flash int:\boot\q4b06.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\q4b06\q4b06.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.