OLPC Firmware q4b04: Difference between revisions

From OLPC
Jump to navigation Jump to search
No edit summary
Line 34: Line 34:


=== OpenFirmware ===
=== OpenFirmware ===
* [http://tracker.coreboot.org/trac/openfirmware/changeset/2369 svn 2369] OLPC XO-1.75 - EC 4.0.2.02
* [http://tracker.coreboot.org/trac/openfirmware/changeset/2367 svn 2367] OLPC XO-1.75 - avoid EC command timeouts in the EC-SPI protocol by draining the FIFO if the EC has timed out and sent extra packets, acking only when the FIFO is empty.
* [http://tracker.coreboot.org/trac/openfirmware/changeset/2366 svn 2366] OLPC XO-1.75 - load the EC keyboard node before the SP keyboard node so that the backlight and volume control keys apply to the SP keyboard node instead of the EC one.
* [http://tracker.coreboot.org/trac/openfirmware/changeset/2364 svn 2364] OLPC XO-1.75 - Double-probe the USB the first time with a little delay in-between, thus giving devices behind the hub a bit of wakeup time. In particular, this helps with USB barcode scanners.
* [http://tracker.coreboot.org/trac/openfirmware/changeset/2362 svn 2362] OLPC XO-1.75 - RTC driver - force the Clock Halt bit off if necessary, and verify that it worked.
* [http://tracker.coreboot.org/trac/openfirmware/changeset/2361 svn 2361] OLPC XO-1.75, move raise() noop function to library and fix build on * svn 2360 OLPC manufacturing tests - fixed a stack bug in an error path in smt.fth; perhaps that error path had never been executed.
* [http://tracker.coreboot.org/trac/openfirmware/changeset/2359 svn 2359] OLPC manufacturing tests - fixed mfg-test-dev to correctly pass in device-specifier arguments, thus fixing a bug that caused "test int:0" to fail when the SD card did not have a partition table.
* [http://tracker.coreboot.org/trac/openfirmware/changeset/2358 svn 2358] OLPC XO-1.75 - added emacs target rules to master Makefile.
* [http://tracker.coreboot.org/trac/openfirmware/changeset/2357 svn 2357] OLPC NANDblaster build script - Added "+ssh" to git URL for the "test" target, so changes can be pushed.
* [http://tracker.coreboot.org/trac/openfirmware/changeset/2356 svn 2356] Use latest NANDblaster source for 1.5 and 1.75 to pick up the move of memcmp() to the library.
* [http://tracker.coreboot.org/trac/openfirmware/changeset/2353 svn 2353] memcmp version from multicast-nand moved into library, Mitch identified it as better than the one that was there.
* [http://tracker.coreboot.org/trac/openfirmware/changeset/2352 svn 2352] OLPC XO-1.75 - fixed DRAM timings to match Marvell's latest recommendations. This is in the version of the file that splits out the parameters into individual fields, not the digested version that is used in CForth for the actual parameter setting.
* [http://tracker.coreboot.org/trac/openfirmware/changeset/2350 svn 2350] OLPC XO-1.75 - new EC version 4.0.2.00
* [http://tracker.coreboot.org/trac/openfirmware/changeset/2348 svn 2348] Checked in some experimental code for testing the speed of MMP2 memory to memory DMA; it serves as an example for how to drive said hardware.
* [http://tracker.coreboot.org/trac/openfirmware/changeset/2347 svn 2347] Checked in some demonstration/test code for the Marvel MMP2 internal RTC.
* [http://tracker.coreboot.org/trac/openfirmware/changeset/2346 svn 2346] Checked in a file containing complex code for setting up the clocks on an MMP2. Might be useful some day; although much simpler code is currently in use.
* [http://tracker.coreboot.org/trac/openfirmware/changeset/2345 svn 2345] Added a couple of tools to forth/lib for handling WinCE binaries. Not used by any standard builds.
* [http://tracker.coreboot.org/trac/openfirmware/changeset/2343 svn 2343] OLPC XO-1.75 trac #10997 - added emacs to XO-1.75 build.
* [http://tracker.coreboot.org/trac/openfirmware/changeset/2341 svn 2341] Can't suppress warnings in hdaudio/test.fth because it's loaded from FCode in some builds.
* [http://tracker.coreboot.org/trac/openfirmware/changeset/2340 svn 2340] Fixed bug in ofpong introduced by recent commit.


=== CForth ===
=== CForth ===

Revision as of 07:33, 15 July 2011


Pencil.png NOTE: The contents of this page are not set in stone, and are subject to change!

This page is a draft in active flux ...
Please leave suggestions on the talk page.

Pencil.png
  This page is monitored by the OLPC team.

OLPC Firmware Release q4b04

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

This is a release candidate for the B1 build.

Download q4b04.rom
Build date time 2011-07-15 00:34:28
Source revision 2370
EC version 0.2.02
CForth version 0fdd13e95917ae92fbd4a85df25495f67fef3a66
Wireless firmware version Libertas thinfirm 9.0.7.p2

Changes since q4b02

OpenFirmware

  • svn 2369 OLPC XO-1.75 - EC 4.0.2.02
  • svn 2367 OLPC XO-1.75 - avoid EC command timeouts in the EC-SPI protocol by draining the FIFO if the EC has timed out and sent extra packets, acking only when the FIFO is empty.
  • svn 2366 OLPC XO-1.75 - load the EC keyboard node before the SP keyboard node so that the backlight and volume control keys apply to the SP keyboard node instead of the EC one.
  • svn 2364 OLPC XO-1.75 - Double-probe the USB the first time with a little delay in-between, thus giving devices behind the hub a bit of wakeup time. In particular, this helps with USB barcode scanners.
  • svn 2362 OLPC XO-1.75 - RTC driver - force the Clock Halt bit off if necessary, and verify that it worked.
  • svn 2361 OLPC XO-1.75, move raise() noop function to library and fix build on * svn 2360 OLPC manufacturing tests - fixed a stack bug in an error path in smt.fth; perhaps that error path had never been executed.
  • svn 2359 OLPC manufacturing tests - fixed mfg-test-dev to correctly pass in device-specifier arguments, thus fixing a bug that caused "test int:0" to fail when the SD card did not have a partition table.
  • svn 2358 OLPC XO-1.75 - added emacs target rules to master Makefile.
  • svn 2357 OLPC NANDblaster build script - Added "+ssh" to git URL for the "test" target, so changes can be pushed.
  • svn 2356 Use latest NANDblaster source for 1.5 and 1.75 to pick up the move of memcmp() to the library.
  • svn 2353 memcmp version from multicast-nand moved into library, Mitch identified it as better than the one that was there.
  • svn 2352 OLPC XO-1.75 - fixed DRAM timings to match Marvell's latest recommendations. This is in the version of the file that splits out the parameters into individual fields, not the digested version that is used in CForth for the actual parameter setting.
  • svn 2350 OLPC XO-1.75 - new EC version 4.0.2.00
  • svn 2348 Checked in some experimental code for testing the speed of MMP2 memory to memory DMA; it serves as an example for how to drive said hardware.
  • svn 2347 Checked in some demonstration/test code for the Marvel MMP2 internal RTC.
  • svn 2346 Checked in a file containing complex code for setting up the clocks on an MMP2. Might be useful some day; although much simpler code is currently in use.
  • svn 2345 Added a couple of tools to forth/lib for handling WinCE binaries. Not used by any standard builds.
  • svn 2343 OLPC XO-1.75 trac #10997 - added emacs to XO-1.75 build.
  • svn 2341 Can't suppress warnings in hdaudio/test.fth because it's loaded from FCode in some builds.
  • svn 2340 Fixed bug in ofpong introduced by recent commit.

CForth

  • Fixed problems in low-level interrupt handler
  • Security Processor PS/2 driver improvements
  • Use the lower core voltage, nominally 1.345V
  • New DRAM timings from Marvell

EC

  • Fix MPPT limit commands
  • Disable the tri-state on the keyboard power control
  • enable LV_SET output
  • Blink red on ISL communication problems

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