«Сын спрашивает отца-программиста: «Папа, а почему солнце встает на востоке?" - "Ты это проверял?" - "Да". - "Работает?" - "Да". - "Каждый день работает?" - "Да". - Тогда сынок, ради бога, ничего не трогай, ничего не меняй!
[bash.im]
Пожалуй, всем приходилось видеть уведомление на экране смартфона – «Доступно обновление. Установить?». Очередное улучшение от производителя, исправление ошибок или просто закрытие дыр в безопасности? «Разработчик не предоставил информацию». Обычно мы просто закрываем такое уведомление, ведь всё и так работает.
С точки зрения пользователя, есть интерес в новых функциях и устранении ошибок. С точки зрения устройства, обновление – достаточно рискованный и сложный процесс, требующий четкого выполнения инструкций. Один неправильный шаг и дорогой девайс превратится в бесполезный кирпич.
Что нового
Первое, о чем надо задуматься, это потребность в обновлении. Приносит ли новая прошивка нужные нам функции? Компактный OLT от ZTE – модель С320, предназначен для оптического абонентского доступа. Распространенная версия ПО – V1.2.5P3. Последняя версия V2.1.0. Посмотрим на главные различия:
Новая прошивка включает поддержку новых плат доступа – симметричный XGPON и комбинированный GPON/ XGPON. Стоит отметить, что по сравнению с аналогичной платой оборудования Huawei, комбинированная плата от ZTE имеет режимы работы портов либо GPON, либо XGPON, но не одновременно.
Облегчена настройка терминалов в режиме роутера – в протокол OMCC добавлена поддержка конфигурации L3-уровня. Теперь можно настроить терминалы удаленно, присвоив им IP-интерфейс и разрешив доступ по Telnet/HTTP.
Включена поддержка технологии MPLS, в том числе для организации защищенных частных сетей L2VPN.
Протокол DHCP теперь может работать в режиме Client, то есть OLT может получить IP-адрес от сервера.
Включена поддержка динамической маршрутизации RIP.
В новой прошивке можно использовать протокол TFTP для загрузки файлов.
Включена поддержка протоколов для мониторинга качества сети, EFM для мониторинга линков, CFM и Y.1731 для мониторинга сервисов.
Как все устроено
Архитектура программного обеспечения устроена следующим образом: каждая плата, включая контроллер, имеет свой загрузчик, прошивку, а также подгружает текущее программное обеспечение из контроллера. Все необходимые файлы хранятся на контроллере (SMXA).
При включении питания сначала запускаются загрузчики всех плат. Далее контроллер передает файлы прошивки и программного обеспечения для каждой сервисной платы, если она загрузилась исправно. Если плата имеет загрузчик, несовместимый с текущей версией ПО, контроллер ее не увидит, и она теряет управление.
Стоит также отметить, что сам контроллер хранит для себя 2 версии файла программного обеспечения - smxa0.mvr и smxa1.mvr. Их можно переключать при необходимости отката, об этом будет ниже.
Подготовка к апгрейду
1. Питание
Если вы решили обновиться, то первое, о чем нужно подумать, это обеспечение бесперебойного питания. Это может быть батарея, ИБП или резервный ввод 48V от УЭПС. Включаем OLT.
2. Файлы
Необходимые файлы для прошивки выбираются, исходя из комплектации плат, например:
- gtghg.bt
- gtghg.fw
- gtghg.mvr
- gtgog.bt
- gtgog.fw
- gtgog.mvr
- gtxk.bt
- gtxk.mvr
- pm.fw
- smxa.bt
- smxa.fw
- smxa0.mvr
3. Настройка ПК
Необходимо подготовить ПК, настроить IP-адрес, находящийся в одной сети с интерфейсом mng1 на OLT. По умолчанию IP 136.1.1.100/16. Соединяем ПК с OLT через Ethernet. На OLT необходимо использовать порт 10/100M. Проверяем успешные ли пинги.
4. FTP-сервер
На ПК поднимаем FTP-сервер (например Filezilla).
Запускаем сервер
Запускаем интерфейс настройки Filezilla
Настроим аккаунт FTP-сервера
Создаем логин, пароль. Например zte/ zte
Настраиваем папки, куда будем скачивать бекапы и откуда будем загружать прошивку
Указываем сетевой интерфейс, который соединен с C320
Сервер готов
5. RS-232.
Подключаемся к OLT через последовательный порт, так как важно будет наблюдать за процессом перезагрузки устройства.
6. Проверка плат.
После полной загрузки OLT (порядка 10 минут), проверяем чтобы статус всех плат был INSERVICE.
7. Настраиваем параметры FTP-сервера на OLT, это IP-адрес, папка, логин/ пароль.
# interface mng1
boot-server 192.168.0.111 path <download>
boot-username zte
boot-password zte
8. Проверяем текущую версию.
9. Выполняем резервное копирование текущей конфигурации. Она не будет совместима с новой версией, но ее можно будет восстановить в текстовом виде. Пропускаем этот шаг, если шасси новое и без конфигурации.
upload cfg startrun.dat
По умолчанию файл конфигурации в OLT называется startrun.dat, если вы его не меняли. Для восстановления конфигурации его можно прочитать текстовым редактором.
10. Выполняем резервное копирование текущей прошивки. Если что-то пойдет не так, будет возможность вернуться назад.
upload img *
Звездочка указывает, что необходимо скачать все файлы, относящиеся к прошивке, это *.bt *.mvr *.fw.
Процесс апгрейда
1. Загружаем в память контроллера новые файлы, перезаписывая существующие.
Сначала загружаем файлы для сервисных плат, затем для контроллера.
Сначала загрузчик, потом ПО и прошивку (BT → .MVR → .FW).
(.bt)
- # download img gtgog.bt
- # download img gtghg.bt
- # download img etto.bt
- # download img etgod.bt
- # download img gtxk.bt
- # download img smxa.bt
(.mvr)
- # download img gtgog.mvr
- # download img gtghg.mvr
- # download img gtxk.mvr
- # download img etxk.mvr
- # download img etto.mvr
- # download img etgo.mvr
- # download img smxa0.mvr
- # download img smxa1.mvr
(.fw)
- # download img gtxk.fw
- # download img gtgog.fw
- # download img gtghg.fw
- # download img etxk.fw
- # download img etto.fw
- # download img etgo.fw
- # download img smxa.fw
2. Синхронизируем файлы основного контроллера с резервным (при наличии).
Если второй контроллер изначально был в статусе Standby, резервирование выполнится автоматически. Если второй контроллер был установлен после команды download, выполняем:
sync-file img
3. Проверяем загруженные файлы:
show version-saved master
show version-saved slave (*при наличии второго контроллера)
4. Обновляем загрузчик. Сначала сервисные карты, потом контроллер!
update-boot slotno 1
update-boot slotno 2
update-boot slotno 3
update-boot slotno 4
Производитель в своей документации каждый раз напоминает об этом:
5. Обновляем ПО путем перезагрузки контроллера.
reboot
6. После перезагрузки проверяем загруженную версию ПО.
show version-running
7. Проверяем версию прошивки чипа.
CPLD - Complex Programmable Logic Device
8. Если прошивка микросхемы CPLD нуждается в обновлении, выставляем флаг NextRebootUpdate “1”
update-cpld slotno 1 swtval 1
update-cpld slotno 2 swtval 1
Данный флаг говорит о том, что при перезагрузке платы будет обновлена прошивка чипа.
9. Проверяем статус обновления микросхемы.
NEW – значит флаг обновления выставлен.
10. Выполняем горячий рестарт сервисных карт для выполнения обновления микросхемы
reset-card slotno 1
Confirm to reset card? [yes/no]:y
11. Сохраняем конфигурацию и перезагружаем контроллер.
write
reboot
12. Проверяем обновление микросхемы сервисных карт:
Прошивка завершена, в некоторых случаях может потребоваться откат:
swapver
Команда загружает версию smxa0.mvr вместо smxa1.mvr
Посмотреть какая версия активна в настоящий момент:
show version-saved
в колонке Active активная версия с цифрой 1.
В завершение можно отметить, что подготовка к прошивке — это половина дела. Работа с программным обеспечением — это всегда сложный процесс, требующий правильного выполнения инструкций. Надеюсь, полученные скиллы помогут вам в достижении поставленных целей!