Нет линка: чек-лист
Порт, который не поднимается, — самый частый оптический тикет и тот, что чаще всего решают методом проб и ошибок. Этот чек-лист упорядочивает проверки по тому, насколько они дёшевы и как часто находят неисправность. Идите по порядку: каждый шаг либо поднимает линк, либо отсекает целый класс причин.
1. Модуль вообще виден?
- Хост:
show interfaces <if> transceiver(или аналог по NOS). Ничего не показано → модуль не сел, клетка отключена или хост не может прочитать его EEPROM. - Переставьте плотно; попробуйте другой порт; проверьте модуль на столе в CodingBox (Check transceiver) — если стол читает, а коммутатор нет, подозревайте порт.
2. Он принят?
- Статус unsupported / invalid / Mod_Inv / errdisable → идентификация, которую хост не узнаёт. В этом состоянии лазер часто выключен хостом, поэтому Rx на дальнем конце покажет −40 дБм, хотя ничего не сломано.
- Решение: разрешить сторонние модули на хосте или закодировать идентификацию → Вендор-лок.
3. Передатчик включён?
- Порт административно up? Функции гашения лазера (UDLD, защита от петель, «лазер выключен до линка») отключены на время теста?
- Класс SFP: пин/бит TX_DISABLE сброшен (A2h байт 110), нет TX_FAULT. QSFP: байт 86 Tx disable сброшен. CMIS: состояние модуля Ready, data-path Activated (Проблемы CMIS).
- Проверка на столе: DDM в CodingBox показывает мощность Tx — если −40 дБм при включённом Tx, модуль мёртв.
4. Свет доходит до дальнего конца?
Прочитайте мощность Rx на обоих концах (Уровни DDM):
| Показание Rx | Смысл | Дальше |
|---|---|---|
| −40 дБм (пол) на обоих концах | свет не приходит ни туда, ни обратно | обрыв, патч не вставлен, Tx/Rx перепутаны, неверная пара BiDi |
| −40 дБм только на одном конце | одно направление тёмное | Tx мёртв или выключен на другой стороне; одно волокно пары порвано |
| Ниже чувствительности (например, −25 дБм на PIN) | свет есть, но слишком слабый | грязные разъёмы, не тот диапазон, бюджет превышен → шаг 6 |
| Выше перегрузки (> −3…0 дБм) | слишком много света | дальнобойный модуль на коротком пролёте → аттенюатор |
| В окне на обоих концах | с оптикой всё хорошо | проблема не оптическая → шаг 7 |
5. Концы физически совпадают?
- Один тип волокна (одномод / многомод), одна длина волны / пара BiDi, CWDM-модуль в нужном порту мультиплексора, APC и UPC не смешаны, полярность и штифты MPO верны, Tx→Rx не перепутаны → Несовпадения физического уровня.
6. Бюджет сходится?
- Осмотреть и почистить каждый разъём на пути (осмотр → чистка → осмотр).
- Сравнить с базой инсталляции или посчитать бюджет: Единицы и пересчёты, Мультиплексоры CWDM и бюджет линии.
- Всё ещё низко → OTDR пролёта (Флап линка).
7. Скорость, FEC и режим совпадают?
- Оба конца на одной скорости и FEC (RS-FEC обязателен для 25G+/PAM4); AN и обучение линка включены на DAC; breakout настроен на обоих портах хоста; медный SFP SGMII vs 1000BASE-X → Скорость и режимы, FEC и обучение линка.
- Собственные коды скорости модуля согласованы с задуманной скоростью (байт 12 / коды соответствия).
8. Модулю разрешено работать?
- Класс мощности vs возможности порта; модуль удержан в LowPwr; перегрев → Питание и тепло.
9. Изолируйте подменой
- Подставьте заведомо исправный модуль поочерёдно на каждом конце.
- Петля: соедините Tx модуля с его же Rx коротким патчем (дальнобойный модуль сначала ослабить) — линк в петле доказывает исправность модуля и порта; неисправность в хозяйстве или на дальнем конце.
- Поменяйте патч-корд, затем порт.
10. Читайте логи
Счётчики интерфейса и syslog на обоих концах обычно называют слой: LOS, unsupported, FEC uncorrectable, speed mismatch, power exceeds. Сопоставьте сообщение с индексом по симптомам.
В CodingBox
Два чтения на столе закрывают большую часть перечисленного за минуту: Check transceiver — идентификация, длина волны, волокно/дальность и коды скорости (шаги 2, 5, 7), DDM — мощность Tx/Rx и флаги (шаги 3–4). Если модуль на столе здоров, перестаньте винить его и вернитесь к хозяйству.
Шаги выше зеркалят то, что сам хост делает при вставке; последовательность хоста с пинами, байтами и таймингами — в Что делает хост.