OLPC Firmware q4c01: Difference between revisions

From OLPC
Jump to navigation Jump to search
No edit summary
Line 31: Line 31:


== Changes since q4b12 ==
== Changes since q4b12 ==

''to be completed''


=== OpenFirmware ===
=== OpenFirmware ===

* [http://tracker.coreboot.org/trac/openfirmware/changeset/2649 2649] - OLPC XO-1.75 - Include EC code version 4_0_3_01
* [http://tracker.coreboot.org/trac/openfirmware/changeset/2648 2648] - OLPC XO-1.75 - changed USB post-hub-port-power-on delay to 350 ms to fix a problem with some Belkin USB sticks.
* [http://tracker.coreboot.org/trac/openfirmware/changeset/2645 2645] - ext2/3 file system - added ext3 journal recovery.
* [http://tracker.coreboot.org/trac/openfirmware/changeset/2644 2644] - OLPC XO-1.75 - Fixed emacs by revamping the DMA allocation code, separating the DMA memory list from the physical memlist. DMA memory is mapped uncached, while other memory is cacheable, so conflating them is not a good idea.
* [http://tracker.coreboot.org/trac/openfirmware/changeset/2643 2643] - OLPC XO-1.75 - Fixed a name collision with timers-off .
* [http://tracker.coreboot.org/trac/openfirmware/changeset/2641 2641] - OLPC XO-1.75 - Change the sleep state of EC_SPI_ACK from 1 (OFW value) to 0 (Linux value) when entering Linux. This lets Linux respond to upstream events from the EC during sleep.
* [http://tracker.coreboot.org/trac/openfirmware/changeset/2640 2640] - OLPC XO-1.75 - synchronized mfpr.fth with the version in CForth. Should be no functional change.
* [http://tracker.coreboot.org/trac/openfirmware/changeset/2639 2639] - OLPC XO-1.75 - selftest - moved the accelerometer test before the switches test to avoid accerometer failures due to moving the machine while performing the switches test.
* [http://tracker.coreboot.org/trac/openfirmware/changeset/2638 2638] - OLPC XO-1.75 - suspend/resume selftest - moved from memory node to switches node to work around an SMT test problem wherein the suspend/resume test breaks the keyboard on some systems.
* [http://tracker.coreboot.org/trac/openfirmware/changeset/2637 2637] - OLPC XO-1.75 - accelerometer selftest - increased max-z in selftest for new chip.
* [http://tracker.coreboot.org/trac/openfirmware/changeset/2635 2635] - IP pkg - Added known? and ntp-server-ip passthrough methods to IP package so ntp-set-clock does not silently abort during the DHCP phase. When that happens, it leaves the net device open, sometimes leading to later failures with that device.
* [http://tracker.coreboot.org/trac/openfirmware/changeset/2634 2634] - OLPC XO-1.75 - rev C uses GPIO 144 to control CAM_PWRDN; added support for that. Also requires a change in CForth.
* [http://tracker.coreboot.org/trac/openfirmware/changeset/2631 2631] - OLPC XO-1.75 - added delay in low-level suspend/resume code to fix resume failures that occur on some rev C memory configurations.
* [http://tracker.coreboot.org/trac/openfirmware/changeset/2630 2630] - OLPC XO-1.75 - added watch-dc-biased and watch-dc-unbiased commands for checking sensor input mode.
* [http://tracker.coreboot.org/trac/openfirmware/changeset/2629 2629] - OLPC XO-1.75 - turn off timer interrupts when entering Linux.
* [http://tracker.coreboot.org/trac/openfirmware/changeset/2628 2628] - OLPC XO-1.75 - Shorten memory test in SMT mode per Quanta's request.
* [http://tracker.coreboot.org/trac/openfirmware/changeset/2621 2621] - osfile.fth - open in read/write mode
* [http://tracker.coreboot.org/trac/openfirmware/changeset/2612 2612] - Core - added deferred time&date to kernel so it can be used uniformly.
* [http://tracker.coreboot.org/trac/openfirmware/changeset/2610 2610] - Core - added voc>phandle and phandle>voc defer words, defaulting to noop, to decouple the representation of a phandle from the implementation choice of the address of a Forth wordlist. There is no current need for that decoupling, but the implementation is cleaner with the change. The change should have no functional impact.
* [http://tracker.coreboot.org/trac/openfirmware/changeset/2606 2606] - OLPC XO-1.75 - trac #11314 - suppress CForth complaint when using early serial interaction with OFW. The fix also requires a corresponding change to CForth.
* [http://tracker.coreboot.org/trac/openfirmware/changeset/2601 2601] - OLPC XO-1.75 - Fixed regression that caused test /memory to fail; the DMA region was no longer mapped virtual=physical.


=== CForth ===
=== CForth ===

* OLPC XO-1.75 - trac #11314 - suppress CForth complaint when using early serial interaction with OFW. The fix also requires a corresponding change to OFW (svn 2606),
* OLPC XO-1.75 - rev C uses GPIO 144 to control CAM_PWRDN; added support for that. Also requires a change in OFW.


=== EC ===
=== EC ===

* see http://dev.laptop.org/git/users/rsmith/ec-1.75/


=== WLAN ===
=== WLAN ===

Revision as of 21:14, 24 October 2011

  This page is monitored by the OLPC team.

OLPC Firmware Release q4c01

For C1, B1 and later boards ONLY! Do not install on A2 boards. Use on A3 boards requires a hardware mod to connect the touchpad and keyboard to the SP instead of the EC - see XO_1.75_A3_ECOs#Keyboard_Touchpad_Routing

This is a manufacturing release for the C1 build.

Download q4c01.rom
Build date time 2011-10-23 22:37:06
Source revision 2650
EC version 0.3.01
CForth version 6b3def0f
Wireless firmware version Libertas thinfirm 9.0.7.p2

Changes since q4b12

OpenFirmware

  • 2649 - OLPC XO-1.75 - Include EC code version 4_0_3_01
  • 2648 - OLPC XO-1.75 - changed USB post-hub-port-power-on delay to 350 ms to fix a problem with some Belkin USB sticks.
  • 2645 - ext2/3 file system - added ext3 journal recovery.
  • 2644 - OLPC XO-1.75 - Fixed emacs by revamping the DMA allocation code, separating the DMA memory list from the physical memlist. DMA memory is mapped uncached, while other memory is cacheable, so conflating them is not a good idea.
  • 2643 - OLPC XO-1.75 - Fixed a name collision with timers-off .
  • 2641 - OLPC XO-1.75 - Change the sleep state of EC_SPI_ACK from 1 (OFW value) to 0 (Linux value) when entering Linux. This lets Linux respond to upstream events from the EC during sleep.
  • 2640 - OLPC XO-1.75 - synchronized mfpr.fth with the version in CForth. Should be no functional change.
  • 2639 - OLPC XO-1.75 - selftest - moved the accelerometer test before the switches test to avoid accerometer failures due to moving the machine while performing the switches test.
  • 2638 - OLPC XO-1.75 - suspend/resume selftest - moved from memory node to switches node to work around an SMT test problem wherein the suspend/resume test breaks the keyboard on some systems.
  • 2637 - OLPC XO-1.75 - accelerometer selftest - increased max-z in selftest for new chip.
  • 2635 - IP pkg - Added known? and ntp-server-ip passthrough methods to IP package so ntp-set-clock does not silently abort during the DHCP phase. When that happens, it leaves the net device open, sometimes leading to later failures with that device.
  • 2634 - OLPC XO-1.75 - rev C uses GPIO 144 to control CAM_PWRDN; added support for that. Also requires a change in CForth.
  • 2631 - OLPC XO-1.75 - added delay in low-level suspend/resume code to fix resume failures that occur on some rev C memory configurations.
  • 2630 - OLPC XO-1.75 - added watch-dc-biased and watch-dc-unbiased commands for checking sensor input mode.
  • 2629 - OLPC XO-1.75 - turn off timer interrupts when entering Linux.
  • 2628 - OLPC XO-1.75 - Shorten memory test in SMT mode per Quanta's request.
  • 2621 - osfile.fth - open in read/write mode
  • 2612 - Core - added deferred time&date to kernel so it can be used uniformly.
  • 2610 - Core - added voc>phandle and phandle>voc defer words, defaulting to noop, to decouple the representation of a phandle from the implementation choice of the address of a Forth wordlist. There is no current need for that decoupling, but the implementation is cleaner with the change. The change should have no functional impact.
  • 2606 - OLPC XO-1.75 - trac #11314 - suppress CForth complaint when using early serial interaction with OFW. The fix also requires a corresponding change to CForth.
  • 2601 - OLPC XO-1.75 - Fixed regression that caused test /memory to fail; the DMA region was no longer mapped virtual=physical.

CForth

  • OLPC XO-1.75 - trac #11314 - suppress CForth complaint when using early serial interaction with OFW. The fix also requires a corresponding change to OFW (svn 2606),
  • OLPC XO-1.75 - rev C uses GPIO 144 to control CAM_PWRDN; added support for that. Also requires a change in OFW.

EC

WLAN

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