Что такое прошивка модуля? Руководство по прошивке модулей

В ходе работы с активным сетевым оборудованием (коммутаторы, маршрутизаторы, медиаконвертеры и т. д.) пользователи сталкиваются с проблемой, когда съемный трансивер работает в оборудовании одной марки и не работает в другом. Например, модуль SFP 10km 1310 из коммутатора HP, по умолчанию не будет работать в коммутаторе Cisco. А вместо «Port Status: UP» в командной строке пользователь увидит сообщение «unsupported transceiver».

Модули Cisco GLC-LH-SMD и HP J4859C являются аппаратными аналогами. Вероятно проблема заключается в несовместимости внутреннего программного обеспечения модуля с коммутатором.

Для решения этой проблемы нужно сменить программное обеспечение трансивера на совместимое с конкретной маркой и моделью активного сетевого оборудования. Для смены ПО (прошивки модуля), понадобится:

  • Трансивер
  • Файл-прошивка
  • Программатор

Важно уточнить, что часто каждый производитель использует программатор модулей собственной разработки, но встречаются «универсальные программаторы».

Собрав все необходимое можно перепрошить модуль, процесс смены прошивки выглядит следующим образом:

  1. трансивер устанавливается в порт программатора
  2. выбирается файл с прошивкой
  3. код записывается в память модуля

На первый взгляд процесс перепрошивки прост, но в нем есть нюансы, ниже мы постараемся подробно объяснить, как прошить модуль.

программатор для модулей

Где находится внутреннее программное обеспечение модуля?

Внутреннее программное обеспечение – прошивка модуля хранится в энергонезависимой памяти – EEPROM.

Общий объём памяти у модулей SFP и SFP+ составляет 512 байт, его можно условно разделить на 4 области:

  • А0 0-127 – общая информация (артикул, серийный номер, дальность, длина волны и т.д.)
  • А0 128-255 – данная область зарезервирована для производителей, используется крайне редко.
  • А2 0-127 – здесь содержаться пороговые значения DDM и калибровочные значения параметров
  • А2 128-255 – зарезервирована для производителей. Часто используется для хранения информации о совместимости.

С каждой областью памяти модуля нужно работать отдельно. Часто необходимая для совместимости информация, заложена в области А0 0-127, в которой содержится общая информация. Для каждого SFP или SFP+ модуля эта область будет отличаться, как минимум серийным номером. Оборудование некоторых производителей для определения совместимости обращается к области А2 128-255, но, как правило, информация в ней будет одинаковой для моделей одного типа.

Общий объём памяти у XFP модулей составляет 768 байт, его можно условно разделить на 5 областей, по 128 байт:

  • Table00h – зарезервирована под дальнейшее возможное развитие функций диагностики (DDM)
  • Table01h – общая информация (артикул, серийный номер, дальность, длина волны и т.д.)
  • Table02h – предназначена для служебной информации производителя. Здесь содержится специфическая информация, предназначенная для хост-системы.
  • Table03h-7Fh – выделена под информацию, описывающую специфические функции
  • Table80h-FFh – зарезервирована для дальнейшего развития возможностей форм-фактора.

Как и в модулях SFP и SFP+, А0 0-127 в XFP – основной областью памяти является Table01h, в которой содержится информация. Сетевое оборудование некоторых вендоров обращается к области Table02h.

В высокоскоростных моделях, таких как QSFP+, CFP, QSFP28 и других, устройство внутренней памяти еще более сложное, но сохраняет общую логику: область с общей информацией, область с информацией для производителей, область со значениями DDM.

Что такое прошивка

Файл-прошивка для модулей представляет собой бинарный файл с расширением .bin и размером 128 байт – для прошивки одной области и 256 байт – для перепрошивки нескольких областей.

Международный стандарт описывающий адресное пространство модулей:

  • Спецификация MSA SFF-8472 описывает адресное пространство трансиверов SFP и SFP+;
  • Спецификация MSA INF-8077 описывает адресное пространство трансиверов XFP;
  • Спецификация MSA INF-8438 описывает адресное пространство трансиверов QSFP;
  • CFP MSA Management Interface Specification описывает адресное пространство трансиверов CFP.

