OLPC Firmware q4d27

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

OLPC Firmware Release q4d27

Works on XO-1.75 C2 only.

Download q4d27.rom
Build date time 2013-02-13 22:40:45
Source revision 3550
EC version 1.0.01
CForth version c17ebbe0
Wireless firmware version Libertas thinfirm 9.0.7.p2

Changes

Open Firmware

  • 3548 OLPC - rewrite switch tests for field only, <trac>12514</trac>
  • 3546 OLPC - lid and ebook switch tests, move to a common file
  • 3545 OLPC - move some common developer utilities into a single file.
  • 3544 mkdropin - again fix calculation of ending address for reserved area skip, by adding the pad to 4-byte boundary. A build using builder.dic from before svn 3540 had the reserved header exactly at reserved-start. See also svn 1980. Regenerated ARM builder using koji2.laptop.org.
  • 3543 OLPC ARM - dcon, power cycle on hang, fix for <trac>12377</trac>.
  • 3542 OLPC - telnetd, allow subsequent reconnections, display IP address of client, suppress 300ms options negotiation allowing to occur during normal mux I/O, also fixes <trac>12539</trac>.
  • 3541 core - allow go after keyboard interrupt, to resume execution.
  • 3540 mkdropin - fix calculation of ending address for reserved area skip, occasionally a reserved area began with trailing bytes of the dropin header.
  • 3537 OLPC - libertas, when ring buffer was full stack imbalance triggered Data Abort during pingd test, <trac>12172</trac>.
  • 3536 USB - add an interrupt lockout for the keyboard alarm handler, so that it is skipped if the non-interrupt context is in the middle of a bulk or interrupt pipe method. A fix for OLPC <trac>12516</trac>. Actual cause still unknown.
  • 3533 OLPC - allocate any heap during driver open rather than during an alarm handler, for the /ap-sp, /keyboard, and /usb/keyboard drivers, fixes <trac>12466</trac>, tested with 128,000 boot cycles across four units.
  • 3532 OLPC ARM - sound, avoid some possible races with the buffer refill alarm handler.
  • 3525 OLPC XO-1.75 XO-4 - review, default wireless configuration manufacturing tags.
  • 3523 OLPC XO-1.75 XO-4 - feature, default wireless configuration manufacturing tags, NN for network name, EP for WEP, and PA for WPA.
  • 3521 OLPC XO-1.75 XO-4 - tune DCON unfreeze timing. Ten values of resumeline are glitch free for each CPU speed, so a median value is chosen.
  • 3518 telnetd - use the I/O multiplexor, so that the telnet client becomes a mirror of the keyboard, display, and serial console.
  • 3517 usbserial - start the read again next time the device is opened, fixes re-use of USB serial devices by applications, without this change the read path yields no data on subsequent open because the bulk in is not set up.
  • 3513 OLPC ARM - DCON unfreeze glitch reduction on 1.2 GHz SKUs. Increased the delay between waking screen and enabling DCONLOAD. Set scan line register in device setup. Solves <trac>12394</trac>. Does not change <trac>12377</trac>.
  • 3512 OLPC camera driver - trac <trac>12436</trac> - turn off camera power domain in open method if sensor not found; fixes failure to suspend.

CForth

  • move the interrupt stack from SRAM into TCM, <trac>12453</trac>, (XO-4 specific, but changed common code),

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