OLPC Firmware q2c16

From OLPC
Revision as of 09:32, 7 June 2007 by Wmb@firmworks.com (talk | contribs) (q2c16)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
  This page is monitored by the OLPC team.

OLPC Firmware Release q2c16 - 2007-06-06

This firmware is a release candidate for the BTest-4 built. It will also work on all board s except pre-B1. Do not use it on pre-B1 boards - it will brick them because of the EC microcode.

BIG FAT WARNING! The manufacturing data has moved locations. If you are upgrading from the B series of the firmware the manufacturing data will be moved to its new location. After that has happened you must not install anything from the B series of the firmware. If you do then you will erase your manufacturing data.


Download: q2c16


Changes since OLPC Firmware q2c14

(Changes are shown from c14 instead of c15 because c15 has been withdrawn).

How to get the ok prompt

Power & Game buttons

Press the "X" (down) game key after hitting the power button to enable the ok prompt. You still have to press the ESC key (upper left on the keyboard Key esc.jpg) during the countdown. If you don't press the "X" game key, the firmware goes into fastboot mode, in which:

  • The keyboard is not probed, thus saving some time
  • The USB bus is not enumerated, thus saving even more time
  • The boot order is SD, NAND, wireless
  • OFW does not put any text on the screen, just graphics
  • When transferring control to the kernel, OFW freezes the screen using the DCON, which hides the Linux console text until Linux unfreezes the DCON. The intention is to migrate to a "pretty boot" scheme where there is no scrolling text in the normal boot case.

In some previous firmware versions, pressing any game key would get you to interactive mode; in this version, only the "X" game key, which is the one nearest to the power button, does so.

How to play the startup sound

The startup sound was annoying developers, who reboot frequently, so it is no longer automatic. To play it, after you press the power button, press the small button that is on the other side of the display, across from the power button.

Change Log

  • r441 CaFe NAND selftest - fixed a stack error.
  • r440 ecio.fth - In wlan-reset, added a workaround for an EC bug that will probably be fixed in the next release of the EC code.
  • r439 resume - don't clear the wakeup status bits in PM1_STS (ACPI+0) in the assembly code, so high-level code can look at them.
  • r438 use an abbreviated init sequence for the OLPC keyboard, to avoid

startup failures with the EC wants to send us events from non-keyboard sources.

  • r436
    • Don't freeze display by default - the kernel support for pretty-boot is not ready yet
    • Play startup only if left-side button held
    • The only game key that invokes interactive mode is X (above power button)
  • r435, r431 Use the new EC command protocol - see trac #1562.
  • r434 Fixed single-stepping breakage resulting from no longer loading fixkbd.fth
  • r433 OLPC WLAN driver - Don't implement EC-based WLAN reset directly, instead call out to a reset routine defined elsewhere.
  • r432 SPI FLASH utility - Added a workaround message for trac #1300, the problem with the SPI ID sometimes reading as 14 instead of 13.
  • r430 copy-nand - Trac #498 - Check the nand.img file against the nand.crc file if there is one. Also changed "crc-img" to require only one argument, the name of the .img file (the .crc filename is synthesized from the .img filename.).
  • r429 JFFS2 - Trac #1609 - Handle truncated files without crashing (don't erase a negative length).
  • r428 cafecamera.fth - Trac #1577 - Turn off camera power at probe time.
  • r427 cafecamera.fth - Trac #1580 - Reinit camera on every open, now that we power it off on close.
  • r426 copynand.fth - Close files when aborting via the keyboard.
  • r425 Don't switch the keyboard scan set when invoking the OS. This helps the ReactOS loader.
  • r424 deleted some commented-out code that will never be reinstated.
  • r423 changed the PCI latency timer to 0x40 to conform to the setting that the kernel tries to establish by writing to (nonexistent) PCI config header registers.

EC code is PQ2C16

#===================================================================================================#
|  Version: PQ2C16(0x43)   Date : 06/06/2007  Athor:Hsin Wu & David Lin     			    |
|---------------------------------------------------------------------------------------------------|
|  Fix bug:											    |
|  1. The EC does not generate ECPWRRQST on key-release events. (Ticket #1388)			    |
|  2. SCI's are not generated by WAKEUP_EC (by Richard)	(Ticket #1594)				    |
|  3. Immediately press *down* game key then release it (only hold about 0.5 sec),       	    |
|     the XO will power off									    |
|												    |
|  Modification:										    |
|  1. Implement new EC command protocol (by Richard).   	(Ticket #1562)			    |
|     The documentation for this protocol is here:						    |
|     http://wiki.laptop.org/go/Revised_EC_Port_6C_Command_Protocol				  |
|  2. Add new commands:				    						    |
|     a. 0x03 		// write protect BIOS							    |
|     b. 0x2a  		// read the eBook mode status	(1 byte)			 	    |
|     c. 0x2b		// read the power rail 		(1 byte)				    |
|	 There are statuses define as following:						    |
|	 Bit 0: 	// WLAN Power status							    |
|        Bit 1:		// DCON power status					         	    |
|     d. 0x2c		// read the battery type       						    |
|  3. Support the 2800mA LiFePO4 (GP).								    |
|  4. Change the BMS from 3800mAh to 3000mAh. 							    |
#===================================================================================================#


Installation Instructions

  • If you have a B1 or B2 system:
    • Detailed upgrade instructions are located here.
    • If your firmware version is earlier than the version in Auto Install Image then you can just use that procedure for the update.
      Note: that this procedure will also upgrade the image in your nand flash -- which is the entire Linux operating system and all the files you may have edited or saved. This means it will ERASE what is in your nand and re-write it. So you will lose any data you have stored on the filesystem unless you back it up. If you do not want your files erased, then please use the first procedure above.
    • Do NOT use olpcflash to write new firmware images. Doing so will erase the manufacturing data that was added at the factory.
    • After you reflash, you must power cycle by physically removing power from the system. A warm-start or button-induced restart is not sufficient. Please remove both the battery pack and wall adapter for 10 seconds.
  • If you have an ATest system
    • If you use olpcflash to write this image, you must use the --brick option.
      Example: olpcflash --brick -w image.rom
      The --brick option makes olpcflash update your EC code as well as the firmware.