Соглашения MSA четко определяют адресное пространство для каждого типа модулей, что позволяет производителям сетевого оборудования, добавлять в прошивку служебную информацию, проверив которую, коммутатор сделает заключение о совместимости конкретного устройства.

Что такое программатор модулей

прошивка sfp и sfp+ модулей

Для этой задачи потребуется специальное устройство – программатор (на англ. – programming board). Программатор модулей – это специализированное устройство для работы с внутренней памятью трансиверов различных форм-факторов, представляющее собой печатную плату:

  • с одним или несколькими слотами для модулей различных форм-факторов,
  • портом для подключения к компьютеру, зачастую, используется USB интерфейс,
  • портом питания.

Как правило, каждый производитель трансиверов использует программатор собственной разработки, но за счет стандартизации разметки внутренней памяти модулей обладая программатором одного производителя можно работать с трансиверами различных марок.

Важно понимать, что для каждого программатора в комплекте идёт собственное программное обеспечение, без которого с ним невозможно работать.

Функционал и возможности программного обеспечения отличаются. У некоторых производителей встречаются удобные программы, с большим набором настроек. Это делает их практичным выбором, но требует большей подготовленности персонала.

Другие программаторы дают меньше возможностей. Скрывая параметры записи, можно упростить пользовательский интерфейс. Это позволит избежать ошибки оператора, но сильно ограничит функционал программатора.

На рынке так же встречаются универсальные устройства сторонних разработчиков, которые позволяют работать с модулями разных производителей. В таких решениях больше настроек и шире возможности, но не стоит забывать, что это потребует от пользователя больших знаний и понимание процесса.

Некоторые поставщики OEM трансиверов предлагают «облачные» программаторы. Такие устройства оснащены портами для трансиверов распространённых форм-факторов – SFP, XFP, QSFP, CFP и требуют подключение к интернету. Их главная особенность заключается в том, что после установки модуля оператор выбирает производителя и модель (линейку) устройства, после чего программное обеспечение само генерирует прошивку и записывает её в память трансивера. Однако, у такого решения есть недостатки – они рассчитаны на работу с трансиверами только конкретного поставщика или с модулями без защиты от записи.

Процесс прошивки модулей

Процесс прошивки модулей всех форм-факторов выглядит одинаково:

  1. трансивер устанавливается в соответствующий порт программатора
  2. программатор инициализирует установленный трансивер и считывает с него внутреннее программное обеспечение
  3. выбирается файл-прошивки
  4. код записывается в память модуля
  5. производится проверка успешности перезаписи прошивки

Что бы убедиться, что перепрошивка прошла успешно и исключить ошибку считывания программатора, нужно извлечь модуль и установить его обратно. При чтении прошивки она должна совпадать с ранее записанной. Такой способ позволяет убедиться в корректности смены кода.

Как прошить SFP модули

перепрошивка медного SFP модуля

Проще всего перепрошить трансиверы форм-фактора SFP, так как они не защищены паролем и с ними можно работать любым программатором имеющим соответствующий разъем. Пароль на SFP устанавливается в редких случаях, например это может быть дорогостоящий модуль, предназначенный для работы на большое расстояние, более 100км. В остальном перепрошивка SFP модулей совпадает с описанным выше процессом.

Как прошить SFP+ и XFP модули

универсальный программатор для прошивки модулей

Смена внутреннего кода трансиверов форм-факторов SFP+ или XFP сопряжена с одной проблемой – защитой от записи. Стандартом MSA зарезервированы байты для ввода пароля. Пароль состоит из четырёх байт в шестнадцатеричной системе, и выглядит таким образом: 5A 68 80 A4 или 11 22 33 44.

Пароль используется для защиты от случайной перезаписи или порчи трансивера. Каждый производитель использует свой пароль. Таким образом, для перепрошивки SFP+ или XFP модулей необходимо знать пароль для записи. После ввода пароля в дальнейшем перепрошивка совпадает с описанным выше процессом.

Где скачать прошивки для модулей

Прошивки могут предоставлять: поставщик программатора или производитель трансиверов, реже реселлер. Разумеется, прошивки можно найти в интернете, так как инженеры обмениваются ими на форумах и пытаются составлять базы прошивок. Иногда можно добиться совместимости самостоятельно, вписав в нужные поля прошивки необходимую информацию

Оставьте комментарий

Ваш e-mail не будет опубликован.