Fix Clock: Difference between revisions
No edit summary |
|||
Line 1: | Line 1: | ||
{{OLPC}} |
|||
This page is on how to fix the real-time clock on a secure laptop. |
|||
This page is how to fix a secure [[Hardware|XO laptop]] locked up due to a problem with the Real Time Clock. |
|||
=Problem Description= |
=Problem Description= |
||
XO laptops with this problem show one of two symptoms: |
|||
# The power LED turns on, but the screen never turns on (not even the backlight). The microphone LED may flash briefly, but stays off. This symptom can only happen with OFW versions Q2D05 and Q2D06. |
# The power LED turns on, but the screen never turns on (not even the backlight). The microphone LED may flash briefly, but stays off. This symptom can only happen with [[Open_Firmware|OFW]] versions [[OLPC_Firmware_q2d05|Q2D05]] and [[OLPC_Firmware_q2d06|Q2D06]]. |
||
# The laptop screen lights up and shows "Invalid System Date" and then powers off. This symptom can happen with any OFW version, but Q2D05 and Q2D06 usually exhibit the first symptom instead. |
# The laptop screen lights up and shows "Invalid System Date" and then powers off. This symptom can happen with any OFW version, but [[OLPC_Firmware_q2d05|Q2D05]] and [[OLPC_Firmware_q2d06|Q2D06]] usually exhibit the first symptom instead. |
||
The problem is caused by bad date information stored in the Real Time Clock (RTC) chip. There are three ways that the date could become bad: |
The problem is caused by bad date information stored in the Real Time Clock (RTC) chip. There are three ways that the date could become bad: |
||
Line 70: | Line 72: | ||
ok select /rtc |
ok select /rtc |
||
ok decimal |
ok decimal |
||
ok sec min hour day month year set-time |
ok sec min hour day month year set-time |
||
* sec, min, hour, day, etc in the previous command should be numbers correlating to the current date. For example: |
|||
ok 00 48 3 13 12 2007 set-time |
|||
* Insert a USB key containing the [[Firmware#Firmware_Releases|latest firwmare version]]. You will need to download the ''.rom'' file and place it on the key. |
* Insert a USB key containing the [[Firmware#Firmware_Releases|latest firwmare version]]. You will need to download the ''.rom'' file and place it on the key. |
||
* To update the firmware, type the following command line at the ok prompt, substituting the correct .rom filename: |
* To update the firmware, type the following command line at the ok prompt, substituting the correct .rom filename: |
||
Line 95: | Line 99: | ||
[[Category:HowTo]] |
[[Category:HowTo]] |
||
[[Category:Repair]] |
|||
[[Category:Developers]] |
Revision as of 06:59, 10 June 2008
This page is how to fix a secure XO laptop locked up due to a problem with the Real Time Clock.
Problem Description
XO laptops with this problem show one of two symptoms:
- The power LED turns on, but the screen never turns on (not even the backlight). The microphone LED may flash briefly, but stays off. This symptom can only happen with OFW versions Q2D05 and Q2D06.
- The laptop screen lights up and shows "Invalid System Date" and then powers off. This symptom can happen with any OFW version, but Q2D05 and Q2D06 usually exhibit the first symptom instead.
The problem is caused by bad date information stored in the Real Time Clock (RTC) chip. There are three ways that the date could become bad:
- The factory did not set the date. This is rare.
- The user explicitly set the date to an incorrect value, either by mistake or as an attempt to defeat activation security. This is also rare.
- The RTC chip lost all power. This should have been rare, because the RTC chip has a "coin cell" backup battery that powers the RTC chip when the AC and the main battery are not present. Unfortunately, some of the early production machines were manufactured with a defective holder for the coin cell battery. On those machines, the coin cell battery can become loose or even pop out entirely during normal shipping and handling.
"RTC chip lost power" is by far the most common cause of the problem.
Repair Process
Fixing the problem has three phases:
- Securing the battery in the holder so the problem doesn't happen again
- Setting the date
- Updating Open Firmware to the current version
What You Will Need
To secure the battery, you will need a screwdriver to open the machine and some glue as described later in #Fix the loose battery.
The requirements for the rest of the repair depend on which of the two symptoms the system displays.
- If the screen does not turn on (symptom 1), you will a special hardware adapter - an OLPC serial adapter - and a second working computer (XO or otherwise).
- If the screen does turn on (symptom 2), you will need a "developer key" for this machine, on a USB storage stick.
Fix the loose battery
To access the Real Time Clock battery, follow the instruction for removing the back cover.
First, you must re-seat the coin cell battery in its holder and secure it so it doesn't come out again. One way to secure it is to put a drop of glue where the battery contacts the holder, away from the metallic contact. The best glue that Mitch has found for this purpose is clear solvent-based household cement. Technically, it is "nitro cellulose" cement. It is also known as "model airplane glue", marketed under various trade names such as "Duco Cement", "Tarzan's Grip". Loctite "Stik'n Seal", etc. (Alleskleber, in Germany, maybe?) The solvent in this kind of cement is toxic and flammable, so keep it away from children! Stronger adhesives like epoxy or cyanoacrylate (super glue) would probably work too, but it might be difficult to remove the battery later without damaging the holder. Don't even think of "Gorilla Glue"; that's polyurethane, which foams as it cures. RTV silicone would be good, except that the common variety releases corrosive acetic acid as it cures - if it smells like vinegar, don't use it on electronics. Ordinary "white glue" (PVA, or polyvinyl acetate) will probably work, but it flows easily and goes down underneath the battery - that is probably okay if you are careful not to use too much. Hot melt glue doesn't work, because it doesn't stick very well to these materials.
Serial Procedure - for symptom 1 (screen does not turn on)
Hook the laptop up to another one through the serial port
- Using an OLPC serial adapter, connect the laptop to your personal laptop
- Use a program like minicom (for Linux) or HyperTerminal (for Windows) to access the laptop serially
- The serial port settings should be 115200 baud, 8 data bits, no parity, and 1 stop bit
How to set up an XO as a serial terminal
- Install any build 650 or later
- Boot the laptop, and connect to the internet.
- Go to the terminal and: yum install minicom
- After it is done, type: minicom -s (to set up minicom)
- Go to 'Serial port setup' and hit enter.
- Press 'a' and change it to /dev/ttyUSB0, and then hit enter twice.
- Go to 'Modem and dialing' and hit enter.
- Clear the contents of both 'Init string' and 'Reset string' (you get to those by hitting 'a' and 'b'
- Hit enter to get back to the 'configuration' menu.
- Go to 'Save setup as..' and hit enter.
- Name the setup as 'USB0' and hit enter.
- Go to 'Exit from Minicom' and hit enter.
- Now, all you have to do is type: minicom USB0 (this will open minicom to the settings you want)
Getting to the prompt
All these commands are typed on the "other" laptop that is connected serially to the one with the bad clock
- Connect a serial terminal (115200,8,n,1) and power on the machine. You should see "Page Fault" on the serial terminal, followed by an "ok" prompt. If you don't see "Page Fault", there are several possibilities:
- If you don't see anything on the serial terminal, either
- The serial terminal is not connected correctly, or
- Something else is wrong with the machine - the machine is quite quite dead and it's not an instance of the symptom 1 RTC problem.
- If you see a lot of startup messages, but the last one isn't "Page Fault" followed by "ok", then the machine is largely working, but the problem is not symptom 1 RTC problem. If the screen comes on, you should be following the "Developer Key Procedure" below, not this serial procedure.
- If you don't see anything on the serial terminal, either
- To set the date, do the following commands at the ok prompt (hitting enter after each one):
ok select /rtc ok decimal ok sec min hour day month year set-time
- sec, min, hour, day, etc in the previous command should be numbers correlating to the current date. For example:
ok 00 48 3 13 12 2007 set-time
- Insert a USB key containing the latest firwmare version. You will need to download the .rom file and place it on the key.
- To update the firmware, type the following command line at the ok prompt, substituting the correct .rom filename:
ok probe-pci probe-usb flash u:\q2d16.rom
- The machine should reboot automatically afterwards. You can then remove the USB stick, and the system should work correctly. You can disconnect the serial adapter and reassemble the machine.
Developer Key Procedure - for symptom 2 (screen turns on)
All these commands are typed on the OLPC keyboard of the laptop that has the bad clock
- Get a "developer key" for this machine and put it on a USB storage stick
- Also put the latest firwmare version on the USB storage stick
- Insert the USB stick into the laptop
- Power on the laptop
- When the screen says "Type the Esc key to interrupt automatic startup", type the upper left key on the XO keyboard before the countdown expires. You should get an "ok" prompt. (If you don't see that message, something is wrong with the developer key.)
- Type these commands to set the date (hitting enter after each one):
ok select /rtc ok decimal ok sec min hour day month year set-time (sec, min, hour, etc. should be numbers correlating to the current date) (e.g. 00 48 3 13 12 2007 set-time)
- Type this command to update the firmware, substituting the correct .rom filename:
ok flash u:\q2d16.rom
- The machine should reboot automatically afterwards. You can then remove the USB stick, and the system should work correctly. You can reassemble the machine.