Внимание! Цифровое эфирное телевидение на территории Российской Федерации абсолютно бесплатное. Остерегайтесь мошенников! ->>>

Восстановление приставки на MStar после неудачной прошивки

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

Как правило, такое происходит, когда приставка имеет несколько аппаратных ревизий, а пользователь не прочитал для какой именно ревизии предназначалась та или иная скачанная прошивка.

Или же пытались прошить вообще чужой прошивкой в надежде получить какие-то преимущества для своей модели, либо, например, пытаясь получить поддержку кодека AC-3 (Dolby Digital), не зная, что она определяется конкретным процессором, установленным на плате на заводе.
И если в процессоре изначально не было оплаченной лицензии AC-3, то никакие прошивки — ни от родственных, ни от чужих моделей — в этом деле не помогут.

Сразу оговоримся: здесь не рассматриваются случаи, когда приставка не загружается из-за высохших электролитических конденсаторов, перегоревших DC-DC преобразователей или неисправности самой микросхемы флеш-памяти. Эти вопросы обсуждаются в специализированных группах, например, ВКонтакте: https://vk.com/remontdvbt2
Но обращаться туда следует, имея хотя бы минимальные знания и практический опыт ремонта техники.

Ниже перечислю 4 варианта решения: первые два способа подходят для всех приставок и ещё два — только для приставок на процессорах MStar, причем один из них даже без вскрытия и затрат.


Самой простой вариант проблемы — приставка загрузилась, но перестала реагировать на пульт.
Покупаем пульт той приставки чью прошивку подсовывали или же универсальный пульт, например, Huayu DVB-T2+2 для приставок:
В перечисленных городах он стоит всего лишь 140 р. и это совсем небольшая плата за свою оплошность. Тем более что пульт потом в любом случае пригодится.

И, соответственно, с помощью этого пульта прошиваем приставку обратно на свою родную прошивку.


Самый универсальный и кардинальный способ решения — разобрать приставку, выпаять флеш-память, прошить через программатор дамп, где-то заранее скачанный, и затем запаять микросхему обратно:

Всё это потребует как минимум паяльника, программатора (пусть даже и простейшего SPIPGM на 4 резисторах), ну а главное — хотя бы минимального опыта, а иначе можно сделать только хуже.

Напомню, что дамп для приставок на MStar легко получить из самой обычной заводской прошивки usb_upgrade_all_flash.bin отрезав от неё первые 4096 байт, а остальное можно забить до конца, например, 00.

Если приставка на процессоре Novatek, то аналогично, но отрезать от прошивки только первые 80 байт.

А если приставка на процессоре ALi, то её прошивка (файл с расширением .abs) сама является дампом.

Размер файла дампа = размеру флеш-памяти, т.е. ровно 4 мегабайта = 4194304 байта.


Однако для приставок на процессоре MStar есть гораздо более изящный способ прошивки без необходимости «Выпаивания > Программирования > Впаивания» микросхемы флеш-памяти — а просто через USB с использованием консоли, подключенной к UART процессора.

На платах приставок MStar есть две контактные площадки, подписанные TX и RX или SDA и SCL, соответственно. Иногда они обозначены просто как контрольные точки, например, TP8, TP10.

У MSD7816 от TX и RX идут к 95, 94 контактам процессора, MSD7802 — 60, 59, MSD7T01 — 36, 35.

Подключаемся к ним через преобразователь TTL — RS232 или DATA-кабель от старого сотового телефона.

На компьютере запускаем любую терминальную программу, например, PuTTY, и подключаемся к соответствующему COM-порту с параметрами 115200 8N1.

После включения приставки — сразу нажимаем любую клавишу, чтобы попасть в консоль загрузчика:

UART_115200
BIST0-OK
_snPDMDrv_PM_RtcGetCounter(CurrentCounter=0)

Hello U-Boot

Hit any key to stop autoboot: 0

« MStar »#

И далее — последовательно даём команды:
Инициализация флешки:

« MStar »# usb reset

просмотр списка файлов:

« MStar »# fatls usb 0:1

загрузка подготовленного файла прошивки без первых 4096 байт в оперативную память (0x80000000):

