SPI FLASH Recovery/XO-4: Difference between revisions

From OLPC
Jump to navigation Jump to search
Line 28: Line 28:
ok
ok
*configure the ''host'' SPI FLASH user interface for XO-4 SPI FLASH (after this, do not use it for reflashing of the host without first rebooting),
*configure the ''host'' SPI FLASH user interface for XO-4 SPI FLASH (after this, do not use it for reflashing of the host without first rebooting),
ok use-bb-spi
ok 1f.0000 to mfg-data-offset
ok 1f.0000 to mfg-data-offset
ok mfg-data-offset h# 30 - to crc-offset
ok mfg-data-offset h# 30 - to crc-offset
ok 20.0000 to /flash
ok 20.0000 to /flash
ok /flash to mfg-data-end-offset
ok 1e.ffc0 to signature-offset
ok 1e.ffc0 to signature-offset
ok " "(03)"CL4" machine-signature swap cmove
ok " "(03)"CL4" machine-signature swap cmove
*copy the SPI FLASH to a USB drive (requires Q3C12 plus svn 3621),
*copy the SPI FLASH to a USB drive (requires Q3C12 plus svn 3621),
ok excavate u:\copy.rom
ok excavate u:\copy.rom
SPI FLASH is type 14.1540ef, W25Q16, 2 MB.
1fc000
ok
*read the intended image from media,
ok get-file u:\new.rom
Reading u:\new.rom
Got firmware version: CL4 Q7B27 Q7B
Checking integrity ...
ok
*write the intended image (requires Q3C12),
*write the intended image (requires Q3C12),
ok reflash
ok recover u:\new.rom
SPI FLASH type is 13 - Spansion, Winbond, or ST
SPI FLASH is type 14.1540ef, W25Q16, 2 MB.
Writing
Writing
1e0000
d0000
Writing
Writing
1f0000
f0000
Verifying
Verifying
1e0000
d0000
Verifying
Verifying
1f0000
f0000
ok
ok
*turn off the ''host''.
*turn off the ''host''.

Revision as of 05:28, 21 March 2013


You Need

  • the bricked laptop, called the target,
  • a working XO-1.5 laptop, with latest Firmware, and a serial cable, called the host,
  • a third computer to act as a terminal to the host, a serial cable, with serial port configured for 115200 bps,
  • wire, soldering iron, antistatic environment,
  • twelve pin headers, in four rows of three,
  • six 15cm lengths of female to female pin header jumper cables,

Setup

  • remove main battery and power cords from target and host laptops,
  • disassemble the target and host to PCB level,
  • place the PCBs upside down on a non-conductive but anti-static surface, with top edges close but not touching, adding insulation or adhesive if there is a risk of movement,
  • connect the serial cable between the host and the terminal and verify normal operation of the host, then turn off the host,
  • short the D4 component position next to J3 on the host, this provides 3.3V to J3 when the host is powered, but without protecting the host from power flowing from the target, be sure not to power the target,
  • add a 2K resistor between pins 1 and 2 of J3 on the host, this compensates for a weak pullup,
  • install pin headers on J3 on the host,
  • install pin headers on J2 on the target,
  • connect each pin of J3 on the host to J2 on the target in turn, using the jumper cables, pin 1 of J3 to pin 1 of J2,
  • add power cord to host only.

Transfer

  • turn on the host, while on the terminal use ESC to interrupt the host startup and obtain the Ok prompt,
ok
  • configure the host SPI FLASH user interface for XO-4 SPI FLASH (after this, do not use it for reflashing of the host without first rebooting),
ok use-bb-spi
ok 1f.0000 to mfg-data-offset
ok mfg-data-offset h# 30 - to crc-offset
ok 20.0000 to /flash
ok /flash to mfg-data-end-offset
ok 1e.ffc0 to signature-offset
ok " "(03)"CL4" machine-signature swap cmove
  • copy the SPI FLASH to a USB drive (requires Q3C12 plus svn 3621),
ok excavate u:\copy.rom
SPI FLASH is type 14.1540ef, W25Q16, 2 MB.
1fc000 
ok 
  • read the intended image from media,
ok get-file u:\new.rom
Reading u:\new.rom
Got firmware version: CL4   Q7B27  Q7B
Checking integrity ...
ok 
  • write the intended image (requires Q3C12),
ok reflash
SPI FLASH is type 14.1540ef, W25Q16, 2 MB.
Writing
1e0000 
Writing
1f0000 
Verifying
1e0000 
Verifying
1f0000 
ok 
  • turn off the host.
ok power-off

Testing

  • disconnect the cable between the target and the host,
  • attach serial cable to target,
  • attach power cable to target,
  • test the target by using ESC to obtain the Ok prompt.

Reasssembly

  • remove the header or ensure internal plastic is cut to permit it to remain.