Немного теории
Приставка при каждом включении отправляет на сервер SDP (платформа Wink) первый пакет со следующими данными:
- MAC адрес
- User-Agent
- UID (SAN) – уникальный идентификатор абонента, учётная запись.
По полученным данным SDP определяет тип приставки и вид вещания (IPTV или OTT) для данной учётной записи.
Таким образом, получив этот запрос SDP сервер может направить свой ответ по двум путям:
- Секция настроек для IPTV
- Секция настроек для OTT
После этого, в зависимости от типа вещания, сервер SDP присылает URL адрес по которому приставке следует работать дальше. Именно поэтому, одна и та же модель приставки, активированная логин/паролем уже не сможет работать на сети любого провайдера, а только по мультикасту внутри сети Ростелеком и наоборот.
Между тем, сервер SDP, зная модель приставки, направляет запросы в папку со свежей прошивкой для этой модели. Приставка сообщает какая у неё прошивка, если номер окажется ниже версии в папке прошивки, то начинается скачивание свежей прошивки в приставку. После скачивания, приставка распаковывает файл прошивки, обновляется, перегружается, и далее всё с начала как описано выше. Важно отметить, что этот процесс может происходить несколько раз, особенно, если прошивка у приставки сильно устарела. На практике это выглядит как неоднократное обновление с последующей перезагрузкой. Возможно вам понадобиться вручную перегрузить приставку для дальнейшего обновления.
Приставка IPTV первоначально пытается загрузить прошивку из мультикаст потока, по протоколу norm. Если загрузка не началась, то переключается на протокол HTTP. ОТТ приставка, в отличии от IPTV начинает сразу скачивание по протоколу HTTP (т.к. ей недоступен мультикаст сети Ростелеком).
Особенности нумерации версий ПО
Прошивки Linux STB и Android STB состоят из двух компонентов:
- Операционная система
- Приложение Wink
Когда выпускается новая версия ПО она имеет две нумерации:
- версию прошивки
- версию приложения Wink
Версию приложения Wink можно посмотреть на вашей ТВ-приставке:
Мое – Помощь – Информация о системе – Система – Версия приложения.
Проверить версию своей прошивки:
Моё – Настройки – Информация о системе – Система.
В поле «Версия прошивки» будет указан номер вашей текущей прошивки.
Во время анонсов разработчики оперируем сразу двумя значениями (версия прошивки и версия приложения). Например, «Новая прошивка для Linux STB 7.60 (1.68)» или «Новая прошивка для Android STB 1.26 (1.68)»
В данном случае «7.60» и «1.26» – это версия прошивки, а «1.68» – это версия приложения Wink.
Обновление прошивки
Автоматическое обновление
В большинстве случаев приставка получает обновление автоматически описанным выше образом. О выходе новой версии ПО STB (на Linux) ничего не знает пока не будет перезагружена.
Приставки на Android могут выводить оповещение, что доступно обновление по аналогии со смартфонами. Зайдите в магазин приложений, выберите Wink, и если есть обновление для вас, появится кнопка “обновить”.
Чтобы поддерживать актуальность прошивки в разных регионах возможна принудительная (дистанционная) перезагрузка приставок в часы, когда она бездействует. Происходит это преимущественно в ночные часы, приставка включена, но бездействует.
Обновление прошивки с USB накопителя
Требование к накопителю:
- Объём “флешки” не должен превышать 8 Гб. Для старых приставок эта цифра может быть и меньше – до 4 Гб.
- USB накопитель в обязательном порядке должен быть отформатирован в FAT32. Настоятельно рекомендую использовать программу SDFormatter.
Для обновления прошивки приставки по USB необходимо выполнить следующие действия:
-
- Скачать прошивку с надёжного источника и убедиться, что прошивка именно для вашей модели приставки. “Защиты от дурака” может не оказаться в ПО и тогда вы испортите необратимо своё устройство.
- Если прошивка упакована в архив – извлечь. Обязательно переименовать в firmware.bin. Для Андроид приставок – update.zip
- Записать прошивку на предварительно отформатированную флешку и подключить USB-накопитель к приставке.
- Включить приставку. Процесс обновления можно проконтролировать по сообщениям на экране телевизора. Для Андроид приставок флешку подключают к включенной приставке, предложение обновиться появиться через 10-15 секунд.
Примечание:
- Для прошивки приставки MAG250 на флешке нужно предварительно создать папку mag250 и уже в неё поместить файл прошивки.
- При включении приставка должна получить IP адрес по DHCP от роутера, иначе она будет стоять на месте и ждать. Интернет при этом должен быть выключен. Это легко организовать, вытащив провод из разъёма WAN роутера.
- Приставки Motorola vip1003 и её клон Arris имеют особенность – после прошивки должны ещё раз перегрузиться и продолжить прошивку. То есть у них прошивка проходит в два прохода.
- Прошивка до актуальной версии может проходить в несколько этапов – до 4х раз. Помните, что после прошивки, перегружайте приставку до тех пор, пока предложения о новом обновлении не пропадёт.
Принудительная прошивка приставки более ранней версией
В некоторых случаях, а именно:
- Приставка “ходит по кругу”, – загружается не полностью и уходит в перезагрузку
- Flash-память приставки (NAND) имеет “битые” сектора
- Приставка ранее была перепрошита на отличное от официальной версии ПО (взломанная)
- Неудачное обновление – неправильной прошивкой, прерывание процесса прошивки (например, отключение света)
требуется произвести прошивку более ранней версией – downgrade.
Чтобы принудительно прошить приставку более ранней версией создайте в той же директории, что и firmware.bin, файл firmware.bin.config с содержимым force=1.
Обновление прошивки через TFTP сервер
Суть обновления заключается в установке и настройке TFTP сервера, например, TFTPD32 с последующей “заливкой” файла прошивки на приставку. Сервер и приставка должны находиться в изолированной локальной сети чтобы им ничего не мешало и не перехватывало запросы сервера. Многие сетевые устройства поддерживают только такой способ обновления ПО. Справедливости ради, надо отметить, что это не самый удачный и простой способ обновить прошивку на телевизионных приставках. Рассматривать в пределах этой статьи мы этот способ не будем.
Обновление прошивки через мультикаст
В самом начале статьи было упомянуто следующее “Приставка IPTV первоначально пытается загрузить прошивку из мультикаст потока, по протоколу norm”. На этом принципе и состоит способ обновления/восстановления прошивки. Благодаря этому методу, удаётся восстановить даже “окирпиченные” устройства, когда другие способы обновления не помогли.
Вкратце это выглядит так: запускается сервер – стример мультикаста, включается приставка, и последняя получает файл по мультикаст протоколу как в своей родной стихии.
Ниже на картинке показано как выглядит окно сервера при обновлении прошивки на mag-250
По итогу
Разобрав все (почти) доступные способы обновления и восстановления прошивки, остаётся порекомендовать и остановиться на способе обновления прошивки с USB накопителя. Это самый простой и действенный способ. Вам нужно лишь найти нужное ПО, переименовать файл в firmware.bin, а рядом на флешке разместить firmware.bin.config. Включить приставку и наблюдать ход обновления на экране.
https://internet-lab.ru/usb_reduce
https://lumpics.ru/firmware-for-mag-250-set-top-box/