OLPC Firmware q3b11

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

OLPC Firmware Release q3b11

Works on XO-1.5 C1-C8 systems, but does not work on any XO-1 machines.

Download q3b11.rom
Build date time 2011-06-21 21:23:59
Source revision 2309
EC version 2.2.6
Wireless firmware version Libertas thinfirm 9.0.7.p2

Changes since q3b10

Open Firmware

  • r2309 OLPC XO-1.5: Prevent OFW from polling the EC into oblivion
  • r2308 OLPC XO-1.5 - DSDT for more revisions, from Q3B10 out of tree patch, to be included in Q3B11.
  • r2305 OLPC XO-1.5: Use EC code Ver 2.2.6
  • r2303 OLPC - more tweaking of audio analysis parameter passing, making both XO-1.5 and XO-1.75 builds work.
  • r2297 OLPC - fixed stack bug in rtc-rollback?
  • r2291 Changed "0 [if]" to "[ifdef] notdef" because the FCode tokenizer doesn't like the former.
  • r2288 OLPC XO-1.5,1.75: Remove mppt-pct. The Intersil charger only has 0x20 graduations of resolution in current limit so setting this in percent doesn't make as much sense as it did when the max was 0xff. Was only used in manual testing/debug and now all that is done with 'mppt-limit!' .
  • r2286 client library - Use -fno-builtin to eliminate "conflicting type" warnings, and then eliminated the use of size_t in favor of "int", because size_t requires a dependency on external include files.
  • r2285 Use new git commit of nandblaster, with fewer compiler include dependencies.
  • r2281 XO-1 Add bat_reset support, needs special EC code
  • r2280 XO 1.5-1.75 EC Read Vin cmd expanded to return 2 bytes
  • r2266 OLPC - fix trivial spelling error in SD card instructions
  • r2263 Moved bits/cell from util.fth to kernel.fth so it's present in time for dlshift and friends.
  • r2258 Bezier curve drawing code has a stack bug that sometimes cause crashes; not sure why this hadn't been seen before.
  • r2256 OLPC XO-1.5 trac #10970 - code review comments merged and tested against 11.2.0 os22.
  • r2255 OLPC XO-1.5 trac #10970 - avoid disabling the F segment since it is in use by the DSDT at the time.
  • r2254 OLPC XO-1.5 - fix build regression introduced by svn 2246, use 386-assembler instead of x86-assembler. Watermark: brick tested on XO-1.5 0xD7.
  • r2244 Fixed decompiler problem - it was failing to display the names of some data types. The code to display them existed, but wasn't enabled due to a search order problem.
  • r2235 USB - moved some functions from an EHCI-specific file to a common file to fix compilation errors for other host controllers.
  • r2233 OLPC trac #10887 - added selftest support for USB hubs.
  • r2226 OLPC trac #10896 - Implement persistent volume control for XO-1.75 (in the process, Mitch moved the relevant code, which was duplicated between XO-1 and XO-1.5, into a common file that is used by all versions).
  • r2221 Marvell "libertas" WLAN driver - Retries after failure to associate were crashing instead of retrying.
  • r2220 TCP - Reduced the TCP receive buffer size to keep the advertised window smaller, thus preventing the other end from sending-ahead more data than small-buffer network interfaces can handle. This makes HTTP reads work much better on OLPC XO-1.5 and 1.75 systems, especially over WLAN.

EC

  • limit input current based on voltage for Rev L and beyond,
  • add support for board identifiers 0xd8 aka C5 aka rev L, 0xd9 aka C7 aka Rev I, and 0xda aka C8 Rev M,


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