OLPC Firmware q3a18

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

OLPC Firmware Release q3a18

q3a18 is a stabilization release in preparation for the C-test hardware build. It fixes a critical bug that was found in early testing of q3a17, which has been withdrawn. The change history below is shown relative to q3a16, as we do not expect there to be widespread use of q3a17.

It works on XO-1.5 A1, A2, B1, B2, and B3 systems, but does not work on any XO-1 machines.

Download: q3a18.rom

Open Firmware is svn 1534

Changes since q3a16

  • svn 1534 Q3A18 version stamp
  • svn 1533 Really switch to new EC bits - svn 1531 mistakenly used an unreleased test version of the EC code.
  • svn 1532 Trac 9784 - fixed zip decoding bug introduced by recent revamp of zip filesystem code.
  • svn 1531 Q3A17 version stamp and switch to new EC bits.
  • svn 1530 Trac 9783 - fixed silence of test /audio .
  • svn 1529 Trac 9423 and 9769 - added some debugging code to make the trac 9423 problem happen more often, and made it switchable (default off) so it doesn't affect normal users (per trac 9769) but can be turned on for testing. The command to switch on the "fail more often" code is "no-usb-delay". There is also a "null-fsdisk" command that can be used before "fs-update ..." to discard the fs-update output instead of writing it to SD - since fs-update is a very good way to trigger the USB problem.
  • svn 1524 Trac 9766 - test-all failed after testing SD with no card in slot.
  • svn 1522 Trac 9763 - Fixed camera test to work with 32bpp display mode.
  • svn 1520 Improvements in zip-file-system package to handle symlinks, subdirectories, and Unix attributes.
  • svn 1519 Trac 9423 - improve support for EC and LID in dsdt.dsl .
  • svn 1518 Trac 9423 - EHCI transfer completion - instead of checking the active bit in the transfer overlay, check it in the qtd, after verifying that the queue head has updated the current qtd pointer. This eliminates a race condition with the CPU looking at the transfer overlay before the EHCI host controller has performed the overlay.
  • svn 1511 Switch back to using ACPI timer for t( and )t, with improvements in its long-term timekeeping abilities. To prevent rollover on long t( .. )t runs, you must call t-update from time to time.
  • svn 1500 Trac 9701 - turn off speaker if headphones attached
  • svn 1499 Added new FCode token "debug-me" for debugging FCode drivers.
  • svn 1498 Trac 9729 - fixed race condition in SDHCI interrupt-wait logic.
  • svn 1497 Trac 9693 - fixed strange crash when exiting from SMI handler during Windows booting.
  • svn 1496 Trac 9727 - Made the DRAM CAS latency setting dependent on memory ID0 strapping, to support new DRAM chips that require CL=4.
  • svn 1491 Trac 9704 - rtc-wackup failed due to inclusion of wrong version of file, which used the wrong offsets for auxiliary alarm registers.
  • svn 1490 Trac 9703 - Logic sense of dcon-irq? was inverted on B3, leading to failure to freeze the DCON before suspend.
  • svn 1488 Trac 9698 - Switched back to using the timestamp counter for timing operations, because the ACPI timer rolls over too frequently for operations like fs-update. We will just have to live with the variability due to throttling.
  • svn 1487 Trac 9695 - Report the SMBIOS firmware version string in a form that Windows will accept.
  • svn 1486 Trac 9695 - Changed ACPI DSDT to report a PCI bus instead of PCIe and to declare the PS2 kbd and mouse as present and enabled.
  • svn 1485 Trac 9472 - Init VGA RMR register to 0xff to fix goofy colors in text mode.
  • svn 1484 Trac 9676 - enable USB ports 4,5 for use by possible internal USB keyboard.
  • svn 1483 USB Network driver - added Netgear FA100 vendor/device ID to the list for the Pegasus II chip.


EC code is version 1.9.15

  • Make keyboard matrix decoder detect more robust
  • Restore the final flicker on power off
  • Different red LED blinks for early boot failure (one blink == no main on, two blinks == no PCI reset)
  • Finish auto power and constant power modes. Enable by AP mfg tag or CP mfg tag
  • MPPT code. (Default is disabled right now)
  • Turn on/off SD power as MAIN_ON goes on and off.
  • Update board ID for C1
  • Handle PS2 interrupts when coming out of magic 7 reboot

WLAN firmware is 9.70.7.p0

<same as in q3a14>

Which Firmware Do You Have?

If your machine is not in secure mode, the firmware version is displayed in the startup banner, as in:

 OLPC XO 1.5, 1 GiB memory installed, S/N SHF7250024D
 OpenFirmware  CL1   Q3A04 Q3A
                     ^^^^^

If your machine is in secure mode, you can go to the Terminal activity and type

 cat /ofw/openprom/model

If your machine is in secure mode but the OS will not start, just go ahead and try to upgrade the firmware anyway. The procedure is safe and will not do anything if you already have up-to-date firmware.

You can see the firmware version in secure mode by powering up with the "check" game button held down.

You can also go to the main Sugar screen, click on the little man and select "about this XO"


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