Difference between revisions of "Recovery of Bricked Device"
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.== |
− | + | 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/fsr.ko | ||
# insmod /lib/modules/rfs.ko | # insmod /lib/modules/rfs.ko | ||
# insmod /lib/modules/fsr_stl.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. | It all!!! Happy new Year. | ||
− | == | + | == Restore TV from u-boot == |
− | * | + | Go [http://wiki.samygo.tv/index.php?title=Repair_TV_from_u-boot here] |
− | * | + | |
− | * | + | == Restore firmware (exe.img, appdata.img) images (CI only) == |
− | * | + | === Before to start === |
− | + | ''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
Contents
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)