Difference between revisions of "Recovery of Bricked Device"


From SamyGO
Jump to: navigation, search
m (Added link to service manual about restoring tv from u-boot)
(Added instructions how to restore TV from Debug console)
Line 1: Line 1:
If you write bad boot.img to tv.
+
==If you write bad boot.img to tv.==
  
1) Connect to TV by ex-link cable.
+
A) Connect to TV by ex-link cable.
  
2) Enable USB support. Command "/lib/modules/rc.local"
+
B) Enable USB support. Command "/lib/modules/rc.local"
  
3) Enable NAND support. Commands  
+
C) Enable NAND support. Commands  
 
   # insmod /lib/modules/fsr.ko
 
   # insmod /lib/modules/fsr.ko
 
   # insmod /lib/modules/rfs.ko
 
   # insmod /lib/modules/rfs.ko
 
   # insmod /lib/modules/fsr_stl.ko
 
   # insmod /lib/modules/fsr_stl.ko
4) Erase old bad image. Command "bml.erase /dev/bml0/7"
+
D) Erase old bad image. Command "bml.erase /dev/bml0/7"
  
5) Write original (work) image. Command "bml.restore /dev/bml0/7 /dtv/usb/sd1/boot.img"
+
E) Write original (work) image. Command "bml.restore /dev/bml0/7 /dtv/usb/sd1/boot.img"
  
 
It all!!! Happy new Year.
 
It all!!! Happy new Year.
  
