OLPC Firmware q3c10

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

OLPC Firmware Release q3c10

Works on XO-1.5 C1-C8 systems.

  • support for inflating initrd images from inside a .zip bundle, for <trac>12106</trac> and <trac>12181</trac>,
  • change the search order for .zip bundles to look for the platform-specific suffix first, falling back to the generic name, <trac>12129</trac>,
  • align the ramdisk and flattened device tree addresses, <trac>12107</trac>,
  • support WEP and WPA passwords containing spaces (parse whole line),
  • fixes to the antenna test,
  • changes to the USB test, which now identifies the device attached to a port,
  • add support for new SPI FLASH replacement parts,
  • improved debugger support, <trac>12105</trac>,
  • same underlying code base as XO-4 firmware.
Download q3c10.rom
Build date time 2012-11-24 01:15:18
Source revision 3462
EC version 2.2.10
Wireless firmware version Libertas thinfirm 9.0.7.p2

Changes

  • 3462 Q3C10
  • 3460 OLPC XO-1 XO-1.5 XO-1.75 - fix missing SPI FLASH progress bar dots, using a design from Mitch
  • 3452 libertas - spacing fix for antenna test
  • 3450 OLPC XO-1.5 - fixed build problem in audio selftest.
  • 3444 USB - Changed selftest logic so that it will not destroy (by wanton reprobing) the setup of devices that were connected prior to the execution of selftest. This fixes <trac>12254</trac> and corrects the fix to <trac>11845</trac>. I also made it possible to invoke the fisheye test by supplying the argument "fisheye" to the usb path, as in "test /usb:fisheye" or "test /usb:fisheye/hub" . The fisheye test is only available when diag-switch? is false.
  • 3419 OLPC SPI FLASH driver - converted nested case statements to tables.
  • 3417 OLPC SPI FLASH driver - added support for MX25L1635E.
  • 3415 shdci -- change clk-delay-cycles for MMC1/3/5 from 31 to 15
  • 3400 OLPC: Add tenths digit to battery temperature display
  • 3399 spiflash - two parts with different voltage have the same JEDEC ID, the Winbond W25Q16CVSSIG and W25Q16BVSIG, so render them as W25Q16, which also matches the name the vendor has used.
  • 3398 spiflash - rework identification logic, verified against GD25Q16B W25Q16CVSSIG MX25L1635E MX25U1635E MX25E8035
  • 3397 spiflash - fix for r3396, incorrect id when printed
  • 3396 spiflash - fix for r3392, incorrect id
  • 3392 spiflash - identify another second source parts by JEDEC ID rather than the short ID alone
  • 3391 OLPC - stack imbalance after (hub-selftest) fails causes test-all failure, regression introduced in r2412 by me
  • 3390 OLPC - display test was not twiddling DCON during subtest pause
  • 3386 spiflash - identify some second source parts by JEDEC ID rather than the short ID
  • 3374 WLAN - scan buffer display overran actual length, only seen with 8787, see http://dev.laptop.org/ticket/12144
  • 3372 decompiler - for strings with embedded control characters, render the characters as #, to fix visual debugger rendering, http://dev.laptop.org/ticket/12104
  • 3371 OLPC - signed fs-update, fix for uninitialised buffer pointer, <trac>12186</trac>
  • 3369 OLPC - fixed a possible unitialized buffer address in fs-update.
  • 3367 x86 kernel - added bscan code word used by new substring variant.
  • 3366 <trac>12106</trac> and <trac>12181</trac> - inflate initrd images from inside a .zip bundle.
  • 3364 OLPC - rewrite SPI and EC flash animation scale calculation following review
  • 3363 WLAN - fix test-antenna 'a' command
  • 3362 SDHCI - fixed ok copy int:\foo int:\bar which was hanging
  • 3361 OLPC WLAN driver - report 802.11n firmware capability when present, tested on XO-4 B1 with 8686 and 8787
  • 3360 OLPC WLAN driver - extend antenna testing to 8787
  • 3359 OLPC - make SPI and EC flash animation scale calculation at run time, tested on XO-4
  • 3355 OLPC - adjust SPI and EC flash animation for larger parts, tested on XO-4
  • 3353 OLPC <trac>12135</trac> - turn off DCON only if it is already on.
  • 3352 OLPC x86 - fixed build regression for platforms where the WLAN driver is in FCode.
  • 3351 OLPC x86 - fixed build regression for old platforms where there is no camera sensor node underneath an i2c node.
  • 3349 OLPC trac 12129 - Changed the search order for .zip bundles to look for the platform-specific suffix first, falling back to the generic name.
  • 3346 Debugger - the "up" keystroke ('U') was not working when debugging inside a do .. loop due to misinterpreting a pointer to the loop end address as a return address.
  • 3344 usb.fth: add gpio property for hub reset gpio
  • 3343 usb: add a clock-names property for USBPHYCLK
  • 3342 WiFi - changed wep and wpa prefix commands to parse the entire line instead of just one word, thus enabling passwords containing spaces.
  • 3341 Debugger - improve visual debugger redisplay so it's rarely necessary to use the L command. See <trac>12105</trac>.
  • 3337 OLPC WLAN driver - Support both 8686 and 8787 WLAN modules from the same driver.
  • 3336 OLPC WLAN driver - Use $read-file instead of boot-read in find-fw, so the result is always in allocated memory, and can thus be safely freed.
  • 3329 OFW core - extend Forth decompiler and debugger to handle instance defer words.
  • 3328 OLPC XO-1.5 - fix inability to reflash, repeat of r3327 for XO-1.5
  • 3317 OLPC - Implemented ?ofw-reflash in security.fth so that the version in /boot/olpc.fth will not be used. This has the effect of extending the rule of "bootfw.zip" must be named "bootfw4.zip" for XO-4 to the unsecure boot domain too.
  • 3310 Linux support - align the ramdisk and flattened device tree addresses. <trac>12107</trac>. The problem happened when secure-booting an initrd whose size was not a multiple of 4.
  • 3287 OLPC - suppress image size smaller than disk size now that builds size themselves to available space
  • 3285 OLPC - security, use signature-offset for locating version number in next firmware image, <trac>12079</trac>
  • 3231 Q3C09


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