Поля вендора: имя, OUI, PN, SN, дата
Блок вендора — это то, что хост показывает в show interface transceiver и с чем сравнивает его политика совместимости. Спецификации точно задают поля, их длины и кодировку — а хосты беспощадны к паддингу, регистру и лишним байтам. Здесь собраны правила, диапазоны байтов по спецификациям и ошибки, из-за которых исправный модуль читается как мусор.
Поля
| Поле | SFF-8472 (SFP, A0h) | SFF-8636 (QSFP, страница 00h) | CMIS (страница 00h) | INF-8077i (XFP) | Формат |
|---|---|---|---|---|---|
| Имя вендора | 20–35 | 148–163 | 129–144 | 148–163 | 16 ASCII |
| OUI вендора | 37–39 | 165–167 | 145–147 | 165–167 | 3 байта, выдаётся IEEE |
| Партномер | 40–55 | 168–183 | 148–163 | 168–183 | 16 ASCII |
| Ревизия | 56–59 | 184–185 | 164–165 | 184–185 | 4 / 2 / 2 / 2 ASCII |
| Серийный номер | 68–83 | 196–211 | 166–181 | 196–211 | 16 ASCII |
| Код даты | 84–91 | 212–219 | 182–189 | 212–219 | 8 ASCII |
| Код CLEI | — | страница 02h, при бите 4 байта 129 | 190–199 | — | 10 ASCII |
| Вендорская область | 96–127 (A0h), пользовательская EEPROM A2h 128–247 | 224–255, страница 02h | 223–255, пользовательские страницы | 224–255 | свободно |
Побайтовые карты: Карта памяти.
Правила кодировки
- Только ASCII, печатный диапазон 20h–7Eh. Никаких NUL (00h), FFh и управляющих символов.
- Выравнивание влево, паддинг пробелами (20h) до полной длины поля. За партномером из 10 символов идут шесть пробелов, а не шесть нулей.
- Имя вендора — имя производителя (или владельца бренда) как зарегистрировано; именно эту строку хосты сравнивают, как правило с учётом регистра.
- OUI — 24-битный организационный идентификатор IEEE компании из поля имени, старший байт первым; 00-00-00 означает «не задано». Хосты редко его проверяют, но несовпадение OUI и имени — простой отпечаток перекодированного модуля.
- Ревизия свободной формы (часто
A,01,1.0), пробелы, если нет. - Серийный номер должен быть уникален у вендора; многие зашивают год/неделю и счётчик; некоторые хосты по его структуре распознают свои модули.
- Код даты —
ГГММДДи 2-символьный код лота вендора (пробелы, если нет):240315= 15 марта 2024. - CLEI (Common Language Equipment Identifier) — 10-символьный телеком-код актива, встречается в основном у модулей для операторов.
С чем сверяются хосты
| Поведение хоста | Что сравнивает | Типично для |
|---|---|---|
| Поиск по имени + PN | имя вендора и партномер по таблице совместимости | большинства корпоративных коммутаторов |
| Префикс / семейство PN | первые символы PN | платформ с широкими списками «поддерживаемых семейств» |
| Вендорская сигнатура | хеш или магическое значение в вендорской области, вычисленное из SN и других полей | строгих OEM-локов |
| Шаблон SN | структура серийного номера | некоторых OEM, для гарантии и подлинности |
| OUI | идентификатор IEEE | редко; часть сетевых карт и NOS |
| Ничего | принимает всё с валидными контрольными суммами | открытых коммутаторов, большинства NIC с разрешёнными сторонними SFP |
Какая платформа что делает и как отвечать — тема материалов Вендор-лок и Сторонние модули.
Частые ошибки
| Ошибка | Симптом на хосте |
|---|---|
| Паддинг NUL вместо пробелов | обрезанное или искажённое имя, модуль помечен unsupported |
| Поле на байт длиннее, залезло в соседнее | испорчен OUI или PN, несовпадение контрольной суммы |
| Регистр отличается от эталона | PN не найден в таблице совместимости |
| Байты не ASCII (UTF-8, кириллица) | вопросительные знаки или отказ |
| Буквы в цифровых позициях кода даты | ошибки отображения; часть хостов отвергает |
| Блок вендора изменён, контрольные суммы нет | модуль invalid — см. Контрольные суммы |
| Имя изменено, вендорская сигнатура оставлена | по-прежнему unsupported на строгих платформах |
| Идентификация противоречит кодам соответствия или длине волны | speed and type not supported — см. Коды соответствия |
Вендорские области
Спецификации намеренно оставляют вендорские области неопределёнными. Производители хранят там резервные копии калибровки, производственные данные, конфигурацию контроллера и — у залоченных модулей — данные аутентификации. Слепая перезапись может убить модуль или сломать проверку лока; копирование из эталонного модуля без совпадающего серийника часто всё равно проверку не проходит. Считайте их непрозрачными, пока не знаете раскладку вендора (Перекодировка EEPROM).
В CodingBox
Редактор EEPROM правит каждое поле вендора как текст, добивает пробелами до точной длины, отказывается от ввода не-ASCII и пересчитывает контрольные суммы при записи. База кодов хранит полные идентификации, так что заведомо рабочий блок вендора применяется за один шаг.