У каждого оператора связи разная логика работы сети, во многих случаях потребуется перенастройка SNR-CPE под требования сети для работы всех сервисов. С помощью GenieACS можно настроить автоматическую загрузку конфига при нужных условиях, либо производить массовое изменение настроек выбранных CPE. В конечном итоге это экономит временной ресурс, а конечному пользователю не нужно взаимодействовать и перенастраивать оборудование.
Автоматическое изменение конфига
По умолчанию в SNR-CPE для беспроводной сети 5ГГц задан канал 44, на примере разберем как изменить на автоматический выбор канала.
Добавьте подобный скрипт, для этого перейдите в раздел Admin >> Provisions >> New, вставьте скрипт и сохраните.
const now = Date.now(); declare("InternetGatewayDevice.LANDevice.1.WLANConfiguration.11.AutoChannelEnable",{value:now},{value:true});
const now = Date.now() - объявляем константу now, которая обозначает текущий отрезок времени.
declare - задаем параметру значение которое он должен принять.
"InternetGatewayDevice.LANDevice.1.WLANConfiguration.11.AutoChannelEnable" - параметр отвечающий за включение/отключение автовыбора каналов на сети 5ГГц, может принимать значение true/false.
По итогу этот скрипт установит автоматический выбор канала для сети 5ГГц. Изменение других параметров настраиваются аналогично.
Далее создайте предустановку в Admin >> Presets и нажмите кнопку New. Задайте нужные параметры для предустанови, выберите Provision script созданный ранее и сохраните.
Подобный вариант автоматической настройки подойдет при первичной установки CPE у конечного пользователя, поэтому в поле Events можно использовать события "1 BOOT" или"0 BOOTSTRAP". Также в этой инструкции рассказано про добавление Tag на CPE, в примере при первичной загрузке присваивался тег START. Учитывая что этот тег добавляется на не настроенные CPE, то можно в Precondition можно добавить условие, из-за которого настройки из скрипта меняются только у CPE с тегом START.
Tags.START IS NOT NULL
И чтобы предустановка при каждом подходящем событии не выполнялась можно через этот же скрипт удалять тег добавив строку.
declare("Tags.SNR-CPE-ME2-Lite", null, {value: false});
После этого крипт больше не смоет взаимодействовать с данным CPE т.к. он более не подходит по условию.
Ручное изменение конфига
Помимо изменения значений параметров в дереве можно загрузить конфигурационный файл. Предварительно загрузите конфигурационный файл на сервер в разделе Admin >> Files. После нажмите Push File, выберите нужный файл и нажмите нажимаем Queue и Commit, начнется загрузка.
Из минусов можно отметить, что в GenieACS отсутствует UploadRPC и выгрузить файл в нужном формате для его редактирования не получится. Для выгрузки файла перейдите в web-интерфей, раздел Администрирование >> Управление >> Сохранить настройки в файл, будет загружен файл config.dat. Этот файл нужно переименовать в mysystem с расширением .cfg, после поместить его в созданную отдельно папку /tmp и добавить в архив .tar.gz. Пример формата готового файла в архиве можно скачать здесь.
Массовое изменение конфига
Если требуется массово изменить значение параметра на n количестве CPE, то по аналогии с автоматическим изменением конфига потребуется сделать скрипт с нужным параметром, но при этом изменить логику старта скрипта. Точно также создаем предустановку, но уже с другим значением Events - "M Reboot". Данное событие происходит при перезагрузке CPE со стороны ACS, следовательно, для срабатывания предустаноки делаем массовую перезагрузку нужных CPE. В разделе Devices выбираем нужные CPE, нажимаем Reboot, после перезагрузки происходит событие "M Reboot" и срабатывает предустановка со сменой значений параметров.
Автоматическое и массовое изменение конфига с помощью конфигурационного файла
В случае использования одинаковых моделей CPE подойдет способ автоматической загрузки файл с настройками, который будет подходить для конкретной модели.
1. Подготовьте архив с конфигурационным файлом: перейдите в web-интерфей, раздел Администрирование >> Управление >> Сохранить настройки в файл, будет загружен файл config.dat. Этот файл нужно переименовать в mysystem с расширением .cfg, после поместить его в созданную отдельно папку /tmp и добавить в архив .tar.gz. Пример формата готового файла в архиве можно скачать здесь.
Чтобы названия и пароли Wi-Fi сетей не повторялись, потребуются отредактировать конфигурационный файл. Найдите следующие строки и после знака = удалите все символы
SSID1= (Имя сети 2.4ГГц)
SSID1INIC= (Имя сети 5ГГц)
WPAPSK1= (Пароль сети 2.4ГГц)
WPAPSK1INIC= (Пароль сети 5ГГц)
При отсутствии символов после знака =, значения данных параметров будут приведены к заводским и не будут повторяться.
2. Загрузите созданный архив на сервер в разделе Admin >> Files и нажмите New, в поле Type выберете 3 Vendor Configuration File, остальные пункты можно не заполнять.
3. Добавьте ниже показанный скрипт, для этого перейдите в раздел Admin >> Provisions >> New, вставьте скрипт и сохраните. Этот скрипт будет загружать файл на CPE.
declare("Downloads.[FileType:3 Vendor Configuration File]", {path: 1}, {path: 1}); declare("Downloads.[FileType:3 Vendor Configuration File].FileName", {value: 1}, {value: "mysystem.tar.gz"}); declare("Downloads.[FileType:3 Vendor Configuration File].Download", {value: 1}, {value: Date.now()});
mysystem.tar.gz замените на название вашего файла
4. Создайте предустановку в Admin >> Presets и нажмите кнопку New. Задайте нужные вам параметры для предустановки.
- Name - здесь можно задать имя для предустановки.
- Channel - используется для логической группировки предустановок. При сбое одной из предустановок на канале, все другие предустновки на этом канале временно перестанут работать.
- Weight - меняется вес, предустановки с большим весом имеют приоритет.
- Schedule - задается время работы предустановки в cron формате.
- Events - предустановка будет выполняться при получении указанного кода события. Хороший вариант для данного примера использовать событие "0 BOOTSTRAP". При данном событие файл будет загружаться при первичном подключении роутера к ACS и при сбросе его до заводских настроек.
- Precondition - можно задать условие при котором предустановка будет работать или наоборот.
- Provision - здесь выбирается скрипт с которым работает предустановка. Выбираем ранее созданный скрипт.
- Arguments - можно передать внешние параметры для предустановки.
Данный скрипт с кодом события "0 BOOTSTRAP" можно использовать при первичной установки роутера. Роутер будет отправлять на ACS код "0 BOOTSTRAP", при получении кода сработает скрипт и на роутер будет загружен конфигурационный файл.