« MStar »# fatload usb 0:1 0x80000000 bez_4096_bait.bin

запись из памяти в SPI-флеш (0x0):

« MStar »# spi_wrc 0x80000000 0x0 0x400000

выполняем перезагрузку:

« MStar »# reset

После загрузки желательно сбросить в заводские настройки.

Т.о. здесь уже не требуется навыков аккуратного паяния и не нужен программатор, но всё-таки потребуется сделать или приобрести консольный шнур-преобразователь.


Но, как оказалось, у приставок на процессоре MStar есть ещё гораздо более простой и элегантный способ, не требующий никаких финансовых затрат или виртуозного владения паяльником.

И при этом приставку даже открывать не надо.

Если включить приставку в розетку, то на консоли можно заметить, что система обращается к USB-порту:

Check USB port[0]:
??? Waiting for Peripheral Connecting Fail…
usb init failed
Error, couldn’t init Lowlevel part

А т.к. флешки нет, то система продолжит обычный процесс загрузки.

Но если вставить флешку (даже пустую) и включить в розетку, то на экране кратковременно мелькнет SOFTWARE UPGRADE ERROR:

А в консоли увидим следующее (далее выделено мной):

not found osd language env!!!
reading /flash.bin

** Unable to read «/flash.bin» from usb 0:1 **
cmd fatload usb 0 80000000 /flash.bin 0x400000 failed

not found osd language env!!!
cmd setenv USBUpdateFail 1 success
cmd setenv USBUpdateFlag 0 success

Приставка ищет файл flash.bin размером 4 мегабайта (4194304 байта).

Но если попытаться подсунуть ей обычный где-то слитый или подготовленный дамп, просто переименованный во flash.bin, то всё равно ничего не будет — кратковременно промелькнет надпись LOADING DATA…:

Но сразу же всё равно закончится ошибкой — SOFTWARE UPGRADE ERROR:


Однако в консоли можно заметить:

not found osd language env!!!
reading /flash.bin

4194304 bytes read
cmd fatload usb 0 80000000 /flash.bin 0x400000 success
u32UbootInfoAddr: 0x4D957
K1_INFO_ADDR: 0x80000
AppMagicFlag is correct !!
CRC check error !!
not found osd language env!!!

Т.е. файл flash.bin не понравился ей, потому что он не имеет в конце контрольной суммы CRC-32.

Надо подсчитать CRC-32 первых 4194300 байт дампа, а затем в последние 4 байта вбить саму CRC-32 в обратном порядке.

Подсчет можно сделать с помощью одной из программ или же в Интернете, выбрав вариант CRC-32B:
нажимаем кнопку Выберите файл и указываем на подготовленный файл дампа с первыми 4194300 байтами (т.е. без последних 4 байт!).
И затем ниже нажимаем кнопку Преобразовать файл.

После загрузки подготовленного файла и подсчета CRC-32 результат будет выглядеть примерно так:

HEX: B8C5126C

Теперь полученные 4 байта B8 C5 12 6C вбиваем в конец flash.bin в обратном порядке: 6C 12 C5 B8.

Втыкаем флешку с flash.bin в приставку и включаем приставку в розетку.

Результат (выделено наиболее важное):

not found osd language env!!!
reading /flash.bin

4194304 bytes read
cmd fatload usb 0 80000000 /flash.bin 0x400000 success
u32UbootInfoAddr: 0x4D957
K1_INFO_ADDR: 0x80000
AppMagicFlag is correct !!
CRC check success !!
spi_wrc 0x80000000 0x00000 0x400000
0
offset 0x0, size 0x400000
Flash is detected (0x0C00, 0xC8, 0x40, 0x16)
initialization done!
MDrv_SERFLASH_GetInfo()
u32AccessWidth = 1
u32TotalSize = 4194304
u32SecNum = 64
u32SecSize = 65536
Erasing…
Writing…
Verifying…OK !!!

