Описание работы подсистемы автоматического обновления ПО для MAG540 RDKR + сервер XConf

Оригинал документа: https://docs.google.com/document/d/1Myk3HMgUD3EzKpBIgmrZV43MfjMFhn2eyPLE2GNAip0/edit?tab=t.0#heading=h.cdi9rkkugc2q

https://wiki.rdkcentral.com/display/RDK/Firmware+Upgrade

https://wiki.rdkcentral.com/display/RDK/Firmware+Upgrade+using+XCONF+Server

https://rdkcentral.github.io/rdkservices/#/api/SystemPlugin

Текущая реализация в MAG540 RDKR

Запрос проверки обновлений со стороны СТБ

При старте СТБ. Отложенный запрос ~2 мин. Чувствителен к NTP. Если при старте подсистемы обновления время еще не успело синхронизироваться, то запрос будет через ~24 часа

Далее, автоматически, каждые 24 часа (по умолчанию) * Таймайут можно изменить, передав в ответе сервера (переменную RetryDelay) :

Запрос от СТБ. В запросе передаются след переменные (Пример):

eStbMac=00:1A:79:7B:C0:E0 firmwareVersion=311a38.MyTV.26.St model=MAG540 operatorId=Gibfibre #Все сборки для клиентов собираются с уникальным ''operatorId''

Сервер, на основе полученных переменных, отработает имеющееся у него правило для той или иной переменной или их комбинации. Пример: Для eStbMac=00:1A:79:7B:C0:E0 настроено правило: отдать версию 311a38.MyTV.26

Ответ сервера (текущий пример настройки для всех MAG540 RDKR)

cloudFWVersion: 311a38.MyTV.26 cloudFWLocation: https://docs.infomir.com.ua/pub/.fw_stb/rdk/540/.L1/Gibfibre/311a38.MyTV.26/ cloudImmediateRebootFlag: true #флаг перезагрузки

Подсистема обновления на СТБ получив ответ сравнивает строки firmwareVersion и cloudFWVersion. Если полученная в ответе строка отличаются от текущей на СТБ, запустится процесс обновления. Обновление происходит на фоне и если cloudImmediateRebootFlag: true, то произойдет принудительная перезагрузка

Расширенный вариант ответа

cloudFWVersion: 311a38.MyTV.26 cloudFWLocation: https://docs.infomir.com.ua/pub/.fw_stb/rdk/540/.L1/Gibfibre/311a38.MyTV.26/ cloudRetryDelay: 60 #Тайтмаут след. запроса в минутах. Если не указан, то 24 часа cloudImmediateRebootFlag: false #флаг перезагрузки

Начиная с версии портала 26 (311a38.<Short_Op_Name>.26), если cloudImmediateRebootFlag: false, реализовано всплывающее сообщение поверх всех окон. В этом случае пользователь может отложить перезагрузку. Таймайт напоминания ~5 мин

Начиная с версии портала 27 реализована безусловная проверка обновления при старте “Loadera”, перед загрузкой портала/приложения. Флаг cloudImmediateRebootFlag игнорируется, перезагрузка принудительная. Портал 27 присутствует только в последних сборках Simplware Demo (311a38.swpd.wv.27)