Обновление firmware роутеров Wive-NG-HQ с помощью ACS сервера GenieACS
Роутеры Wive-NG-HQ имеют встроенный централизованный механизм обновления firmware. Достаточно простой, нужно всего лишь два клика в панели управления, “Загрузить” и “Обновить”, что бы пользоваться обновлённым программным обеспечением (ПО) на маршрутизаторе.
Однако типичный абонент оператора связи не обновляет ПО, зачем? Если всё работает. А другая часть абонентов вообще не имеет представления “обо всём вот этом вот вашем компьютерном”.
С помощью ACS сервера можно удалённо запустить процесс проверки наличия обновления и при положительном результате запустить сам процесс обновления.
Для этого необходимо создать файл с произвольным именем в котором будет только одно слово – autoupdate. Кодировка ascii, без пробелов, знаков препинания и/или переносов строки. И отправить его в виде обновления на маршрутизатор стандартным для CWMP способом.
В GenieACS загрузим предварительно этот файл в разделе Admin->Files. С названием файла долго не думал, будет просто “autoupdate”.
Provision-скрипт выглядит очень просто:
//update firmware
declare("Downloads.[FileType:1 Firmware Upgrade Image]", {path: 1}, {path: 1});
declare("Downloads.[FileType:1 Firmware Upgrade Image].FileName", {value: 1}, {value: "autoupdate"});
declare("Downloads.[FileType:1 Firmware Upgrade Image].Download", {value: 1}, {value: Date.now()});
declare("Tags.Updated", null, {value: true});
Скрипт запускает процесс обновления на роутере и отмечает его в ACS тэгом Updated.
А что бы не обновлять уже обновлённые устройства в пресете например поставим условие
Tags.Updated IS NULL
В результате все устройства не имеющие этого тэга будут обновлены. А обновлённые будут пропущены.
Внимание. Т.к. процесс обновления нельзя прерывать, это может привести к неработоспособности устройства. А во время обновления роутер “не раздаёт интернет”. Необходимо предусмотреть меры что бы абонент в попытках узнать или исправить “проблему” отсутствия интернета не перезагрузил или отключил CPE.