== Service manual to restore bricked TV from u-boot ==
+
== Restore TV from u-boot ==
* Here is service manual of UN46B6000VM (and whole N72A chasis). Download from here: http://www.turuta.md/SMODE/UN40B6000VM.pdf
+
Go [http://wiki.samygo.tv/index.php?title=Repair_TV_from_u-boot here]
* List of available service menu options and default settings of SM.
+
 
* Calibration instructions
+
== Restore firmware (exe.img, appdata.img) images (CI only) ==
* Firmware restoring fom u-boot
+
=== Before to start ===
* Firmware flashing with DCC manager by MasTech
+
''To restore TV you need:''<br>
 +
* Settings in Service menu are set before TV broke - do it now, if your TV isn`t broken - insurance for future :)
 +
* Enter Service Menu ( quickly push [INFO] [MENU] [MUTE] [POWER] on your remote control )
 +
* Change setting for your RS232C interface to "'''debug'''" ( Control -> Sub Option -> RS-232 Jack -> [ '''Debug''' | UART | Logic ] )
 +
* Change setting for Watchdog to "'''off'''", so that the device doesn't reboot while you are in uBoot menu ( Control -> Sub Option -> Watchdog -> [ on | '''off''' ] )<br><br>
 +
* Make or buy '''Service Cable''' - [http://wiki.samygo.tv/index.php?title=Enable_Serial_Console_on_non_CI%2B_Devices#The_Ex-Link_.28serial.29_cable ExLink]
 +
 
 +
* You need images to restore (or dumps of partitions you made before. How to make dumps [http://wiki.samygo.tv/index.php?title=Dumping_and_Flashing_images_by_hand read here].)<br>
 +
* If you use firmware files from firmware upgrade file (you can download it from [http://wiki.samygo.tv/index.php?title=Old_%26_Good_Firmwares here], make sure, that you have UNxored exe.img and appdata.img on USB/update (NOT exe.img.enc and NOT appdata.img.enc). How to unXOR images read [http://wiki.samygo.tv/index.php?title=Playing_with_Firmware_Images#Decryption.2FEncrpytion_of_Image here.]
 +
=== Prepare USB ===
 +
* 1. Format USB to FAT32
 +
* 2. Copy required images to /update directory on USB. <br>
 +
* 3. Place exe.'''img''' and appdata.'''img''' to USB/update<br>
 +
* 4. Reboot TV, go to [http://wiki.samygo.tv/index.php?title=Enable_Serial_Console_on_non_CI%2B_Devices#Debug_Menu_.28On_CI.2B_Devices_Too.29 TOP Debug menu]
 +
* 5. Enter Ctrl+c to get to console. TV from this moment does not respond to RC.
 +
* 6. Mount USB disk with next command
 +
sh +x /sbin/start_usb.sh
 +
* 7. Check if USB is mounted
 +
cd dtv/usb
 +
ls
 +
You get something like:
 +
log    sda1
 +
* 8. Check images on USB/update
 +
cd sda1/update
 +
ls
 +
You get:
 +
Image            exe.img          oneboot.bin      uboot_env.bin
 +
Image_serial      fnw.bin          rootfs.img        validinfo.txt
 +
appdata.img      info.txt          serial_temp      version_info.txt
 +
boot.img          onboot.bin        u-boot.bin
 +
* 9. Prevent TV from rebooting when exeDSP is stopped
 +
/mtd_boot/MicomCtrl 23
 +
* 10. Kill exeDSP
 +
killall -9 exeDSP
 +
* 11. unmount /mtd_exe/ and /mtd_appdata/
 +
umount /mtd_exe/
 +
umount /mtd_appdata/
 +
 
 +
* 12. Write ‘exe.img and appdata.img’ to TV
 +
fsrrestore /dev/bml0/8 exe.img;
 +
fsrrestore /dev/bml0/9 appdata.img;
 +
fsrrestore /dev/bml0/10 exe.img;
 +
fsrrestore /dev/bml0/11 appdata.img;
 +
 
 +
* 13. Mount the updated images
 +
mount -t auto /dev/tbml8 /mtd_exe
 +
mount -t auto /dev/tbml9 /mtd_appdata
 +
 
 +
* 14. Start exeDSP again (Do not worry if screen is bottom to up, after restart TV you get normal operating TV)
 +
/mtd_exe/rc.local
 +
 
 +
=== Flash another partitions from console ===
 +
 
 +
* 15. If you need restore some other partitions, you can do it as example:
 +
cat /dev/usb/sda1/update/u-boot.bin > /dev/bml0/2
 +
cat /dev/usb/sda1/update/fnw.bin > /dev/bml0/4
 +
cat /dev/usb/sda1/update/Image > /dev/bml0/5
 +
cat /dev/usb/sda1/update/rootfs.img > /dev/bml0/6
 +
cat /dev/usb/sda1/update/boot.img > /dev/bml0/7
 +
 
 +
or you can use bml tool:
 +
bml.restore /dev/usb/sda1/update/u-boot.bin /dev/bml0/2
 +
bml.restore /dev/usb/sda1/update/fnw.bin /dev/bml0/4
 +
bml.restore /dev/usb/sda1/update/Image /dev/bml0/5
 +
bml.restore /dev/usb/sda1/update/rootfs.img /dev/bml0/6
 +
bml.restore /dev/usb/sda1/update/boot.img /dev/bml0/7
 +
 
 +
=== Make dumps ===
 +
bml.dump /dev/bml0/2 /dev/usb/sda1/dump/bml0_2_dump
 +
bml.dump /dev/bml0/3 /dev/usb/sda1/dump/bml0_3_dump
 +
bml.dump /dev/bml0/4 /dev/usb/sda1/dump/bml0_4_dump
 +
bml.dump /dev/bml0/5 /dev/usb/sda1/dump/bml0_5_dump
 +
bml.dump /dev/bml0/6 /dev/usb/sda1/dump/bml0_6_dump
 +
bml.dump /dev/bml0/7 /dev/usb/sda1/dump/bml0_7_dump
 +
bml.dump /dev/bml0/8 /dev/usb/sda1/dump/bml0_8_dump
 +
bml.dump /dev/bml0/9 /dev/usb/sda1/dump/bml0_9_dump
 +
bml.dump /dev/bml0/10 /dev/usb/sda1/dump/bml0_10_dump
 +
bml.dump /dev/bml0/11 /dev/usb/sda1/dump/bml0_11_dump
 +
 
 +
How is your USB recognised you can see
 +
mount
 +
 
 +
Finish!
 +
 
 +
--[[User:Juzis28|Juzis28]] 19:11, 28 December 2010 (UTC)

Revision as of 19:11, 28 December 2010

If you write bad boot.img to tv.

A) Connect to TV by ex-link cable.

B) Enable USB support. Command "/lib/modules/rc.local"

C) Enable NAND support. Commands

 # insmod /lib/modules/fsr.ko
 # insmod /lib/modules/rfs.ko
 # insmod /lib/modules/fsr_stl.ko

D) Erase old bad image. Command "bml.erase /dev/bml0/7"

E) Write original (work) image. Command "bml.restore /dev/bml0/7 /dtv/usb/sd1/boot.img"

It all!!! Happy new Year.

Restore TV from u-boot

Go here

Restore firmware (exe.img, appdata.img) images (CI only)

Before to start

To restore TV you need:

  • Settings in Service menu are set before TV broke - do it now, if your TV isn`t broken - insurance for future :)
  • Enter Service Menu ( quickly push [INFO] [MENU] [MUTE] [POWER] on your remote control )
  • Change setting for your RS232C interface to "debug" ( Control -> Sub Option -> RS-232 Jack -> [ Debug | UART | Logic ] )
  • Change setting for Watchdog to "off", so that the device doesn't reboot while you are in uBoot menu ( Control -> Sub Option -> Watchdog -> [ on | off ] )

  • Make or buy Service Cable - ExLink
  • You need images to restore (or dumps of partitions you made before. How to make dumps read here.)
  • If you use firmware files from firmware upgrade file (you can download it from here, make sure, that you have UNxored exe.img and appdata.img on USB/update (NOT exe.img.enc and NOT appdata.img.enc). How to unXOR images read here.

Prepare USB

  • 1. Format USB to FAT32
  • 2. Copy required images to /update directory on USB.
  • 3. Place exe.img and appdata.img to USB/update
  • 4. Reboot TV, go to TOP Debug menu
  • 5. Enter Ctrl+c to get to console. TV from this moment does not respond to RC.
  • 6. Mount USB disk with next command
sh +x /sbin/start_usb.sh
  • 7. Check if USB is mounted
cd dtv/usb
ls

You get something like:

log     sda1
  • 8. Check images on USB/update
cd sda1/update 
ls

You get:

Image             exe.img           oneboot.bin       uboot_env.bin
Image_serial      fnw.bin           rootfs.img        validinfo.txt
appdata.img       info.txt          serial_temp       version_info.txt
boot.img          onboot.bin        u-boot.bin
  • 9. Prevent TV from rebooting when exeDSP is stopped
/mtd_boot/MicomCtrl 23
  • 10. Kill exeDSP
killall -9 exeDSP
  • 11. unmount /mtd_exe/ and /mtd_appdata/
umount /mtd_exe/
umount /mtd_appdata/
  • 12. Write ‘exe.img and appdata.img’ to TV
fsrrestore /dev/bml0/8 exe.img;
fsrrestore /dev/bml0/9 appdata.img;
fsrrestore /dev/bml0/10 exe.img;
fsrrestore /dev/bml0/11 appdata.img;
  • 13. Mount the updated images
mount -t auto /dev/tbml8 /mtd_exe
mount -t auto /dev/tbml9 /mtd_appdata
  • 14. Start exeDSP again (Do not worry if screen is bottom to up, after restart TV you get normal operating TV)
/mtd_exe/rc.local

Flash another partitions from console

  • 15. If you need restore some other partitions, you can do it as example:
cat /dev/usb/sda1/update/u-boot.bin > /dev/bml0/2
cat /dev/usb/sda1/update/fnw.bin > /dev/bml0/4
cat /dev/usb/sda1/update/Image > /dev/bml0/5
cat /dev/usb/sda1/update/rootfs.img > /dev/bml0/6
cat /dev/usb/sda1/update/boot.img > /dev/bml0/7

or you can use bml tool:

bml.restore /dev/usb/sda1/update/u-boot.bin /dev/bml0/2
bml.restore /dev/usb/sda1/update/fnw.bin /dev/bml0/4
bml.restore /dev/usb/sda1/update/Image /dev/bml0/5
bml.restore /dev/usb/sda1/update/rootfs.img /dev/bml0/6
bml.restore /dev/usb/sda1/update/boot.img /dev/bml0/7

Make dumps

bml.dump /dev/bml0/2 /dev/usb/sda1/dump/bml0_2_dump
bml.dump /dev/bml0/3 /dev/usb/sda1/dump/bml0_3_dump
bml.dump /dev/bml0/4 /dev/usb/sda1/dump/bml0_4_dump 
bml.dump /dev/bml0/5 /dev/usb/sda1/dump/bml0_5_dump 
bml.dump /dev/bml0/6 /dev/usb/sda1/dump/bml0_6_dump 
bml.dump /dev/bml0/7 /dev/usb/sda1/dump/bml0_7_dump 
bml.dump /dev/bml0/8 /dev/usb/sda1/dump/bml0_8_dump
bml.dump /dev/bml0/9 /dev/usb/sda1/dump/bml0_9_dump
bml.dump /dev/bml0/10 /dev/usb/sda1/dump/bml0_10_dump
bml.dump /dev/bml0/11 /dev/usb/sda1/dump/bml0_11_dump

How is your USB recognised you can see

mount

Finish!

--Juzis28 19:11, 28 December 2010 (UTC)