модульное свинство

Posted: 2018-02-14 in Hardware, IT
Метки:, , ,

Есть такая вещь, как приёмно-передающие модули с разъёмами SFP/SFP+/XFP.

Идея была проста и изящна — при разработке сетевого оборудования производителю вообще не надо озадачиваться особенностями физлинка, реализуя только интерфейс к приёмо-передатчику. А уже особенности физической среды реализует небольшой вставляемый модуль, в зависимости от которого один и тот же интерфейс может быть хоть медным, хоть оптическим, хоть по одному волокну, хоть по двум, на разных длинах волн, с разной мощностью сигнала и так далее.

Поскольку типов модулей существует масса, то для хранения их парамтеров в модули добавили немножко памяти — EEPROM на 256 байт, из которых последние 128 обычно заполнены байтами 0xFF.
И вот в первых 128 байтах собственно и сохранены название модуля, его серийник, флаги поддерживаемых режимов работы, длины волн и прочая техническая информация.

Но не забыли и про возможность расширения, оставив часть полей под «Vendor Specific Data». Особо жадные корпорасты этим воспользовались в любимой манере, попытавшись замутить вендор-лок на свои модули. То есть сперва компании, делающие железки, нанимают китайцев, чтобы те перемаркировали оптические модули неким $brand_name, попутно зашив в такие перемаркированные модули некие бинарные метки в вендорскую область еепром, который железка может проверить.

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

service unsupported-transceiver
no errdisable detect cause gbic-invalid
no errdisable detect cause sfp-config-mismatch

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

Наиболее качественная связка софт/железо под такую задачу на сегодня — https://sfptotal.com/
Но есть одна проблема — софт под виндовс, и USB-программатор не работает нормально, будучи проброшенным в виртуалбокс — нужен стенд с виндой-на-железе. Какими-либо извратами заставить работать софтину в другой связке пока что не удалось.

Ценность софтины — в удобном интерфейсе для редактирования еепрома оптических модулей.
Тему таких прошивок поднимали даже на ромбае, а на наге вообще отдельная ветка на фторуме есть.
Помочь же в поиске подходящей прошивки может также сайт с дампами таких прошивок — http://sfpdb.freetime.su/ .

Про саму софтину рассказывать нечего — там совмещен редактор дампа еепром + добавлены кнопки чтение/записи в еепром через программатор.

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

Ну и в качестве бонуса — архив разных прошивок такого типа (ZIP-in-BASE64).

https://aminux.files.wordpress.com/2018/02/sfp-xfp-eeprom-amin-zip-base64.key
https://aminux.files.wordpress.com/2018/02/sfp-xfp-eeprom-from-digsi-zip-base64.key
https://aminux.files.wordpress.com/2018/02/sfp-xfp-eeprom-nag-forum-zip-base64.key

Реклама
- комментарии
  1. BhNO3:

    Почему-то напоминает, как эпичная konami зашивала в картриджи свою метку и если игра её не находила, то выдавала феерические глюки. А мы и не подозревали, что картриджи могут быть пераццкими.

  2. Karman:

    Госпадя. Ну замаркируй что твое. А лок то зачем ставить. Бляяя 1 кб и тут уж залезли.
    Пиздец, у сиротинушек крошки отбирают.

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.