Модернизация TV Samsung LE32C530 F1W: восстанавливаем "КИРПИЧ"

В этой статье пойдет речь о том, как восстановить ваш телевизор из состояния "КИРПИЧ" в нормальное рабочее.

Для этого нам понадобится:

  1. Кабель Ex-Link (RS-232)
  2. Компьютер с USB поротом
  3. Программа/клиент – Putty (мой выбор)
  4. Флешка, объем не важен, главное отформатированная в FAT файловую систему (в Windows 7 – по умолчанию).

Кабель Ex-Link (RS-232).
В интернете много инструкций как его можно соорудить. Проще конечно же купить готовый, если у вас есть лишние $5-$10.
Одна из инструкций – http://wiki.samygo.tv/index.php5/Ex-Link_Cable_for_C/D/E_Series_and_BD_players .

Надеюсь ни для кого не секрет, как в Windows 7 включать дополнительные программы (консольные утилиты), например:
Control Panel -> Programs and Features -> Turns Windows features on or off -> [список дополнений] -> Telnet Client.
И все же, я советую пользоваться утилитой Putty . Она, как по мне, проще в настройке, а также стабильна в работе.

Самое страшное, что может произойти – телевизор не включается, и вы видите только черный экран. На нажатия кнопок пульта – просто мигает красная лампочка без какой либо реакции.
Основной причиной такого бездушья вашего телевизора может быть испорченный start.sh файл/скрипт.
Например, вы экспериментировали (как, например, я :)) и допустили синтаксическую ошибку в коде этого файла – телевизор превратится в "КИРПИЧ".
В нашем случае, модель LE32C530 не поддается стандартным методам восстановления, описанным здесь. Единственное, что работает из вышеуказанной инструкции – это команда 10041004, она действительно приводит консоль в режим ввода команд, но на этом все. Максимум, что мне удалось найти рабочее – это еще одна команда CB (но об этом позже).

