Skip to main content

Phone Does Not Boot

Well well well. You've bricked the phone. Well done.

This can happen when you become a little too curious about what the fmt commands do.

All is not lost, you can most likely recover the phone with a bit of effort.

Requirements

  • Access to the phone's UART debugging interface
  • A tftp server
    • I used the inbuilt one with truenas.
  • A copy of some firmware. (See JackGit)

Steps

  • Configure your tftp server and place the .bin file from the firmware zip file inside the root directory.
  • Access the phone's UART debug interface
  • Power on the phone.
    • If the phone cannot boot it will enter into the bootloader (PSPBoot) shell, psbl.
    • You should see something similar to this.
    • NOTE: If you mistype a command the shell will hang and the device will need to be power cycled. This gets annoying fast. Good luck!
Basic POST completed...     Success.
Last reset cause: Hardware reset (Power-on reset)

PSPBoot1.4 rev: 1.4.0.6
(c) Copyright 2002-2008 Texas Instruments, Inc. All Rights Reserved.


Press ESC for monitor... 1

(psbl)
  • Next set the following environment variables:

    • The static IP Address of the phone:
      • setenv IPA 192.168.1.200
    • The subnet mask:
      • setenv SUBNET_MASK 255.255.255.0
    • The MAC address:
      • setenv HWA_0 aa:aa:aa:aa:aa:aa
    • The MAC port:
      • setenv MAC_PORT 0
    • I'm not 100% sure you need to do this but I haven't checked.
  • You should be ready to upgrade the firmware.

    • upgrade -i <TFTP_SERVER_IP> spa50x-30x-7-4-6.bin
  • If successful, you'll see the new firmware be written to memory.

(psbl) upgrade -i 192.168.1.5 fw.bin
Validate firmware successful
Cannot upgrade bootloader in bootloader/recovery
Cannot upgrade bootloader in bootloader/recovery
Programming sector:3
Programming sector:4
Programming sector:66
Programming sector:67
Programming sector:68
Programming sector:69
Programming sector:70
Programming sector:71
Programming sector:72
...
Programming sector:125
Programming sector:126
Programming sector:127
  • Finally, reboot the phone by either:
    • Power cycle
    • reboot