Neo 1973 Phase 0

From Openmoko

Revision as of 15:50, 9 March 2007 by HaraldWelte (Talk | contribs)

Jump to: navigation, search

Contents

Software Image

We were using u-boot, kernel and rootfs images from http://people.openmoko.org/werner/devirginate-20070301.tar.gz to pre-install the devices. This is a self-contained devirginator snapshot, and can be used at any given time to fully restore the phone (complete loss of data is implied).


Restoring original Software Image

NOTE: This is how you do a full restore, including bootloader. This requires a Debug Board. In most cases, it is sufficient to use dfu-util to flash kernel and rootfs partitions


This is how to restore the phone:

  • Go to a convenient directory, then
tar xfz devirginate-20070301.tar.gz
  • Enter the directory:
cd devirginate-20070301
  • Disconnect everything:
    • the USB connector of the debug v2 board from the PC
    • the USB cable from the Neo
    • remove the battery
  • Connect the Neo to the debug v2 board.
  • Connect USB of the debug v2 board to the PC.
  • If you have a serial console, start it now. The device should be something like /dev/ttyUSB0.
  • Connect the USB cable of the Neo.
  • Insert the battery.
  • Power on the Neo. (If it has powered on by itself, that's okay.)
  • Start OpenOCD (if you have a local openocd.cfg, please use that one):
tmp/openocd -f tmp/openocd-debugv2.cfg
  • OpenOCD should print one line (below) and keep running:
Info:    openocd.c:84 main(): Open On-Chip Debugger (2007-01-31 12:00 CET)

If OpenOCD prints an error, please disconnect the USB cable of debug v2 from the PC, connect it again, then restart OpenOCD.

  • In another window, start the install script:
./devirginate -0 -1 -2
NOTE: The -0 option irrecoverably destroys bad block information provided by the chip manufacturer. This is only appropriate for devices from phase 0, or earlier. Instructions will be updated for later models.


Watch the screen of the Neo. The following things should happen:

  • it turns on, showing weird things for about 10-30 seconds
  • the screen goes dark for 1-2 minutes
  • the screen lights up and shows a smiling face for a few minutes
  • the screen goes dark and shows a partial (broken) OpenMoko logo for about 5-10 seconds
  • the screen goes dark again, then shows the full OpenMoko logo
  • the machine will boot Linux now and start touch screen calibration

Errata

power-off while DFU

u-boot can power-off the phone while in DFU mode :(

Workaround

Either press the AUX button frequently to keep the phone from shutting off while the transfer is in progress, or access the u-boot console to increase boot_menu_timeout to some large value (in seconds) and restart.

Licenses not in rootfs image

/usr/share/common-licenses is not populated

Workaround

printed GPL/LGPL included

rootfs update causes what seems like bad blocks

Since we do block-by-block erasing of the flash during DFU, the 'rootfs' partition is not erased completely before writing a new JFFS2 image to NAND, if the rootfs image is smaller than the flash size

Workaround

Either use the 'pad' option to mkfs.jffs2' when creating the image or use

GTA01Bv3#  nand erase clean rootfs

on the bootloader console before using DFU to flash a new rootfs image

Mechanical stress to microSD lid can cause short-circuit

If you operate the microSD slot without a card inserted, while the device is powered on, plus put some mechanical stress to it, it can short-circuit the contact pins, resulting in 3.3V supply voltage short-circuit.

Workaround

Please do not power the phone without microSD card inserted. Especially, never try to switch cards without unpowering the phone completely.

Personal tools

Software Image

We were using u-boot, kernel and rootfs images from http://people.openmoko.org/werner/devirginate-20070301.tar.gz to pre-install the devices. This is a self-contained devirginator snapshot, and can be used at any given time to fully restore the phone (complete loss of data is implied).


Restoring original Software Image

NOTE: This is how you do a full restore, including bootloader. This requires a Debug Board. In most cases, it is sufficient to use dfu-util to flash kernel and rootfs partitions


This is how to restore the phone:

  • Go to a convenient directory, then
tar xfz devirginate-20070301.tar.gz
  • Enter the directory:
cd devirginate-20070301
  • Disconnect everything:
    • the USB connector of the debug v2 board from the PC
    • the USB cable from the Neo
    • remove the battery
  • Connect the Neo to the debug v2 board.
  • Connect USB of the debug v2 board to the PC.
  • If you have a serial console, start it now. The device should be something like /dev/ttyUSB0.
  • Connect the USB cable of the Neo.
  • Insert the battery.
  • Power on the Neo. (If it has powered on by itself, that's okay.)
  • Start OpenOCD (if you have a local openocd.cfg, please use that one):
tmp/openocd -f tmp/openocd-debugv2.cfg
  • OpenOCD should print one line (below) and keep running:
Info:    openocd.c:84 main(): Open On-Chip Debugger (2007-01-31 12:00 CET)

If OpenOCD prints an error, please disconnect the USB cable of debug v2 from the PC, connect it again, then restart OpenOCD.

  • In another window, start the install script:
./devirginate -0 -1 -2
NOTE: The -0 option irrecoverably destroys bad block information provided by the chip manufacturer. This is only appropriate for devices from phase 0, or earlier. Instructions will be updated for later models.


Watch the screen of the Neo. The following things should happen:

  • it turns on, showing weird things for about 10-30 seconds
  • the screen goes dark for 1-2 minutes
  • the screen lights up and shows a smiling face for a few minutes
  • the screen goes dark and shows a partial (broken) OpenMoko logo for about 5-10 seconds
  • the screen goes dark again, then shows the full OpenMoko logo
  • the machine will boot Linux now and start touch screen calibration

Errata

power-off while DFU

u-boot can power-off the phone while in DFU mode :(

Workaround

Either press the AUX button frequently to keep the phone from shutting off while the transfer is in progress, or access the u-boot console to increase boot_menu_timeout to some large value (in seconds) and restart.

Licenses not in rootfs image

/usr/share/common-licenses is not populated

Workaround

printed GPL/LGPL included

rootfs update causes what seems like bad blocks

Since we do block-by-block erasing of the flash during DFU, the 'rootfs' partition is not erased completely before writing a new JFFS2 image to NAND, if the rootfs image is smaller than the flash size

Workaround

Either use the 'pad' option to mkfs.jffs2' when creating the image or use

GTA01Bv3#  nand erase clean rootfs

on the bootloader console before using DFU to flash a new rootfs image

Mechanical stress to microSD lid can cause short-circuit

If you operate the microSD slot without a card inserted, while the device is powered on, plus put some mechanical stress to it, it can short-circuit the contact pins, resulting in 3.3V supply voltage short-circuit.

Workaround

Please do not power the phone without microSD card inserted. Especially, never try to switch cards without unpowering the phone completely.