Итак, если ваш телевизор превратился в "КИРПИЧ", делаем следующее:

  1. Выключаем телевизор: чтобы выключить телевизор надо выдернуть шнур питания с розетки примерно на 30 секунд, это единственный способ выключение/рестарта вашего телевизора в состоянии "КИРПИЧ".
  2. Подключаем кабель Ex-Link к VGA порту телевизора (одним концом), и к USB порту компьютера (другим концом), тот, который вы настроили для работы с клиентом Putty.
    Подключаем телевизор к сети питания: Просто вставьте шнур питания в розетку, красная лампочка должна загореться, но не мигать.
  3. На компьютере, запустите настроенную программу/клиент Putty. Вы должны увидеть просто черный экран.
  4. С помощью пульта, кнопок Power или CH UP – включите телевизор. В этот момент вы должны увидеть в логе клиента (Putty) быстро меняющиеся строки с информацией, на подобии этой:
    =================================
    Samsung Bootloader Infomation
    release ver : 1004 Release
    etc :
    =================================
    UART2 is used to debug mode(0)
    load kernel start, size : 131072 + 2883584 byte
    load_cmac()[918 line]: entry->first_blk = 1, entry->no_blks= 1
    1024 bit RSA Sign/Verify Test Success.
    authentication success
       XIP Kernel Image ...
    Starting kernel ...
    [SELP] preset_lpj manual setting 175616
    ================================================================================
     SAMSUNG Mstar Kernel
     Version : 1004.84(RELEASE)
    ================================================================================
    init started: SELP-BusyBox v1.6.0-VD Linux SELP.4.2.1.x (2010-03-25 09:52:34 KST) multi-call binary
    starting pid 21, tty '': '/etc/rc.sysinit'
    /etc/rc.local start!!!!
    ##################################
     VDLinux 1.1.1.x Mstar RootFS ver
    1004
     Used kernel ver(module is builed)
    1007.88(RELEASE)
    ##################################
    starting pid 32, tty '': '/bin/cttyhack'
    /etc/profile start!!
    /mtd_rwarea/PartitionSwitch_0_0  is detected...
    1st Partition is selected....
    _mod_sys_init.176 ioctl
    == Start exeDSP ==
    /mtd_exe/rc.local start !!!!!
    insmod: cannot insert '/mtd_exe/samsung_mstar.ko': File exists (-1): File exists
    ******************************************************
    Application running is failed..
    SW image is stopped..
    ******************************************************
    SELP#> [CIP_KERNEL] >>> (/bin/authuld) file is successfully authenticated <<<
    [CIP_AUTHULD] ====================================================
    [CIP_AUTHULD]        Authuld Version : 1.1 : REL
    [CIP_AUTHULD] ====================================================
    [CIP_KERNEL] Success!! Authuld is successfully completed.
    
  5. Вот мы и увидели, что творится на самом деле внутри телевизора, и почему он не может включиться: insmod: cannot insert '/mtd_exe/samsung_mstar.ko': File exists (-1): File exists
    Эта строка говорит нам о том, что модуль samsung_mstar.ko не может быт подгружен в память телевизора, а это есть один из основных модулей телевизора, без которого он ничего "не показывает".
  6. Форматируем флешку в FAT файловую систему (как оказалось, из под Windows 7, только эта файловая система нормально поддерживается телевизором в таком состоянии).
  7. Создаем на флешке пустые файлы:
    • emergency_start.sh
    • kill_start.sh
    • start.sh

    Эти файлы сами по себе ничего не делают, поэтому и пустые, но на их присутствие реагирует другой скрипт, который активизируется при вставке флэшки в телевизор. Но в нашем случае не все так просто.
    Для того, чтобы наш телевизор определил (в состоянии "КИРПИЧ"), что флешка была воткнута в телек, нам надо как то его заставить подгрузить модули/драйвера для работы с флэш-носителями.
    Как мы видим из логов, он не подгружает никакие модули для работы с USB-накопителями, то есть с флэшками, даже если бы флешка в этот момент была воткнута в телевизор, и тут нам на помощь приходит команда CB.

  8. Вынимаем (безопасно) флэшку с компьютера, с созданными пустыми файлами, и вставляем ее в телевизор, при этом мы продолжаем наблюдать за всем происходящим внутри телевизора из нашего маленького иллюминатора – Putty.
  9. Набираем команду 10041004, видим что-то вроде этого:
    SELP#>
  10. Набираем комманду CB, должны увидеть что-то вроде этого:
    SELP#> CB
    =========================================
    1. sync for /core/Coredump.gz
    =========================================
    sync
    sync
    =========================================
    2. Insert usb modules
    =========================================
    =========================================
    3. Finding usb mount point
    =========================================
    Please insert USB
    usb 2-1: new high speed USB device using Mstar-ehci-1 and address 2
    sd 0:0:0:0: [sda] Assuming drive cache: write through
    sd 0:0:0:0: [sda] Assuming drive cache: write through
    FAT: utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive!
    =========================================
    4. Copy /core/Coredump.gz to usb
    =========================================
    COPY to /dtv/usb/sda1/Coredump.gz
    cp: cannot stat '/core/Coredump*.gz': No such file or directory
    =========================================
    5. sync for Coredump.gz in usb
    =========================================
    sync
    sync
    =========================================
    6. Copying is ended... please remove USB
    =========================================
    

    В данный момент, на самом деле, в телевизоре произошли внутренние процессы (еще внутреннее :)), которые мы не увидели (какие именно – сообщю позже, надо смотреть скрипты SamyGO, которые и реагируют на присутствие этих файлов на флешке).

  11. Выключаем телевизор, выдернув шнур с розетки.
  12. Изымаем флешку с телевизора, но при это оставляем подключенным Ex-Link кабель как и прежде, дабы видеть все происходящее в клиенте Putty.
  13. Подождав не менее 30 секунд, подключаем телевизор к сети питания – вставив шнур питания в розетку, красная лампочка должна загореться, но не мигать.
  14. Закрываем старое окно клиента Putty и открываем новое, чтобы старая информация не мешала нам, так сказать, начинаем с чистого листа.
  15. С помощью кнопок на пульте Power или CH UP – включаем телевизор, в окне клиента должно быть что-то в роде этого:
    =================================
    Samsung Bootloader Infomation
    release ver : 1004 Release
    etc :
    =================================
    UART2 is used to debug mode(0)
    load kernel start, size : 131072 + 2883584 byte
    load_cmac()[918 line]: entry->first_blk = 1, entry->no_blks= 1
    1024 bit RSA Sign/Verify Test Success.
    authentication success
       XIP Kernel Image ...
    Starting kernel ...
    [SELP] preset_lpj manual setting 175616
    ================================================================================
     SAMSUNG Mstar Kernel
     Version : 1004.84(RELEASE)
    ================================================================================
    init started: SELP-BusyBox v1.6.0-VD Linux SELP.4.2.1.x (2010-03-25 09:52:34 KST) multi-call binary
    starting pid 21, tty '': '/etc/rc.sysinit'
    /etc/rc.local start!!!!
    ##################################
     VDLinux 1.1.1.x Mstar RootFS ver
    1004
     Used kernel ver(module is builed)
    1007.88(RELEASE)
    ##################################
    starting pid 32, tty '': '/bin/cttyhack'
    /etc/profile start!!
    /mtd_rwarea/PartitionSwitch_0_0  is detected...
    1st Partition is selected....
    _mod_sys_init.176 ioctl
    == Start exeDSP ==
    /mtd_exe/rc.local start !!!!!
    [FASTBOOT] Main thread id: 54
    ##### System Execution!!! #####
    Running Parallel FASTBOOT
    Preloading Font File Start [2670]
    PM Bank mapping success. Base=[2af30000], Size=[225600]
    NonPM Bank mapping success. Base=[2b156000], Size=[25600]
    Flash Bank0 mapping success. Base=[2d228000], Size=[4000000]
     --------------------
       X4_SEMS_18
     --------------------
    SDAL - 03.45.16.00
    [UTIL] sys_config 1540
    pthread_mutex_init
    CHIP_InitISR
    _mod_sys_open.235 ioctl
    MMAP: E_MMAP_128MB_128MB
    >> u8BinType = 0
    DSP code loaded successfully
    IRQThread_24
    MDrv_PWM_Init has MMIO base 0x2B156000
    MDrv_PWM_SetDbgLevel(1)
    _mod_sys_open.235 ioctl
    _s32FdSYS is 8
    MApi_DDC2BI_Init.96 ioctl Done
    MApi_DDC2BI_Init.108 ioctl Done
    ---------------------------------------------
            SdCommon_GpioInit()
    ---------------------------------------------
    [InitX4]SdMisc_DisplayResolution: FHD !!!
    [SdMisc_DisplayResolution 433]
    Dclk = 34f59d
    XC: [_MApi_XC_Init_Context][148] This is first initial 0x2aec8710
    XC RIU base=2b156000
    Preloading Font File End [3590]
    IRQThread_18
    MDrv_WBLE_EnableBLE(): invoking Hal_WBLE_set_ble()
    PQ INPUTTYPE NUM MISMATCH: SUB != SUBEXPQ INPUTTYPE NUM MISMATCH: MAIN != EX[MWE] Hstart   70  Hend   6f  Vstart    0 Vend  437
    X4   version :  T-MSX5DEUC-2005.4  Date: Sep  3 2010 (14:54:13)
    SDAL version :  SDAL - 03.45.16.00
    >>> TDBuilder::Build start
    [TDBuilder]EEPROM I2C Line -> [BUS_2]
    TDaTunerCXD Building...
    TDaDemodulatorCXD Building...
    [LightSensorMonitor::LightSensorMonitor] m_poLightSensor = [0x0363b3c0]
    [LightSensorMonitor::LightSensorMonitor] m_poLightSensor = [0x0363bad8]
    <<< TDBuilder::Build End
    ResetSystemConfig tuner
    ############## Find Factory_Part1.dat File in mtd_exe ##################
    ############## Find Factory_Part2.dat File in mtd_exe ##################
                    FixedId : Nvram[130] vs File[130]
                    WBId : Nvram[147] vs File[147]
                    WB ADC(Part1) Id : Nvram[41] vs File[41]
                    EER Basic Id : Nvram[340] vs File[340]
                    EERId Custom : Nvram[215] vs File[215]
                    FACId : Nvram[210] vs File[210]
    SEMS-18 LCD
    before m_semReset.Take
    after m_semReset.Take
    =========10 Tuner Selected !!!
            >>[TDsAlps514Tuner] Create: ===Start Create
    TUNER Init
    INTERN_DVBT_Power_On_Initialization call stop vdmcu
    >> u8BinType = 1
    ============================ LOAD DSP ================================
    ============================ LOAD DSP DONE ================================
    MApi_DMX_GetLibVer 00231898
    [HAL_DSCMB_SetBank][82] Set bank 0x2b156000
    IRQThread_12
    DVB-T Load DSP Code OK
    IRQThread_36
     @INTERN_DVBT_config BW: 8
    INTERN_DVBT_Reset
    ▒ڡ▒ Check Factory, Num of Amp is 1.
    [MDrv_SAR_Kpd_Init]: SAR Kpd has been initialized!
            >>[TDsAlps514Tuner] Create: ===End Create
                    >>> t_GetFastBootInfo 0
            >>[ERR:TDsX4Mpeg.cpp] Create():130  - SDAL ERROR [-1] !!!
    [eSoundSys = 2] <--- SoundSystem
    IRQThread_69
    IRQThread_54
    audio DSP_SE LoadCode success..
    the length of the thread name exceeds 15,it will be truncated to 15 chars
    Before m_semFrontEND Take START
    After m_semFrontEND Take END
    ==================================================
    ---------- GLOBAL INITIALIZATION START  ----------
    ==================================================
            >>[TDsAlps514Tuner] Connect: Antenna 1
    _mod_sys_open.235 ioctl
    PCMCIA open /dev/system success >> SYS_fd= 14
    IRQThread_29
    LightSensorMonitor Creat...Start Brightness Step = [20]
    delay should be great  than 20ms.
    [LightSensorMonitor] Start !
    [TDaSystem::X4PivotModeConfig] PivotConfig Size [1920 * 1080], Mode [3]
    [TDaScaler][Create]CREATE_TYPE_STEP_FHD !!!
    [TDaScaler][Create]CREATE_TYPE_STEP_FHD !!!
    [TDaScaler][Create]CREATE_TYPE_STEP_FHD !!!
    ==== HDMI [SRC num :1], [ID: 0x47], [HP STATE: 0xf]
    ### eSrc 0, DDCompMode 1 (RFmode:1), Factory value 1, SDAL set value 0
    bEnable = 1
    Param_u16Fmodulation = 4
    u16Fmodulation = 400
    u16Span = 203
    u16Rdeviation = 150
    u16Step = 256
    DDR_u16Deviation = 10
    [ Fast Boot ] [ Panel Control Type : 2 ]
    Before m_semAmp Take START
    After m_semAmp END
                    >>> t_PlayMelody 0
                    >>> t_CheckFastBoot 0
    ==================================================
    ----------------- FAST BOOT START ----------------
    ==================================================
    SdVideo_Get()#1740: g_IPanel.Width(), g_IPanel.Height(): (1920, 1080)
     Error! Unexpected bankend ID.
            >>[TDsAlps514Tuner] Connect: Antenna 1
            >>[TDsAlps514Tuner] SetLna: OnOff 0
            >>[TDsAlps514Tuner] SetLna: ====LNA is always ON
            >>[TDsAlps514Tuner] SetTune: ==========================================================
            >>[TDsAlps514Tuner] SetTune: [Mod:2] [Freq:450000.000] [OffSet:0] [BW:1]
    [ Fast Boot ] [ Panel Control Type : 1 ]
            >>[TDsAlps514Tuner] SetTune: [SymbolRate:6875][SoundSystem:1][bAnalogSignal:0]
            >>[TDsAlps514Tuner] SetTune: [bIsAutoProgram:0] [eHierarchyPriority:1]
            >>[TDsAlps514Tuner] SetTune: ==========================================================
    TunerS[0]=1E, TunerS[1]=63, TunerS[2]=9B, TunerS[3]=4E, TunerS[4]=C0
    |||||||||||||||||| PVCC On ..!!! ||||||||||||||||||
    |||||||||||||||||| LVDS OutPut On ..!!! ||||||||||||||||||
    ====== Send Jack ID Command to SubMicom ! =====
    INTERN_DVBC_Power_On_Initialization call stop vdmcu
    >> u8BinType = 2
    DVB-C Load DSP Code OK
    INTERN_DVBC_Reset
            >>[TDsAlps514Tuner] SetTune:
    TDsTunerHalfNim::tSdTuner_StartChannel... SDAL Mod Format = [6] eSource=[0x0] ePipSource=[0x0]
    SdTSData_UnInstallCallback
    Source : 513  Video ID : 0
    SD_NOT_SUPPORTED
            >>[ERR:TDsX4Mpeg.cpp] ConnectVideo():1000  - SDAL ERROR [-2] !!!
    Source : 513  Video ID : 0
    SD_NOT_SUPPORTED
            >>[ERR:TDsX4Mpeg.cpp] SetAVSync():1496  - SDAL ERROR [-2] !!!
            >>[ERR:TDiMpeg.cpp] InstallVideoCallbackFrameCapture():963 Null Fuction Call !!!Must Check Implementation Code...
            >>[ERR:TDaPanel.cpp] GetPanelConfigType():353 Input Option Error : 2
            ## Core Software Platform (TM) 1.1 : DTP-SP-0072 (RELEASE)
                     Copyright (C) SAMSUNG Electronics Co.,Ltd.
    CSP No sched_yield()
    TCMW::Initialize() start
    ProfileManager::t_CompareMagicKey() line[569]   Offset 0 Size 4]
    ProfileManager::t_CompareMagicKey() line[577]   CRC: 82250689, magicKey: 82250689
    ProfileManager::Init() line[73] Mark 2193
            >>[TDsAlps514Tuner] GetDevCaps: Called...
    |||||||||||||||||| PWM Enable ..!!! ||||||||||||||||||
    TDResolution_k : [21]
    TDResolutionInfo_t [720], [576], [0], [0], [864], [625], [0], [50000], [1], [0], [0], [0], [0], [0], [10], [0], [513]
    [DEFAULT/Debugging] 0 : FlagHotelMode, hotelProductType[0]
    [DEFAULT/Debugging] 1 : FlagUseHotelMixedMap, factoryMapUse[1]
    [DEFAULT/Info] 2 : ####Reset TCTvManagerBase::Create####
            >>[TDsAlps514Tuner] GetDevCaps: Called...
            >>[ERR:TDsX4Mpeg.cpp] StartVideoDecoding():352  - SDAL ERROR [-1] !!!
            >>[ERR:TDsX4Mpeg.cpp] StopVideoDecoding():370  - SDAL ERROR [-1] !!!
    [DEFAULT/Info] 3 : ####Reset Channel Magic Key !  old = 1001007 new = 1001007 !!!####
    IRQThread_72
            >>[TDsAlps514Tuner] GetDevCaps: Called...
            >>[ERR:TDiSystem.cpp] GetSIProtocol():961 Null Fuction Call !!!Must Check Implementation Code...
    [pthd_t_InitCrumbs] START
    Tune Done...  [0]
            >>[TDsAlps514Tuner] GetDevCaps: Called...
    Check Resolution.... Time 0, RESOLUTION_NOSIGNAL
            >>[TDsAlps514Tuner] GetDevCaps: Called...
    |||||||||||||||||| Inverter On ..!!! ||||||||||||||||||
    [ Fast Boot ] [ Panel Control Type : 3 ]
    [DEFAULT/Debugging] 4 : FlagHospitalMode[0]
    [pthd_t_InitCrumbs] NvRam Caching
    [pthd_t_InitCrumbs] END
    [M_TMS/Fatal] 5 : TCChSortModeDB::LoadSortMode Cannot Open File /mtd_chmap/ChSortMode
    Check Resolution.... Time 240, RESOLUTION_NOSIGNAL
    Check Resolution.... Time 340, RESOLUTION_NOSIGNAL
    Check Resolution.... Time 450, RESOLUTION_NOSIGNAL
    Check Resolution.... Time 550, RESOLUTION_NOSIGNAL
            >>[ERR:TDsX4AudioProcessor.cpp] Connect():1096 !!!Melody not done : eSrc = [0x201] or eWindowType = [0x0]
            >>[TDsAlps514Tuner] GetDevCaps: Called...
    Resolution Done Time 740, RESOLUTION_1080I
    Add Delay 160
            >>[TDsAlps514Tuner] GetDevCaps: Called...
    [DEFAULT/Fatal] 6 : TCWindowInfoManager_DVB::t_ChangeCountry  (WindowId:1 TvMode:0  Country:66,BroadCasterId :-1)
            >>[TDsAlps514Tuner] GetDevCaps: Called...
            >>[TDsAlps514Tuner] GetDevCaps: Called...
    [DEFAULT/Fatal] 7 : TCWindowInfoManager_DVB::t_ChangeCountry  (WindowId:2 TvMode:0  Country:66,BroadCasterId :-1)
            >>[TDsAlps514Tuner] GetDevCaps: Called...
            >>[TDsAlps514Tuner] GetDevCaps: Called...
    [DEFAULT/Fatal] 8 : TCWindowInfoManager_DVB::t_ChangeCountry  (WindowId:3 TvMode:1  Country:66,BroadCasterId :-1)
    [DEFAULT/Info] 9 :
    [DEFAULT/Info] 10 : [CI+ information] Make sure that this is DVB CI+ product.
    [DEFAULT/Info] 11 : [CI+ information] Make sure that production certificates and keys should used for this product.
    TDResolution_k : [24]
    TDResolutionInfo_t [1920], [1080], [0], [0], [2640], [1125], [0], [25000], [1], [0], [0], [0], [0], [0], [10], [0], [513]
    #TDResolution_k : [24]
    #TDResolutionInfo_t [1920], [1080], [0], [0], [2640], [1125], [0], [25000], [1], [0], [0], [0], [0], [0], [10], [0], [513]
            >>[ERR:TDaPanel.cpp] GetPanelConfigType():353 Input Option Error : 2
     SET 50 Hz m_VideoSetting.sScaleData.frameRate = 25000
            >>[TDsAlps514Tuner] GetDevCaps: Called...
            >>[TDsAlps514Tuner] GetDevCaps: Called...
    [DEFAULT/Fatal] 12 : TCWindowInfoManager_DVB::t_ChangeCountry  (WindowId:5 TvMode:0  Country:66,BroadCasterId :-1)
    m_X4Picture_SetGamma_______________
    *****Game Mode OFF
    CFastBoot.cpp:t_BootOnDtv PANEL UNMUTE [8530]
            >>[ERR:TDsX4Demux.cpp] SetAudioDescriptionId():965 Invalid Audio Descriptio PID...
    Source : 513  Window Type : 0  Back End Decoder Type : 8, tdRet=0
    ### eSrc 201, DDCompMode 1 (RFmode:1), Factory value 1, SDAL set value -9
    HVD cmd:20306 ;cmd arg timeout:0
    ### eSrc 201, DDCompMode 1 (RFmode:1), Factory value 1, SDAL set value -9
    TCMW::Initialize() end
    0 (4294967295): Shadow 2.1 (Release Version : DTP-BP-Shadow-0120-Release) is being initialized.
                    >>> t_ExeFastBoot 0
    ==================================================
    ------------------ FAST BOOT END -----------------
    ==================================================
    ====================
    First GOP driver instance, flush GWIN HW
    ====================
    InitPlane0: 1, 0, PA: 0a400000, (960, 540)
    InitPlane1: 1, 0, VA: 3b628000, (960, 540)
    InitPlane: 0, 3b628000
    InitPlane0: 1, 1, PA: 0a5fa400, (960, 540)
    InitPlane1: 1, 1, VA: 3b822400, (960, 540)
    InitPlane: 1, 3b822400
    CFastBoot.cpp:m_UnmuteCallback FASTBOOT Callback UNMUTE [8930]
    [PQ_ReduceBW_ForOSD]:1
     SET 50 Hz m_VideoSetting.sScaleData.frameRate = 25000
    InitPlane0: 1, 2, PA: 0624a000, (1920, 1080)
    InitPlane1: 1, 2, VA: 37472000, (1920, 1080)
    InitPlane: 2, 37472000
    InitPlane0: 1, 3, PA: 06a33000, (1920, 1080)
    InitPlane1: 1, 3, VA: 37c5b000, (1920, 1080)
    InitPlane: 3, 37c5b000
    [▒ϢϢ▒  by AutoSizeMon[0] ▒ϢϢ▒] SourceId = 0x35, AFD=0, Aspect=2, SettingValue=0, Ctltype=3
    InitPlaneFromPlane0:  4, PA: 0624a000, (1280, 720)
    [TDsX4Scaler::SetMute]m_eWindowId[0]  Mute Off. 30ms [9130]
    InitPlaneFromPlane1:  4, VA: 37472000, (1280, 720)
    InitPlaneFromPlane0:  5, PA: 06a33000, (1280, 720)
    InitPlaneFromPlane1:  5, VA: 37c5b000, (1280, 720)
    InitPlaneFromPlane0:  6, PA: 065ce000, (720, 576)
    InitPlaneFromPlane1:  6, VA: 377f6000, (720, 576)
    InitPlaneFromPlane0:  7, PA: 06db7000, (1280, 720)
    InitPlaneFromPlane1:  7, VA: 37fdf000, (1280, 720)
    InitPlaneFromPlane0:  8, PA: 06763000, (720, 576)
    InitPlaneFromPlane1:  8, VA: 3798b000, (720, 576)
    InitPlane0: 1, 9, PA: 0721c000, (1280, 720)
    InitPlane1: 1, 9, VA: 38444000, (1280, 720)
    InitPlane: 9, 38444000
    [DTVInputService::t_Create] m_nKeyInputTime = 9390
    SAMSUNG (R) Core SW Platform 2.0 for CSP 1.1
     Copyright (C) SAMSUNG Electronics Co.,Ltd.
            >>[TDsAlps514Tuner] GetDevCaps: Called...
    APP_INITIALIZE(); end
    [DEFAULT/Debugging] 13 : MW Initilize Completed
    ==================================================
    ----------- GLOBAL INITIALIZATION END  -----------
    ==================================================
    [DEFAULT/Debugging] 14 : WaitForFastBoot End
     TPCTv::Power, ######## 3 ######## Param : 0
     TPCTv::Power, Return Value Check : 1
            >>[ERR:TDiSystem.cpp] SupportNonVolatileClock():136 Null Fuction Call !!!Must Check Implementation Code...
    ==================================================
    ------------------- NORMAL MODE ------------------
    ==================================================
    ==================================================
    --------------- NORMAL MODE COMPLETE--------------
    ==================================================
    [PQ_ReduceBW_ForOSD]:1
    System proccess  >>>>>  [ SYSTEM_READY ]
    ==================== DCDsmManager pid = 54
    [DEFAULT/Debugging] 15 : [t_OnSystemReady:5785] First, Display Channel Banner Start(10220)
    [TPAWindow.cpp][ConnectSource][WID:0][CALL]..
    [TPAWindow.cpp][ConnectSource][WID:0][END]..
    [TPAWindow.cpp][ConnectSource][WID:3][CALL]..
    TDResolution_k : [24]
    TDResolutionInfo_t [1920], [1080], [0], [0], [2640], [1125], [0], [25000], [1], [0], [0], [0], [0], [0], [10], [0], [513]
    Source : 513  Window Type : 3  Back End Decoder Type : 8, tdRet=0
            >>[ERR:TDsX4AudioProcessor.cpp] Connect():1217  - SDAL ERROR [-2] !!!
    [TPAWindow.cpp][ConnectSource][WID:3][END]..
    TDResolution_k : [24]
    TDResolutionInfo_t [1920], [1080], [0], [0], [2640], [1125], [0], [25000], [1], [0], [0], [0], [0], [0], [10], [0], [513]
    [DEFAULT/Debugging] 16 : [t_OnSystemReady:5796] First, Display Channel Banner End(10610)
    /bin/sh: /mtd_boot/rest_mount.sh: not found
    [TDsX4Scaler::SetMute]m_eWindowId[0]  Mute Off. 40ms [10670]
    [TDsX4Scaler::SetMute]m_eWindowId[0]  Mute Off. 30ms [10750]
    [DEFAULT/Debugging] 17 : AddSection.. chTypeOfWinId = -1 old : [-1] type = -1  , new : [-1]  type = -1 , chProg's chType = 4
    [TDsX4Scaler::SetMute]m_eWindowId[0]  Mute Off. 30ms [10810]
    [DEFAULT/Debugging] 18 : t_MonitorSIOnPAT!!!!! EIT Monitoring start!!!!!
    [DEFAULT/Info] 19 : CALL ClearPESData!!!!!!
    [TDsX4Scaler::SetMute]m_eWindowId[0]  Mute Off. 30ms [11530]
    [NETWORK_MIDDLE] NetworkManager
    /bin/sh: /sbin/iptables: not found
    [NETWORK_MIDDLE] Create
    NetworkDB::GetInstance()
    NetworkDB()
    NetworkDeviceMonitor::GetInstance()
    NetworkDHCPMonitor::GetInstance()
    [NETWORK_MIDDLE] NetworkEventManager::GetInstance()
    [NETWORK_MIDDLE] New NetworkEventManager() -> Success
    [NETWORK_MIDDLE] NetworkEventManager::Create()
    [NETWORK_MIDDLE] NetworkEventManager::Create()  m_Mutex.Create Success
    [NETWORK_MIDDLE] NetworkEventManager::Create() ->Success
    [NETWORK_MIDDLE] NetworkEventManager::GetInstance()
    [NETWORK_MIDDLE] Already created...
    [NETWORK_MIDDLE] NetworkEventManager::GetInstance()
    [NETWORK_MIDDLE] Already created...
    [NETWORK_MIDDLE] NetworkEventManager::GetInstance()
    [NETWORK_MIDDLE] Already created...
    [NETWORK_MIDDLE] NetworkEventManager::GetInstance()
    [NETWORK_MIDDLE] Already created...
     ===[AGC:39196][ifAgcOut:0x991c]  Init EMAC error!
    insmod: cannot insert '/lib/modules/mdrv-emac.ko': Operation not permitted (-1): Operation not permitted
    [NETWORK_SUBSYS] Set MAC eth0 [ff:ff:ff:ff:ff:ff]
    ifconfig: SIOCSIFHWADDR: No such device
    cat: can't open '/sys/class/net/eth0/address': No such file or directory
    [AP_FRONTRUNNER/Fatal] 20 : [t_Create][line:122] Wired Module Loaded...
    [SSL_library_init] Initializing...
    [SSL_library_init] already intialized...
    [DevMgr/Fatal] 21 : [GetInstance:137] Device Manager START...
    [AP_FRONTRUNNER/Fatal] 22 : [t_Create][line:132] DeviceManager Created...
    [DevMgr/Fatal] 23 : [t_OnEvent:304] DeviceManager::MESSAGE_FLASH_INFO_UPDATED : DeviceKEY(1), DeviceID(0)
    NetworkDeviceMonitor::GetInstance()
    Already created...
     ######## CreateNetworkManager [ StartDeviceMonitoring ]######
    [NETWORK_MIDDLE] NetworkEventManager::GetInstance()
    [NETWORK_MIDDLE] Already created...
    [NETWORK_MIDDLE] NetworkEventManager::GetInstance()
    [NETWORK_MIDDLE] Already created...
    [NETWORK_MIDDLE] NetworkEventManager::GetInstance()
    [NETWORK_MIDDLE] Already created...
            >>[TDsAlps514Tuner] GetDevCaps: Called...
    GetMACStringViaProc() : error fopen()
    [DLNA] cd_uuid_generate_init() might be failed <- ethernet driver load failed?
            DLNA: DLNA UPnP_CD_RegisterCallback(dmr/SamsungMRDesc.xml) --> handle [0]
            >>[TDsAlps514Tuner] GetDevCaps: Called...
            DLNA: DLNA UPnP_CD_RegisterCallback(pmr/PersonalMessageReceiver.xml) --> handle [1]
            ++++++++ [CCPTvUtil:GetModelCode:24] ModelCode:TV-32C550
    [dlna at 0] addinfo@[] cpSendMSearch with no ipaddr, currently ignore this
            ++++++++ [CCPTvUtil:GetModelCode:24] ModelCode:TV-32C550
    [dlna at 0] addinfo@[] cpSendMSearch with no ipaddr, currently ignore this
    [NETWORK_MIDDLE] NetworkEventManager::GetInstance()
    [NETWORK_MIDDLE] Already created...
    [NETWORK_MIDDLE] NetworkEventManager::GetInstance()
    [NETWORK_MIDDLE] Already created...
            >>[TDsAlps514Tuner] GetDevCaps: Called...
            DLNA: DLNA UPnP_CD_RegisterCallback(/ruis/RemoteUIServerDescLevel1.xml) --> handle [2]
    [AP_FRONTRUNNER/Fatal] 24 : [t_OnEvent][line:239] MESSAGE_APP_INITIALIZED received
            >>[ERR:TDiPanel.cpp] GetUpgradeDevice():684 Null Fuction Call !!!Must Check Implementation Code...
    MESSAGE_APP_INITIALIZED~!
    [LoadUSBModules:1246] Start...
    [AP_SWU/Fatal] 25 : [GetFactoryVersion][line:4055] Factory MODEL : T-MSX5DEUC, Factory MODULE : 002005, Factory DATE : 100903, Factory Original Version: 2005.4
    [AP_SWU/Fatal] 26 : [IsDualBSP][line:1454] This is Single BSP!!!!!!!!!!!!!!!!!!
            >>[TDsAlps514Tuner] GetDevCaps: Called...
    [AP_SWU/Fatal] 27 : [RecoverVersion][line:3857] LOC VERSION [SWU_T-MSX5DEUC_002005_I02_EK000DK000_100903]
    [AP_SWU/Fatal] 28 : [RecoverVersion][line:3858] NEW VERSION [SWU_T-MSX5DEUC_002005_I02_EK000DK000_100903]
    [AP_SWU/Fatal] 29 : [RecoverVersion][line:3867] Version is same. No Write
            >>[TDsAlps514Tuner] GetDevCaps: Called...
            >>[TDsAlps514Tuner] GetDevCaps: Called...
            >>[TDsAlps514Tuner] GetDevCaps: Called...
            insmod usbcore...
            >>[TDsAlps514Tuner] GetDevCaps: Called...
            insmod ehci_hcd...
    insmod: can't open '/lib/modules/ohci-hcd.ko': No such file or directory
            insmod ohci_hcd...
            insmod usb_storage...
    USB : Exit Load USB module... Elapsed Time:1090msec.
    [AP_FRONTRUNNER/Fatal] 30 : [t_OnEvent][line:249] USB Module Loaded...
    NetworkDB::GetInstance()
    Already created...
    [NETWORK_SUBSYS] [LoadWirelessStaModule, 2787] insmod rtutil3572sta.ko ...
    [NETWORK_SUBSYS] [LoadWirelessStaModule, 2789] insmod rt3572sta.ko ...
    [CIP_AUTHULD] ====================================================
    [CIP_AUTHULD]        Authuld Version : 1.1 : REL
    [CIP_AUTHULD] ====================================================
    [NETWORK_SUBSYS] [LoadWirelessStaModule, 2791] insmod rtnet3572sta.ko ...
    [NETWORK_MIDDLE] NetworkEventManager::GetInstance()
    [NETWORK_MIDDLE] Already created...
    [NETWORK_MIDDLE] NetworkEventManager::t_OnEvent()
    [NETWORK_MIDDLE] [NetworkEventManager::t_OnEvent()] NetworkCommon::EVENT_NET_WIRELESS_MODULE_INSMOD_COMPLETE
    [AP_FRONTRUNNER/Fatal] 31 : [t_OnEvent][line:262] Wireless Module Loaded...
                     Player Recieve Event:[5326] !!!
                     Player Recieve Event:[5326] !!!
                     Player Recieve Event:[5326] !!!
                     Player Recieve Event:[5326] !!!
                     Player Recieve Event:[5326] !!!
                     Player Recieve Event:[5326] !!!
                     Player Recieve Event:[5326] !!!
                     Player Recieve Event:[5326] !!!
                     Player Recieve Event:[5326] !!!
    [DevMgr/Fatal] 32 : [t_OnEvent:304] DeviceManager::MESSAGE_FLASH_INFO_UPDATED : DeviceKEY(1), DeviceID(0)
    [AP_FRONTRUNNER/Fatal] 33 : [t_OnEvent][line:281] StartMonitoring Done...
                     Player Recieve Event:[5326] !!!
                     Player Recieve Event:[5326] !!!
                     Player Recieve Event:[5326] !!!
                     Player Recieve Event:[5326] !!!
                     Player Recieve Event:[5326] !!!
                     Player Recieve Event:[5326] !!!
                     Player Recieve Event:[5326] !!!
            usb_storage found...
            ehci_hcd found...
            usbcore found...
    [DevMgr/Fatal] 34 : [t_OnEvent:268] DeviceManager::MESSAGE_USB_INSMOD_COMPLETE : (11)
            ++++++++ [CCPTvUtil:GetModelCode:24] ModelCode:TV-32C550
    [dlna at 4] addinfo@[] cpSendMSearch with no ipaddr, currently ignore this
    [DevMgr/Fatal] 35 : [t_Main:510] All devices are initiated!!!
            >>[TDsAlps514Tuner] GetDevCaps: Called...
            >>[TDsAlps514Tuner] GetDevCaps: Called...
            >>[TDsAlps514Tuner] GetDevCaps: Called...
            >>[TDsAlps514Tuner] GetDevCaps: Called...
            >>[TDsAlps514Tuner] GetDevCaps: Called...
    ==================== DCSwdManager pid = 54
    [TDsX4Scaler::SetMute]m_eWindowId[0]  Mute On. 20ms [36950]
            >>[TDsAlps514Tuner] GetDevCaps: Called...
            >>[TDsAlps514Tuner] GetDevCaps: Called...
    IRQ 72 polling thread destroyed
    IRQ 72 polling fd closed!!
    IRQThread_72
    IRQ 72 polling thread destroyed
    IRQ 72 polling fd closed!!
    IRQThread_72
    ### eSrc 201, DDCompMode 1 (RFmode:1), Factory value 1, SDAL set value -9
    TDResolution_k : [24]
    TDResolutionInfo_t [1920], [1080], [0], [0], [2640], [1125], [0], [25000], [1], [0], [0], [0], [0], [0], [10], [0], [513]
    #TDResolution_k : [24]
    #TDResolutionInfo_t [1920], [1080], [0], [0], [2640], [1125], [0], [25000], [1], [0], [0], [0], [0], [0], [10], [0], [513]
            >>[ERR:TDaPanel.cpp] GetPanelConfigType():353 Input Option Error : 2
     SET 50 Hz m_VideoSetting.sScaleData.frameRate = 25000
    m_X4Picture_SetGamma_______________
    *****Game Mode OFF
    TDResolution_k : [24]
    TDResolutionInfo_t [1920], [1080], [0], [0], [2640], [1125], [0], [25000], [1], [0], [0], [0], [0], [0], [10], [0], [513]
    [[type=0]SetResolutionFlag]Aspect Ratio Change[2]!!
    [DEFAULT/Info] 36 : CALL ClearPESData!!!!!!
     SET 50 Hz m_VideoSetting.sScaleData.frameRate = 25000
    [▒ϢϢ▒  by AutoSizeMon[0] ▒ϢϢ▒] SourceId = 0x35, AFD=0, Aspect=2, SettingValue=0, Ctltype=3
    [TDsX4Scaler::SetMute]m_eWindowId[0]  Mute Off. 40ms [39420]
    

    Ну и конечно же, вы должны лицезреть прекрасную картинку вашего вновь работающего телевизора.

