OLPC Firmware q2c11: Difference between revisions
m (link for those who don't know what "Manufacturing Data" is) |
|||
(9 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
{{OLPC}} |
|||
== OLPC Firmware Release q2c11 - 2007-05-06 == |
== OLPC Firmware Release q2c11 - 2007-05-06 == |
||
Line 4: | Line 5: | ||
<big><font color="red">'''BIG FAT WARNING!'''</font></big> |
<big><font color="red">'''BIG FAT WARNING!'''</font></big> |
||
'''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 <u>you will erase</u> your manufacturing data.''' |
'''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 <u>you will erase</u> your manufacturing data.''' |
||
Download it from here: [http://dev.laptop.org/pub/firmware/q2c11 q2c11] |
Download it from here: [http://dev.laptop.org/pub/firmware/q2c11 q2c11] |
||
Line 11: | Line 12: | ||
=== Changes since [[OLPC Firmware q2c09]] === |
=== Changes since [[OLPC Firmware q2c09]] === |
||
* OFW |
* OFW r366 |
||
** See [[OLPC_Firmware_q2c11#Q2C11_Firmware_Release_Notes|extended]] release notes |
|||
** Added full support for geode LX and B3 |
|||
** Many new hardware tests are enabled and working. |
|||
* EC |
* EC |
||
** |
** PQ2C11 |
||
** Fix for EC failure to disable WLAN power rail after critical battery level auto off. (Ticket# 1392) |
|||
** Added a large list of new ec commands to use in place of the indexed IO method |
|||
** Improve the game key status read response (Ticket# 1381) |
|||
** Fix: Trac #1317. Incorrect flashing red LED with LiFePO4 battery. |
|||
=== Installation Instructions === |
=== Installation Instructions === |
||
Line 49: | Line 49: | ||
==== New/improved selftest diagnostics ==== |
==== New/improved selftest diagnostics ==== |
||
<pre> |
|||
** ok test /display |
|||
- extended display test for burn-in. Runs for 1 minute |
|||
[[XO-1 OFW Self Test Diagnostics]] |
|||
** 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 |
|||
</pre> |
|||
==== Other notes ==== |
==== Other notes ==== |
||
Line 124: | Line 58: | ||
* 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: |
* 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: |
||
*: <code>board-id@ ( -- b )<br/>game-key@ ( -- w )</code> |
*: <code>board-id@ ( -- b )<br/>game-key@ ( -- w )</code> |
||
* Support for 2-chip NAND FLASH parts. |
* Support for 2-chip NAND FLASH parts. |
||
* Fixed L1/L2 cache size reporting in memtest |
* Fixed L1/L2 cache size reporting in memtest |
||
Line 130: | Line 63: | ||
* Memory timing tuning command: |
* Memory timing tuning command: |
||
*: <code> set-mc ( reg19-val reg1a-val -- )</code> |
*: <code> set-mc ( reg19-val reg1a-val -- )</code> |
||
: 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. |
: 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 |
* Port 80 callouts for early board-test debugging |
||
* On LX, sends video to both the LCD panel and the VGA connector simultaneously. |
* On LX, sends video to both the LCD panel and the VGA connector simultaneously. |
||
Line 138: | Line 69: | ||
* Support for deleting bad files on the NAND FLASH filesystem: |
* Support for deleting bad files on the NAND FLASH filesystem: |
||
*: <code>ok rm nand:\myfile</code> |
*: <code>ok rm nand:\myfile</code> |
||
* Wireless authentication support: |
* Wireless authentication support: |
||
*: <code>ok wifi US,Honoaula \ Sets country and SSID<br/>ok wep 1122a3445f \ Sets WEP key - 10 digits<br/>ok wep 1122a3445f66778899aabbccdd \ Sets WEP key - 26 digits<br/>ok pmk 1122..ff \ Sets PMK key - 64 digits<br/>ok </code> |
*: <code>ok wifi US,Honoaula \ Sets country and SSID<br/>ok wep 1122a3445f \ Sets WEP key - 10 digits<br/>ok wep 1122a3445f66778899aabbccdd \ Sets WEP key - 26 digits<br/>ok pmk 1122..ff \ Sets PMK key - 64 digits<br/>ok </code> |
||
* Can boot from wireless LAN |
* Can boot from wireless LAN |
||
*:<code> ok boot /wlan </code> |
*:<code> ok boot /wlan </code> |
||
*:<code> ok boot net \ Will use wireless by default </code> |
*:<code> ok boot net \ Will use wireless by default </code> |
||
* Relative symlinks on ext2 filesystems now work (trac 296) |
* Relative symlinks on ext2 filesystems now work (trac 296) |
||
* Fixed JFFS2 "unsupported nodetype 2004" messages (trac 1313) |
* Fixed JFFS2 "unsupported nodetype 2004" messages (trac 1313) |
||
Line 151: | Line 79: | ||
* Fixed JFFS2 bug that caused file corruption in some cases (trac 1275) |
* 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. |
* 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. |
* 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 firmware revision is reported in the "model" property of the "/openprom" device node. |
||
* The "flash" command now retries once if the verify fails. |
* The "flash" command now retries once if the verify fails. |
Latest revision as of 13:42, 9 June 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
- OFW r366
- See extended release notes
- 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.
- If you use olpcflash to write this image, you must use the --brick option.
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
XO-1 OFW Self Test Diagnostics
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