OLPC Firmware q2c11: Difference between revisions

From OLPC
Jump to navigation Jump to search
Line 12: Line 12:


* OFW r
* OFW r
** See [#Q2C11_Firmware_Release_Notes|extened] release notes
** See [[OLPC_Firmware_q2c11#Q2C11_Firmware_Release_Notes|extened]] release notes


* EC
* EC

Revision as of 02:55, 8 May 2007

OLPC Firmware Release q2c11 - 2007-05-06

This is production firmware for the BTest boards. It will also work on ATest. 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 it from here: q2c11


Changes since OLPC Firmware q2c09

  • EC
    • PQ2C11
    • Fix for EC failure to disable WLAN power rail after critical battery level auto off. (Ticket# 1392)
    • Improve the game key status read response (Ticket# 1381)

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.


Q2C11 Firmware Release Notes

Q2C11 is the first C-series firmware for wide deployment, so these release notes cover the changes since Q2B87. C-series firmware supports GX and LX CPUs. It works on all systems, from A-test through B3. C-series no longer uses LinuxBIOS. All of the early initialization that used to be done by LinuxBIOS is now done directly in Open Firmware, using a very fast table-driven initialization scheme that also supports rapid suspend/resume from RAM (S3).

  • Starts much faster than B-series firmware. (2 seconds to screen on)
  • Supports suspend/resume.
  ok s            \ Goes into suspend mode

Press power button to wake up

  • Use the Esc key (upper left) to interrupt auto-boot from the keyboard.
    This prevents children from accidentally stopping the booting process. From the serial port, any key still works. (Trac 1361)

New/improved selftest diagnostics

**  ok test /display
   - extended display test for burn-in.  Runs for 1 minute

** ok test /audio::rom:\splash
   - extended audio selftest will play a .wav file
   - rom:\splash is a sound that is in the ROM

   ok test /audio
   - normal audio selftest

   ok test /audio::u:\fanfare.wav
   ok test /audio::sd:\mysound.wav
   - Examples showing .wav files from USB (u:) and SD (sd:)

** ok test /nandflash::help
   - Shows a list of extended selftests for burn-in

   Examples:

   ok test /nandflash::erase
   - Erases the NAND FLASH

   ok test /nandflash::fill,aa
   - Fills NAND FLASH with 0xaa bytes

   ok test /nandflash::fill
   - Fills NAND FLASH with 00 bytes

   ok test /nandflash::full
   - Complete test of every block

   ok test /nandflash::full,8,2
   - Complete test of every third block starting at block 8 (skip 2)

   ok test /nandflash::full;erase
   - Complete test, then erase

** ok test /cpu
   - CPU burn-in test, like k6burn.  Runs for 60 seconds

   ok test /cpu:1000
   - Burn-in CPU for 0x1000 seconds

** ok test /mouse
   - The touchpad test has a new feature.  If you type 's' during the
     touchpad test, the system will suspend to RAM.  Pressing the power
     button will wake up the system, and the touchpad test will resume.

** ok test /camera
   - Camera/video test.  Includes workaround for camera chip image quality
     issue in RGB565 mode.

** ok test /wlan
   - Wireless LAN test

** ok test /flash
   - Rudimentary SPI FLASH selftest

** ok test /keyboard
   - Keyboard test shows which keys are pressed

** ok test /usb
   - Puts fisheye patterns on unused ports

** ok memtest
   - memtest86 for burn-in testing of memory

Other notes

  • The frame buffer size in now 16MB instead of 8MB, because the OS needs more graphics memory on LX.
  • The "No SD card" message has been removed from the startup messages.
  • The board revision is now read from the EC, using indexed access to internal RAM.
  • There are a lot of new words to access EC port 68/6c commands, but the firmware does not use them automatically because the EC implementation of the port 68/6c command protocol is currently unreliable. Some example commands:
    board-id@ ( -- b )
    game-key@ ( -- w )
  • Support for 2-chip NAND FLASH parts.
  • Fixed L1/L2 cache size reporting in memtest
  • The THRM_ALARM# pin is turned off (input mode) during suspend, and is not pulled up or down inside the 5536 chip in any mode.
  • Memory timing tuning command:
    set-mc ( reg19-val reg1a-val -- )
Stores information in CMOS RAM so that, on the next reboot, the indicated value will be used for the low 32 bits of Memory Controller MSRs 2000.0019 and 2000.001a. The new values will be used only once; the second reboot will revert to the default values.
  • Port 80 callouts for early board-test debugging
  • On LX, sends video to both the LCD panel and the VGA connector simultaneously.
  • Bug fix for a CMOS checksum initialization error (trac 1348)
  • Support for deleting bad files on the NAND FLASH filesystem:
    ok rm nand:\myfile
  • Wireless authentication support:
    ok wifi US,Honoaula \ Sets country and SSID
    ok wep 1122a3445f \ Sets WEP key - 10 digits
    ok wep 1122a3445f66778899aabbccdd \ Sets WEP key - 26 digits
    ok pmk 1122..ff \ Sets PMK key - 64 digits
    ok
  • Can boot from wireless LAN
    ok boot /wlan
    ok boot net \ Will use wireless by default
  • Relative symlinks on ext2 filesystems now work (trac 296)
  • Fixed JFFS2 "unsupported nodetype 2004" messages (trac 1313)
  • JFFS2 rtime compression type now works in OFW.
  • Fixed JFFS2 bug that caused file corruption in some cases (trac 1275)
  • The "probe-usb2" (or its alias "p2") is now rarely needed. The USB stack now automatically detects recently-inserted devices when you try to open a USB device. The device tree does not show the new devices until you try to open, so you still need to do "p2" if you just want to see if the device is detected.
  • Manufacturing data is now located at the end of the next to last erase block of SPI FLASH - offset 0xeffff and below - instead of the end of the erase block that contains the EC code.
  • The firmware revision is reported in the "model" property of the "/openprom" device node.
  • The "flash" command now retries once if the verify fails.
  • New "save-nand" command for creating snapshots of the NAND FLASH filesystem
    ok save-nand u:\nand.img