Итак, что же случилось, когда мы ввели комманду CB? Все дело в том, что как раз комманда CB инициирует подгрузку модулей для работы с USB накопителями, и в этот же момент, были активизированы скрипты SamyGO, которые и обнаружили специальные файлы на флешке, что и повлекло за собой восстановление системы.

ВНИМАНИЕ:
Никогда не редактируйте файл /mtd_rwarea/network_opt/usr/restore/start.sh, если вы там чего-либо накосячите, то телек будет очень сложно восстановить, так как скорее всего он не будет монтировать флешку, а значит и скрипт для восстановления запустить не удастся. Но все же выход есть (испытано на личном примере).

Как и было описано выше, для монтирования флешки мы используем команду CB, она то и заставит телевизор подгрузить необходимые драйвера для работы с USB накопителями. Затем, нам остается всего лишь создать файл на флешке SamyGO.sh, и уже в ней прописать необходимые нам команды, например: ls -al /mtd_rwarea/network_opt/ – просмотр содержимого директории. Не забываем в самом верху всех испоняемых файлов .sh вставлять строку: #!/bin/sh.

В моем случае был испорчен файл /mtd_rwarea/network_opt/usr/restore/start.sh, для его восстановления мне пришлось просмотреть содержимое этого файла: cat /mtd_rwarea/network_opt/usr/restore/start.sh >> $USB_FLASH/echo.txt 2>&1 – эта команда выводит в файл все содержимое скрипта и сохраняет его в корне флешки. Обнаружив где именно у меня была ошибка я исправил скрипт, сохранил его в корне флешки и скопировал обратно в /mtd_rwarea/network_opt/usr/restore/start.sh: /bin/cp $USB_FLASH/start.sh /mtd_rwarea/network_opt/usr/restore/ >> $USB_FLASH/echo.txt 2>&1.