XO Replacing SPI flash: Difference between revisions
Line 74: | Line 74: | ||
change-tag SN ''new serial number'' |
change-tag SN ''new serial number'' |
||
The UUID is a randomly generated number which in combination with the serial number is used to |
The UUID is a randomly generated number which in combination with the serial number is used to verify the identity of a laptop. If the laptop being repaired is going to have security enabled, the correct UUID for that laptop must be obtained from the lease signing database, otherwise activation and developer keys will not function. If a laptop will be left with security disabled, any UUID may be used: |
||
change-tag U# DADD886B-C2F7-4B9C-89CB-43B9A81A388C |
change-tag U# DADD886B-C2F7-4B9C-89CB-43B9A81A388C |
||
If the laptop should have security enabled, that too is done using OFW: |
|||
enable-security |
|||
[[Category:HowTo]] |
[[Category:HowTo]] |
Revision as of 05:00, 1 February 2009
This page describes how to fix a XO laptop locked up due to a bad SPI Flash ROM.
Problem Description
A small number of laptops suffer when their initial boot ROM (the SPI Flash ROM) forgets a bit or two. These errors are manifested with a variety of symptoms:
- The Laptop is completely dead, due to
- EC Failure - the Embedded controller is not functioning properly
- Failure early in the OFW boot process, resulting in "+", "FortM", "FortDEAD", or more verbose messages printed on the serial port.
- A blank white screen is displayed (and it is not due to screen failure).
Some laptops with this problem have bit errors which prevent the laptop from booting, but which do not prevent interrupting the boot process and upgrading the firmware using the serial port (This requires a developer key).
Another situation requiring this fix is if a laptop somehow looses all power (both battery and DC in) during the Firmware reprogramming operation.
Repair Process
Fixing the problem has three phases:
- Obtaining an SPI Flash ROM with the appropriate firmware programmed onto it
- Replacing the chip on the motherboard with the new one.
- Restoring the serial number and UUID of the laptop
What You Will Need
- Either a soldering iron and solder wick, or (ideally) a hot air rework station with an SOIC-8 tip.
- The new SPI Flash ROM (see below)
- the UUID of the laptop (if it is secure)
SPI Flash ROM
You will need a new SPI Flash ROM. The ones qualified for the XO are:
- Winbond W25X80VSSIG
- Spansion S25FL008A
These should be in a 0.208 in. (5.2mm) body width SOIC package.
Firmware
The Firmware must be programmed onto the chip before it is placed on the motherboard. This firmware is a binary file containing the following:
- Embedded controller firmware
- Open Firmware
- Manufacturing Data - This is optional, although Sugar will not boot unless certain tags are present. Open Firmware will boot without it, allowing this data to be restored from a USB key.
This may be programmed onto the chip using any of a large number of device programmers, or it may be requested as a service from some parts vendors.
Replacing the chip
See the disassembly guide for instructions on how to expose/remove the motherboard. The SPI Flash ROM is identified as the EC Flash in the annotated motherboard image.
Using a soldering iron or a hot air rework station, remove the SPI Flash ROM (U37) from the motherboard. Replace it with a pre-programmed SPI Flash ROM.
Caution: If a hot air rework station is used and the motherboard is not removed, proper baffling must be used to ensure that plastic components of the laptop are not melted.
Use of Lead in Solder
The XO laptop is built complying with the Reduction of Harmful Substances directives. Thus it uses a tin-based solder with a higher melting point.
A repair center must make the decision if they are to remain compliant with this directive. If they decide to ignore it, contaminating the solder used with a lead-based one will facilitate removal of the SPI Flash by lowering the melting point.
Restoring the Manufacturing Data
The Manufacturing Data contains critical information about the laptop, such as the serial number, the user ID, the type of keyboard, and the local language.
A copy of the manufacturing data may be obtained from a functioning laptop of the same SKU (indicated in the battery compartment) using its developer key. Boot the laptop, and enter Open Firmware (OFW) by pressing the key in the upper left hand corner of the keyboard in the first few seconds. With a USB storage device present, type the following:
save-mfg-data
It will save the manufacturing data on the USB storage device (using the serial number for a filename). If the storage device is now inserted into another laptop (such as one whose SPI Flash has recently been replaced), that manufacturing data may be restored using:
restore-mfg-data <filename>
The serial number of the laptop (which may be obtained from the battery compartment) may be set using the following OFW command:
change-tag SN new serial number
The UUID is a randomly generated number which in combination with the serial number is used to verify the identity of a laptop. If the laptop being repaired is going to have security enabled, the correct UUID for that laptop must be obtained from the lease signing database, otherwise activation and developer keys will not function. If a laptop will be left with security disabled, any UUID may be used:
change-tag U# DADD886B-C2F7-4B9C-89CB-43B9A81A388C
If the laptop should have security enabled, that too is done using OFW:
enable-security