SFPTotal Mini
Программатор SFPTotal Mini позволяет перепрограммировать SFP и SFP + трансиверы и предназначен для решения основных проблем, возникающих в практике интернет-провайдеров, поставщиков сетевого оборудования и системных интеграторов в процессе работы с оптическими трансиверами и коммутационным оборудованием, и требующим перепрограммирования трансиверов.
Устройство полностью совместимо в соответствии со спецификацией SFF-8074
SFPTotal Mini подключается к компьютеру через USB интерфейс, через который выполняется управление и питание устройства.
Для подключения трансиверов высокой мощности может использоваться внешний адаптер питания 5V DC.
Содержание
Применение
Программатор SFPTotal Mini используются для решения следующих задач:
- Программирование SFP / SFP + оптических трансиверов и твинаксиальных кабелей
- Обеспечение совместимости между сетевым оборудованием различных производителей
- Перепрограммирование памяти защищенных от записи трансиверов
- Изменение настроек контроллеров PHY
- Ребрендинг для OEM трансиверов
- Диагностика приемопередатчика путем считывания DDM
Быстрый старт
- Подключите SFPTotal Mini к компьютеру с помощью кабеля micro USB типа B.
- Установите драйвер для SFPTotal Mini
- Скачайте программное обеспечение SFPTotal Wizard
- Запустите SFPTotal Wizard
- Вставьте трансивер в порт программатора
- Прочитайте память трансивера
Элементы управления
LED индикаторы
- Индикатор POWER загорается, когда устройство подключено к компьютеру.
- Индикатор STATUS мигает, когда питание включено и устройство ждет подключения трансивера в порт SFP. Когда трансивер подключен, светодиодный индикатор постоянно горит.
- Индикатор ERROR постоянно горит, когда устройство работает с ошибкой или "зависает" шина данных.
- Индикатор TX_ENA загорается, когда контакты передатчика подключены к источнику питания.
- Индикатор RX_ENA загорается, когда ресивер контакты подключены к источнику питания.
Перемычки (джамперы)
- Размыкание TX отключает питание передатчика.
- Размыкание RX отключает питание приемника.
- Размыкание TXEN активирует режим пониженного энергопотребления (лазер отключен или светит с минимальной мощностью).
- Замыкание RS0 and RS1 подтягивает соответствующие контакты трансивера на землю.
Программное обеспечение
Для работы устройства используйте программное обеспечение SFPTotal Wizard версии 1.0.4.0 или выше.
Интерфейс управления
Устройство обеспечивает доступ к интерфейсу командной строки путем подключения через виртуальный последовательный порт. Вы можете использовать программатор без программного обеспечения SFPTotal Wizard, чтобы получить больше возможностей или реализовать функции, которые не доступны в стандартном программном обеспечении.
Используйте текущую спецификацию, чтобы получить информацию о командах, которые поддерживаются SFPTotal Mini.
Последовательный порт
Доступ к интерфейсу управления устройством может быть получен посредством подключения к интерфейсу последовательного порта.
Вы можете воспользоваться SFPTotal Wizard или любым специализированным программным обеспечением, поддерживающим работу с последовательным портом. Например, Putty.
Устройство поддерживает гибкие настройки baud rate, однако рекомендуется использовать значение 115200.
- Настройки по-умолчанию
- Baud rate: 115200
- Data bits: 8
- Parity: None
- Stop bits: 1
- Flow control: None
Команды управления
- CLI
После сброса устройства, командный интерфейс не возвращает вводимые символы. Данный режим должен быть использован при работе устройства с программным обеспечением SFPTotal Wizard.
Значение параметра по-умолчанию: CLI=0.
? CLI CLI=0 CLI=1
Используйте CLI=1 для включения отображения вводимых символов.
- STATUS
Данная команда возвращает текущее состояние выводов трансивера.
STATUS MOD_ABS=1; TX_FAULT=1; RX_LOS=1; TX_DIS=1
С версии прошивки 1.3.0 формат вывода изменен. Порядок параметров и значений соответствует предыдущему формату.
STATUS SFP : 1; 1; 1; 1;
TX_DIS
Команда управления режимом работы трансмиттера. По-умолчанию, трансивер находится в режиме пониженного энергопотребления (LPMODE). В этом режиме лазер трансивера отключен или светит с минимальной мощностью.
Чтобы активировать LPMODE, используйте команду TX_DIS=1. Данное состояние соответствует разомкнутому контакту TXEN на плате устройства.
Чтобы отключить LPMODE, используйте команду TX_DIS=0. Данное состояние соответствует замкнутому контакту TXEN на плате устройства.
TX_DIS=1 STATUS MOD_ABS=0; TX_FAULT=1; RX_LOS=0; TX_DIS=1 TX_DIS=0 STATUS MOD_ABS=0; TX_FAULT=1; RX_LOS=0; TX_DIS=0
- VERSION
Команда возвращает информацию об аппаратной версии устройства, серийном номере и версии прошивки.
VERSION SFPTotal Plus (c) 2015-2016 HW: 1.1 SW: 1.0.5 SN: SFPT-P1116021001
- I2CRATE
Внимание: Поддерживается только программаторами с версией прошивки 1.1.0 или выше.
Команда устанавливает скорость тактирования шины данных IIC.
I2CRATE=12 # Set up speed rate 100 kHz I2CRATE=40 # Set up speed 30 kHz I2CRATE=C6 # Set up speed 10 kHz
Чтобы узнать текущее значение, используйте команду: ? I2CRATE
? I2CRATE I2CRATE=C6
- I2CPAUSE
Внимание: Поддерживается только программаторами с версией прошивки 1.2.2 или выше.
Команда устанавливает интервал по времени между выполнением операций на шине данных IIC. Значения представлены в миллисекундах в HEX формате.
I2CPAUSE=20 # Set interval 32ms I2CPAUSE=32 # Set interval 50ms (for default) I2CPAUSE=64 # Set interval 100ms
Чтобы узнать текущее значение, используйте команду: ? I2CPAUSE
? I2CPAUSE I2CPAUSE=32
- BPS
Размер блока при записи данных в память трансивера. По-умолчанию: BPS=08 Стандартная запись фрагмента размером 128 байт в память осуществляется по 8 байт. При завершении записи блока инициируется запись нового блока установленного размера, пока весь фрагмент не будет записан.
? BPS BPS=08 BPS=01 # Set block size in 1 byte BPS=08 # Set block size in 8 bytes (default) BPS=80 # Set block size in 128 bytes
Некоторые трансиверы с защитой от записи могут быть чувствительными к размеру блока при сохранении изменений. Используйте варианты значений, представленные в примере.
- AUTO_WR_ADDTBL
Внимание: Поддерживается только программаторами с версией прошивки 1.1.0 или выше.
Если параметр установлен, программатор будет автоматически производить запись номера дополнительной таблицы, передаваемого в командах чтения или записи. По-умолчанию, AUTO_WR_ADDTBL=0
AUTO_WR_ADDTBL=1 AUTO_WR_ADDTBL=0
Чтобы узнать текущее значение, используйте команду: ? AUTO_WR_ADDTBL
? AUTO_WR_ADDTBL AUTO_WR_ADDTBL=0
Чтение и запись
- rXYYAABBCC (RXYYAABBCC)
Команда для чтение памяти трансивера.
R — (1 byte) — Символ команды чтения. Регистр символов отвечает за формат, в котором будет осуществлен вывод результатов чтения.
X — (1 byte) — Тип трансивера (1 - SFP, 2 - SFP+).
YY — (2 bytes) — Адрес устройства на шине данных. Например: A0 или A2.
AA — (2 bytes) — Номер дополнительной таблицы
BB — (2 bytes) — Значение смещения, по которому производится чтение. Значение в HEX.
СС — (2 bytes) — Количество байт в фрагменте, уменьшенное на 1. Например, для чтения 128 байт должно быть указано значение 7F (Пример: 128 => DEC->HEX => 80h; 80h - 1h = 7Fh)
r1A000007F Read 128 byte(s) Table 0xA0 from 0x00 ## 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 00 : 03 04 07 20 00 00 00 00 00 00 00 06 67 00 0A 64 01 : 00 00 00 00 4F 45 4D 20 20 20 20 20 20 20 20 20 02 : 00 20 20 20 00 00 00 00 31 30 47 42 2D 53 46 50 03 : 2D 4C 52 2D 45 20 20 20 31 2E 30 20 05 1E 00 F9 04 : 00 1A 00 00 45 58 50 39 36 4C 30 31 31 20 20 20 05 : 20 20 20 20 31 31 30 38 30 39 20 20 68 F0 03 02 06 : 45 58 54 52 45 4D 45 20 4C 52 00 00 00 00 00 00 07 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
R1A000007F 03040720000000000000000667000A64000000004F454D202020202020202020 0020202000000000313047422D5346502D4C522D45202020312E3020051E00F9 001A000045585039364C30313120202020202020313130383039202068F00302 45585452454D45204C5200000000000000000000000000000000000000000000
- wXYYAABBCC (WXYYAABBCC)
Команда для записи изменений в память трансивера.
w — (1 byte) — Символ команды записи. Регистр символов отвечает за последующее чтение после записи. Если вы используете верхний регистр (W), то после завершения записи, программист выполнит чтение области памяти, в которую производилась запись. Для записи без последующего чтения необходимо использовать символ команды нижнем регистре (w).
X — (1 byte) — Тип трансивера (1 - SFP, 2 - SFP+).
YY — (2 bytes) — Адрес устройства на шине данных. Например: A0 или A2.
AA — (2 bytes) — Номер дополнительной таблицы
BB — (2 bytes) — Значение смещения, по которому производится запись. Значение в HEX.
СС — (2 bytes) — Количество байт в фрагменте, уменьшенное на 1. Например, для записи 4 байт должно быть указано значение 03.
{DATA} — Данные для записи. Значение должно быть представлено в HEX с использованием символов верхнего регистра
Пример
Запись фрагмента 128 Байт в таблицу A0h по смещению 00 в память трансивера SFP:
W1A000007F 03040720000000000000000667000A64000000004F454D202020202020202020 0020202000000000313047422D5346502D4C522D45202020312E3020051E00F9 001A000045585039364C30313120202020202020313130383039202068F00302 45585452454D45204C5200000000000000000000000000000000000000000000
Пример записи пароля 0123 (HEX: 30h 31h 32h 33h) в таблицу A2h по смещению 7B для стандартного SFP+ трансивера:
w2A2007B0330313233
Внимание: Команда должна быть представлена одной строкой без символов пробела и переносов. Форматирование в примере приведено для удобства.
Режим аппаратного поиска паролей
Начиная с версии прошивки 1.2.3 была добавлена функция, которая позволяет осуществлять аппаратный поиск паролей для защищенных от записи трансиверов без участия программного обеспечения SFPTotal Wizard. С помощью данной функции может быть осуществлен более быстрый поиск паролей в широком диапазоне значений.
Внимание: В связи с большим количеством вариантов и физическими ограничениями скорости шины данных для эффективной записи, рекомендуем в первую очередь попробовать поиск пароля по словарю
Как это работает?
Чтобы проверить пароль, программатор выполняет следующие операции:
- Запись пароля в заданную настройками область ввода пароля
- Запись контрольного слова из 8 байт в область Vendor name
- Чтение памяти трансивера из области Vendor name
- Сравнение контрольного слова с результатами чтения
Программатор последовательно вводит значения пароля в пределах заданного диапазона, затем записывает контрольное слово «SFPTOTAL» (8 байт) в таблицу A0h по смещению 14h. После чего производит сравнение данных, которые были прочитаны после записи контрольного слова.
Если сравниваемые данные совпадают с контрольным словом, значит, запись успешна. Программатор автоматически остановит процесс поиска паролей и вернет текущий пароль в результате успешного поиска.
Данная функция была разработана и используется для тестирования трансиверов, работающих по стандарту MSA SFF-8472. Данная функция не будет эффективна в случае, если логика программирования отличается от стандарта или требуется специальная команда для сохранения изменений в памяти трансивера. Поэтому рекомендуем проверить спецификацию на трансивер перед использованием данной функции.
- BFSET
Команда устанавливает параметры поиска пароля и запускает процесс.
BFSET A2 7B AAAAAAAA FFFFFFFF CCCCCCCC
A2 - Адрес таблицы, куда должен осуществляться ввод пароля. Для XFP и QSFP ввод пароля осуществляется в A0.
7B - Смещение, по которому осуществляется ввод первого байта пароля.
AAAAAAAA - Начало диапазона значений
FFFFFFFF - Конец диапазона значений
CCCCCCCC - Значение пароля, с которого необходимо начать поиск
Рекомендуемые диапазоны поиска
BFSET A2 7B 41414141 5A5A5A5A 41414141 # A-Z BFSET A2 7B 61616161 7A7A7A7A 61616161 # a-z BFSET A2 FC 30303030 39393939 30303030 # 0-9 BFSET A2 7B 20202020 7A7A7A7A 24367621 # Symbols + Numeric + Literal
- BFSTOP
Команда останавливает процесс. Поиск может быть продолжен с места остановки командой BFSTART.
- BFSTART
Команда запускает поиск с заданными настройками начиная со значения, на котором процесс был остановлен.
- ? BFPASS
Команда возвращает текущее значение пароля в процессе поиска. Применимо, когда используется режим CLI=0 и текущее значение не выводится через командный интерфейс.
- BFCWADR
Задает адрес устройства для ввода контрольного слова. По-умолчанию, BFCWADR=A0
- BFCWOFT
Задает смещение для ввода контрольного слова. По-умолчанию, BFCWOFT=14.
Внимание: для трансиверов XFP и QSFP необходимо использовать значение BFCWOFT=94.
Как запустить процесс поиска для SFP+ трансивера?
BFCWADR=A0 BFCWOFT=14 BFSET A2 7B 20202020 7A7A7A7A 20202020
Примечание
Если вы нашли неточности или ошибки в документации, пожалуйста, обратитесь в службу поддержки для исправления.