cmd spi_wrc 0x80000000 0x00000 0x400000 success
not found osd language env!!!
spi_rdc 0x80B00000 0x23000 0x10000
offset 0x23000, size 0x10000
WARNING: it is better to set flash start addr aligned to 65536 !!!
cmd spi_rdc 0x80B00000 0x23000 0x10000 success
u32UbootInfoAddr: 0x4D957
K1_INFO_ADDR: 0x80000
spi_rdc 0x80B00000 0x80000 0x10000
offset 0x80000, size 0x10000
cmd spi_rdc 0x80B00000 0x80000 0x10000 success
setenv bootcmd ‘ spi_rdc 0x80B00000 0x8001C 0x2AFBE1; LzmaDec 0x80B00000 0x2AFBE1 0x80000180 0x81000000; go 0x80000224;
cmd setenv bootcmd ‘ spi_rdc 0x80B00000 0x8001C 0x2AFBE1; LzmaDec 0x80B00000 0x2AFBE1 0x80000180 0x81000000; go 0x80000224; success
Saving Environment to spiflash…
Flash is detected (0x0C00, 0xC8, 0x40, 0x16)
Write addr=0x003E0000, size=0x00010000
Write addr=0x003F0000, size=0x00010000
cmd saveenv success
cmd setenv USBUpdateFail 0 success
cmd setenv USBUpdateFlag 0 success
Saving Environment to spiflash…

Этот же процесс на экране:

И просто для сравнения — стандартное обновление приставки через флешку — UPGRADING SOFTWARE:

При обычном обновлении название может быть не только usb_upgrade_all_flash.bin, но в принципе любым. А вот при процедуре восстановления только flash.bin с обязательной CRC-32 в конце файла.

Неслучайно выше выделял — воткнуть в розетку, т.к. процесс восстановления запускается только при холодном старте.
Из дежурного режима проверка flash.bin не происходит.

После завершения восстановления удалите с флешки файл flash.bin, чтобы приставка не прошивалась каждый раз при включении в розетку или пропаданиях электроэнергии.

Итак, еще раз по шагам:

  1. Найти/скачать или создать из прошивки файл дампа (4194304 байта).
  2. Подсчитать CRC-32 первых 4194300 байт дампа. Для этого лучше временно создать отдельный файл.
  3. Полученные 4 байта CRC-32 вбить в конец дампа в обратном порядке.
  4. Переименовать файл дампа во flash.bin и скопировать на чистую флешку.
  5. Вставить флешку в приставку.
  6. Включить приставку в розетку.
  7. Наблюдать на экране за процессом.
  8. После восстановления удалить с флешки файл flash.bin !

Каким способом воспользоваться каждый решает сам: кому-то проще купить универсальный пульт, вернув себе управление приставкой, для кого-то владение паяльником и программатором не проблема, ну а кто-то, не прибегая к затратам, может попытаться восстановить одной лишь силой разума.

В любом случае, как всегда стоит ещё раз напомнить:

ВСЁ, ЧТО ВЫ ДЕЛАЕТЕ СО СВОЕЙ ПРИСТАВКОЙ, ВЫ ДЕЛАЕТЕ НА СВОЙ СТРАХ И РИСК!

Восстановление приставки на MStar после неудачной прошивки
5 (100%) Всего оценок: 9

Задать вопросы о цифровом телевидении можно на форуме DVBpro

4 комментария к записи " Восстановление приставки на MStar после неудачной прошивки "

  1. Slay:

    Полезная статья. Все разжевано и предельно понятно. Кто в теме, тому будет полезно почитать. Спасибо.

  2. Рома:

    Достаточно полезная статья, спасибо !

  3. Power:

    Если есть прошивка , которая автоматически обновляется с USВ
    Как узнать адреса распаковки ?

Оставьте ваш комментарий


КОНТАКТЫ | СОТРУДНИЧЕСТВО | ПАРТНЕРЫ | ТВ ПРОГРАММА | О САЙТЕ | ОПТОВИКАМ

Все права защищены © 2010-2017, Цифровое телевидение. Копирование материалов разрешено только при установке прямой ссылки на DVBpro.ru
Реклама: Хотите узнать цены на оборудование для приёма цифрового телевидения в Китае? Используйте поисковик товаров Китае на Chinaprices.ru!

 Желтые страницы по спутниковому и кабельному ТВ Мир новостей спутникового и эфирного ТВ!