Keyboard freeze fix for os 650-656

From OLPC
Jump to: navigation, search

As noted in <trac>10597</trac>, XOs running builds os650, os653 and os656 will encounter a touchpad and keyboard freeze as of January 2011, unless their firmware was updated.

Here we give a quick fix that will restore the keyboard and touchpad to normal. It updates the XO firmware to the oldest version that doesn't have the problem; Q2D14.

Also, it is strongly recommended to upgrade to the latest release of the OLPC OS, which will fix other security and stability issues.

Quick fix

You will need:

  • A USB drive (memory stick) of at least 16 MB capacity,
  • A computer other than the XO, which is connected to the Internet,
  • External power for the XO (a wall outlet and the XO AC adapter), and
  • 10 minutes.

1. Prepare USB drive

Using the computer that is connected to the internet, prepare the USB drive using the instructions below. There is a subsection for each popular operating system. Choose one.

a. Microsoft Windows

b. Mac OS X

  • insert the USB drive,
  • switch tasks to Finder, display the USB drive, notice the name of the USB drive,
  • create a folder boot on the USB drive,
  • control-click on this link, select Download Linked File As ..., and a Save As dialog will appear,
  • change Where to the name of the USB drive, usually Untitled, then click on the boot folder, then click on Save, the dialog will go away,
  • switch tasks to Finder, display the USB drive,
  • eject the USB drive, and
  • go to the Upgrade Firmware section on this page.

c. Linux - GNOME and Firefox

  • insert the USB drive,
  • create a boot folder on the USB drive,
  • click on this link, and a dialog window will appear asking you what you want done with the download,
  • save the download to the USB drive in the boot folder,
  • close the Downloads window,
  • eject the USB drive, and
  • go to the Upgrade Firmware section on this page.

d. Linux - Terminal

cd /media/DRIVE
mkdir boot
cd boot
wget http://dev.laptop.org/pub/firmware/q2d14/bootfw.zip
umount /media/DRIVE

2. Upgrade Firmware

Once you have prepared the USB drive above, be sure that you have a fully-charged battery; otherwise the XO will not complete the upgrade process. After you have verified that the battery is charged, you must:

  • make sure the XO battery is in place and locked,
  • make sure the XO power cord and adapter are plugged in, the battery indicator must be on,
  • insert the USB drive into the XO, and
  • turn on the XO.

Do not interfere at this point, but watch. The upgrade process will begin with several messages displayed. On the screen, you should see a red battery symbol, while the messages are being displayed. Then, wait for the XO to automatically restart, and:

  • turn off the XO,
  • remove the power cord,
  • remove the battery,
  • wait a few seconds (with all power disconnected),
  • remove the USB drive,
  • insert the battery,
  • plug the power cord back in, and
  • start the XO.

You should test that the XO's keyboard and trackpad now work normally. If it does not work, try the Troubleshooting methods. We recommend pressing the "X" game button method first.

3. Troubleshooting

If the USB drive seems to be ignored by the XO:

  • try again with the X game key held down when you turn on the XO, (affects XOs with developer key installed or security disabled),
  • check that the USB drive meets these conditions:
    • it has a boot folder,
    • there is a file bootfw.zip in the boot folder, and
    • the partition type of the USB drive is "DOS MBR" rather than "GPT".
  • if you are not sure about the partition type, and all else fails, try using a different USB drive, or
  • check the firmware version; the USB drive will be ignored if the firmware version on the XO is equal to or later than Q2D14,

4. How it Works

The firmware on the XO runs when the power is turned on. It plays a startup sound. If the laptop is secured, or if the X game key is held down, it looks for boot/bootfw.zip on all available storage devices; internal storage, SD card, and USB drives. If a bootfw.zip is found, the firmware checks to see if the cryptographic signature of the file matches the OLPC keys, and if the version is later than itself. If both checks pass, the firmware checks for external power and a reasonably charged battery. If these are present, then the firmware updates itself from the file, writing to the internal SPI flash chip. Then it reboots, thus running the new firmware version.

Removing the battery and disconnecting the power allows the embedded controller to reset. We found this was necessary, but we don't yet understand why it is required.

Long-term fix: upgrade operating system

This is not part of the quick fix.

After applying the above fix, unless you have a good reason to be using os650-656 (for instance, compatibility with a group of other machines with the same build), a system upgrade is strongly recommended. The latest releases are faster and offer many security and stability fixes.

The 11.2.0 Release is solid, and was released in July 2011. You can upgrade to it now -- follow the installation instructions, and be sure to reconnect the external power source and battery while installing so that a firmware upgrade will complete.

Backup any pictures, music, and other data-containing journal entries or files on your XO-1, onto network, USB or SD media, before upgrading. You will lose all data on the XO during the installation process of 11.2.0. Our update process which retains data is not available for the long jump from os650-656 to 11.2.0.