Some Experience
by restoring deleted partitions
I made some experiments on my own TV.
1.
tbml0/2 (u-boot) partition was erased and to confirm that, the dump after was made - here were only zeros. After TV reboot - no u-boot was found.
2. I remade tbml2 dump from working TV (empty bytes (ff ff) were removed from the end of the file with help of HEX editor)
3. The dump file was renamed to
u-boot.bin and placed to USB/T-CHL7DEUC/image folder.
Basis for investigations was T-CHL7DEUC 2005.0 firmware upgrade file for LE40B653T5WXBT. I deleted
exe.img,
appdata.img and
validinfo.txt from USB flash disk. The USB file structure was like:
Code: Select all
USB
--T-CHL7DEUC
----crc
----ddcmp
----MicomCtrl
----rc.local
----run.sh.enc
-----------image
---------------info.txt
---------------serial_temp
---------------u-boot.bin
---------------version_info.txt
4. USB was plugged in, TV asked for firmware upgrade. OK was pressed. Upgrade process was very short and without any errors.
5. After TV reboot i was able to enter to u-boot menu by pressing
I think this info can be helpful for safe restoring deleted partitions after reverting back from the latest firmware.
Few days later made another tests with T-CHL7DEUC 3000.2 firmware upgrade file on my TV. I upgraded my TV with T-CHL7DEUC_3000.2_step1.exe firmware. As i`ve expected bml2, bml4 were deleted and bml5 was changed by install process of this firmware.
I tried to add
u-boot.bin,
fnw.bin and
Image to step1 USB upgrade file, but after upgrade i got all these partitions changed (no success)
Then i attached 3001.1_step2 upgrade USB(as is, all files were placed by installer) to TV and after TV noticed about new FW upgrade, i disconnected USB, deleted not required files, added theese three images (
u-boot.bin,
fnw.bin and
Image). USB structure was like:
Code: Select all
T-CHL7DEUC
----image
--------info.txt
--------major_version
--------minor_version
--------version_info.txt
--------u-boot.bin
--------fnw.bin
--------Image
After re-insertion of USB OK was pressed. Upgrade process was broken on about 60-70% and nothing was restored.
On ExLink log i got:
Code: Select all
Source : 5120 Window Type : 0 Back End Decoder Type : 4
ICPCFlashDevice read size error : return size(524288)
ICPCFlashDevice read size error : m_size = 0
errno = 0
ICPCFlashDevice read size error : return size(524288)
ICPCFlashDevice read size error : m_size = 0
errno = 0
sd 5:0:0:0: rejecting I/O to device being removed
Buffer I/O error on device sda1, logical block 15514
[DEV_USB ] [bool CUsbEventService::SendEvent(int, int, int)] In... sdndMessageType:1394000 param1:45782088 param2:0
MESSAGE_USB_DISCONNECTED
sda: assuming drive cache: write through
sda: assuming drive cache: write through
FAT: utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive!
[DEV_USB ] [bool CUsbEventService::SendEvent(int, int, int)] In... sdndMessageType:1394000 param1:47289288 param2:0
[ROSE_ERROR ] [BackupUsbInfo:458] No More Data...
MESSAGE_USB_CONNECTED
&&&&&&&&&&&&&&&&& USB node ID = 0
==> Add Partition (0, 0, USB Flash Drive)
>>>@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
The Size of USB Device List (App) = 1
Device Type = MSC Device
Device ID = 0
Device model = USB Flash Drive
Device vendor = A-DATA
Partition ID = 0
Partition Path = /dtv/usb/sda1
Partition FS = vfat
Partition Serial = 8f619540c6063d
Partition Devpath = 1
Partition Lun = 0
Capacity = [3935616/3936220]
Storage ID = 0x0
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@<<<
fsrerase /dev/bml0/8
This program is operated over FSR based
The flash memory blocks have been erased successfully.
I deleted
Image and repeated the test again. In this case upgrade process was successful, after reboot i got u-boot working and tbml4 was restored too. Few more tests were made but it didn`t help to restore kernel (Image). I tried to delete files from USB directly via telnet (to avoid re-insertion of USB), but always i got the same - with
Image (alone or with u-boot.bin and fnw.bin) TV upgrade process broke. In all cases the bml0/8 partition was deleted on the beginning of upgrade (i didn`t notice this on the same tests on 2005.0 firmware).
The log was the same:
Code: Select all
Source : 5120 Window Type : 0 Back End Decoder Type : 4
ICPCFlashDevice read size error : return size(524288)
ICPCFlashDevice read size error : m_size = 0
errno = 0
ICPCFlashDevice read size error : return size(524288)
ICPCFlashDevice read size error : m_size = 0
errno = 0
fsrerase /dev/bml0/8
This program is operated over FSR based
The flash memory blocks have been erased successfully.
So no TOP debug menu until kernel image is restored. I flashed it by hand and i got another strange issue: TOP debug menu was available, but i got the console only by pressing ctrl+c. Not by entering 0x04 on TD debug menu:
Code: Select all
==============================
[ TD Debug Menu ]
------------------------------
0x01 : TDc Debug
0x02 : TDi Debug
0x03 : SDAL Debug
0x04 : spI Debug
0x05 : Sequence Test
------------------------------
0xFF : Exit Debug
------------------------------
TD>: 0x04
==============================
[ TD Debug Menu ]
------------------------------
0x01 : TDc Debug
0x02 : TDi Debug
0x03 : SDAL Debug
0x04 : spI Debug
0x05 : Sequence Test
------------------------------
0xFF : Exit Debug
------------------------------
TD>:
After restoring 2005.0 firmware everything was fine and this issue is gone. The february exe.DSP blocks console on TDM (but not by ctrl+c)
Any ideas?
How about
It would be great to make some rescue firmware upgrade set,that restores deleted partitions and in the same time disables watchdog (if it is ON) and sets debug option on ServiceMenu to have access via Ex-Link cable. Any suggestions?