OLPC Firmware q3a15
OLPC Firmware Release q3a15 -
It works on XO-1.5 A1, A2, B1, and B2 systems, but does not work on any XO-1 machines.
Download: q3a15.rom
Open Firmware is svn 1451
Changes since q3a12
- svn 1450: OLPC trac 9567 - Moved "usb-quiet" from "go-hook" to "linux-hook" to leave the USB devices active when booting other programs such as EMACS or (eventually) NANDblaster.
- svn r1449: OLPC trac 9423 - USB mass storage driver - Made csw timeouts retryable to work around a problem with a Kingston USB key. The problem could be in the hardware but I was unable to solve it and the retry seems to make the system work stably.
- svn r1448: USB EHCI driver - minor factoring tweaks to make the code a little bit tidier.
- svn r1447: USB EHCI driver - fixed a latent problem in which the type bits were not being set in the next queue head pointer. Empirically, this wasn't causing any problems, but it does violate the spec.
- svn r1446: Added new "no-kbc-reboot" command for EC in support of OLPC trac 9564. It takes advantage of a new EC feature that lets you turn the EC back on without a CPU reboot after shutting it off for the purpose of reprogramming the SPI FLASH. This should only be used for the manufacturing data area, because you want to reboot after reprogramming the CPU firmware.
- svn r1445: OLPC: Gamekey/pad display command 'check-keys' - Same display as what happens when you hold a key on boot but can be run from the ok prompt.
- svn r1444: OLPC trac 9546 - clarify SDMMC selftest messages for the case where no card is in the slot.
- svn r1443: OLPC trac 9521 - close audio device before suspending to prevent crashes after resume when someone presses a louder or softer button.
- svn r1442: OLPC trac 9423 - lengthen USB power off time during a reboot, thus giving the power rail time to discharge enough to reset attached devices.
- svn r1441: OLPC XO-1-5: Use EC code 1.9.14
- svn r1440: OLPC trac 9487 - Remove IDE support from XO-1.5 build as one part of this ticket.
- svn r1439: OLPC trac 9537 - Include OLPC security keys in XO-1.5 build.
- svn r1438: OLPC trac 9498 - USB controllers now have SVIDs too. SNMIC SVID is immutable.
- svn r1437: OLPC trac 9498 - Set subsystem IDs in PCI config headers. All devices work except USB controllers and D17F7 SNMIC - waiting from advice from VIA on those.
- svn r1435,1436: OLPC trac 9472 - suppress display restore on S3 resume in non-native mode.
- svn r1434: OLPC trac 9472 - VESA modes now working - trac ticket is complete.
- svn r1433: OLPC trac 9472 - graphics mode 12 is now working on the XO-1.5 display.
- svn r1432: OLPC: Remove the GPIO2 enable. Turning this on caused IRQ 1 (keyboard) to go away.
- svn r1431: Config MSDT as GPIO2 and save this config across a suspend/resume GPIO2 is turning into the new WLAN_EN
- svn r1430: Second try at fixing kernel bugs.
- svn r1429: Q3A14
- svn r1428: Fixed a couple of longstanding kernel bugs in words that are - apparently - infrequently used. Tip o' the hat to Segher Boessenkool.
- svn r1427: Via - Changed the display restore settings to match the new Via-recommended native timings extablished by svn 1426.
- svn r1426: OLPC trac 9472 - implement text mode 3 for use by memtest. The ticket is still open because graphics mode 12 and VESA modes need to be implemented.
- svn r1425: Via - restore display state in resume path.
- svn r1424: OLPC trac 9396 - Adjusted secure boot and fs-update devices lists to work on both XO-1 and XO-1.5, adding "int" and "ext" aliases for XO-1.
- svn r1423: OLPC trac 9486 - Added SMI and BIOS interrupt handling to XO-1.5 build.
- svn r1422: OLPC XO-1 - fixed an incorrect stack comment - no substantive change.
- svn r1421: Via - initial checkin of SMI support.
- svn r1420: Q3A13
- svn r1419: Via - Moved the enabling of power-glitch suppression to happen after other register initialization, thus preventing write-lockout of some power well registers.
- svn r1418: Via - folded in a few register settings as recommended by Via, and added commentary relative to a few others.
- svn r1417: OLPC Trac 4152 - eliminated redundant DHCP exchange by not calling "configure" redundantly in the IP package's open method.
EC code is version 1.9.14
Changes since 1.9.9 (in q3a10)
- Large amount of rework in the 1-wire routines to make the states easier to debug and less if() else() nested
- Increase the max current allowed for charging NiMH batteries
- Decrease the voltage that trickle charge is enabled to
- Fix Artec mode that broke when we reverted the button mapping changes
- Tweak the pll value to try and keep the baud rates on the EC in range when it uses RC
- EC detects ALPS vs EnE kbmc (keyboard maxtrix controller) and changes keyset mode.
- Add high-speed cmd66 0xd4 that will put the PlatformID in port 0x62
- Increase the onewire loop period to 150ms so that the "sleep timer" works again. Fixes EC not sleeping while on battery
- Fix incorrect red LED behavior when battery error occurs.
- Add magic 0x07 reboot mode for EC resets without host power loss.
- Clear RAM on reset except for deep sleep and magic 0x07
- Add EC cmd 0x3a for controlling power to SD slot 2
WLAN firmware is 9.70.7.p0
Which Firmware Do You Have?
If your machine is not in secure mode, the firmware version is displayed in the startup banner, as in:
OLPC XO 1.5, 1 GiB memory installed, S/N SHF7250024D OpenFirmware CL1 Q3A04 Q3A ^^^^^
If your machine is in secure mode, you can go to the Terminal activity and type
cat /ofw/openprom/model
If your machine is in secure mode but the OS will not start, just go ahead and try to upgrade the firmware anyway. The procedure is safe and will not do anything if you already have up-to-date firmware.
You can see the firmware version in secure mode by powering up with the "check" game button held down.
You can also go to the main Sugar screen, click on the little man and select "about this XO"
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
- download the firmware from http://dev.laptop.org/pub/firmware/q3a15/q3a15.rom and save it to a USB drive or SD card,
- shutdown the laptop,
- 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:\q3a15.rom
- if the downloaded file is on an external SD card:
flash sd:\boot\q3a15.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,
- start the Terminal Activity and type:
su cd /versions/boot/current/boot/ wget http://dev.laptop.org/pub/firmware/q3a15/q3a15.rom
- shutdown the laptop,
- 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\q3a15.rom
- if the file is on the internal SD card of an XO-1.5 or XO-1.75:
flash int:\boot\q3a15.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.
- shutdown the laptop,
- 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\q3a15\q3a15.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.