Opened 2 years ago

Last modified 2 years ago

#585 closed баг

Ошибки на портe 9 с оптическим SFP — at Version 12

Reported by: san Owned by: alx
Priority: высокий Milestone: 1 очередь
Component: sw Keywords:
Cc:

Description (last modified by san)

Дефект проявляется на всех сочетаниях оптических модулей/патчкордов/плат SW-01 которые пробовали (порядка 10 плат SW-01). Эти же модули и патчкорды работают без ошибок при установке в GE-12.

Схема - две sw-01 включённые друг на друга через оптику(SFP 10-nb километровые). При включении питания иногда одна или обе sw-01 начинают регистрировать ошибки badcrc/Frag/Collisions по приёму. Ошибок достаточно много, пропорционально трафику.

Если выдернуть оптический патчкорд и сунуть обратно - ошибки прекращаются.
Если когда ошибки заблокировать порт и разблокировать - тоже ошибки прекращаются.

С медными sfp такого не наблюдается

  • Дефект воспроизводится сразу после включения, если нет ошибок после включения, то дальше они и не появляются.
  • При перезапуске платы SW-01 кнопочкой перезагрузка в веб-интерфейсе - дефект также воспроизводится.
  • если "дёрнуть линк" ошибки больше не появляются до перезагрузки
  • пробовали дёргать линк много раз - это не приводит к появлению ошибок, только при включении питания / перезагрузке.

Как выглядят ошибки можно посмотреть на стенде:
Блоки 192.168.20.111 и 192.168.20.160 соединены полутораметровым оптическим патчкордом.

Change History (12)

comment:1 by alx, 2 years ago

Ты считаешь, что ошибки ложные?

comment:2 by alx, 2 years ago

Понаблюдал за поведением счетчика ошибок, отображаемого в веб-интерфейсе. Отображаемое значение монотонно увеличивается с течением времени мелкими шагами.

Программа платы SW-01 сама подсчетом ошибок не занимается. В данном контексте все, что делает программа - это читает значение счетчиков из коммутатора ethernet и передает прочитанные значения для отображения веб-интерфейсу. Если бы в программе имел место баг (например значение счетчика искажалось при чтении из регистра коммутатора), было бы логично ожидать более хаотичное поведение отображаемых значений - значения бы прыгали вперед и назад, время от времени были очень большими и т.п (кстати, подобный баг когда-то действительно был). Ничего подобного сейчас не наблюдается. Я предполагаю, что значения счетчиков отображаются верно, то есть коммутатор действительно фиксирует ошибки.

in reply to:  description comment:3 by alx, 2 years ago

Replying to san:

Как выглядят ошибки можно посмотреть на стенде:
Блоки 192.168.20.111 и 192.168.20.160 соединены полутораметровым оптическим патчкордом.

Из переписки в Telegram по данной проблеме я узнал некоторые дополнительные детали, не указанные в описании тикета. А зря, так как это может быть причиной проблемы. Во-первых, в качестве линейного тракта используется одномодовое волокно. Во-вторых, в линейном тракте установлен оптический аттенюатор.

Полтора метра - очень маленькая длина для одномодового кабеля. При такой длине паразитные моды не успевают затухнуть, и при использовании аттенюатора (который представляет собой просто зазор между входным и выходным волокнами) создают интерференционную картину, что делает величину затухания непредсказуемой и нестабильной. Такой короткий кабель не может использоваться с аттенюатором. С подобной проблемой я когда-то сталкивался, работая в Интеллектронике, и выше приведенное объяснение - со слов специалиста по ВОЛС, который нам помог консультацией. Для подобной схемы соединения длина патчкорда должна составлять не менее 30-50 метров. И аттенюатор, конечно же, должен устанавливаться на входе, а не на выходе (уточняю на всякий случай, так как не знаю, где он установлен сейчас).

in reply to:  description comment:4 by alx, 2 years ago

Replying to san:

Эти же модули и патчкорды работают без ошибок при установке в GE-12.

Во-первых, не уточняется, использовался ли с платой GE-12 аттенюатор, или только патчкорды.

Во-вторых, откуда известно, что плата работала без ошибок, если в ней нет счетчиков ошибок (по крайней мере, ошибки не отображаются в веб-интерфейсе платы)? В веб-интерфейсе отображаются только счетчики "AS" и "UAS", которые, согласно Руководству по эксплуатации, отображают время, в течение которого интерфейс был в рабочем состоянии и был недоступен соответственно. Что значит "в рабочем состоянии" и "недоступен", в руководстве не уточняется. Предполагаю, что "в рабочем состоянии" подразумевает всего лишь наличие сигнала на входе. Таким образом, имеющиеся в плате счетчики ничего не говорят о наличии или отсутствии ошибок CRC.

В-третьих, насколько я знаю, оптический интерфейс платы GE-12 вообще не является интерфейсом ethernet. Это какой-то проприетарный интерфейс. Лично мне вообще неизвестно есть ли там вообще контроль CRC. Вполне может быть, что ошибок CRC там не может быть в принципе - в виду отсутствия CRC... Таким образом, отсутствие ошибок не говорит о том, что линейный тракт работает хорошо.

Last edited 2 years ago by alx (previous) (diff)

comment:5 by san, 2 years ago

Ты считаешь, что ошибки ложные?

Нет, ошибки действительно есть. Я пропускаю некоторый трафик через это соединение и часть пакетов пропадает.

во-вторых, в линейном тракте установлен оптический аттенюатор.

Сейчас без аттенюатора включено

Во-вторых, откуда известно, что плата работала без ошибок, если в ней нет счетчиков ошибок

Внешними средствами проверяли что трафик проходит.

comment:6 by san, 2 years ago

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

in reply to:  5 comment:7 by alx, 2 years ago

Replying to san:

Ты считаешь, что ошибки ложные?

Нет, ошибки действительно есть.

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

во-вторых, в линейном тракте установлен оптический аттенюатор.

Сейчас без аттенюатора включено

О, это существенное уточнение!

comment:8 by san, 2 years ago

Тогда непонятно, что ты считаешь багом

Предпосылок для возникновения ошибок нет, однако ошибки есть.

То что этот баг устраняется "програмно" (блокировкой/разблокировкой) наводит на мысль о том что и сам баг тоже программный.

Прямо сейчас можно сделать "обходной путь" - дёргать линком порта при включении платы и это решит проблему, насколько я вижу. Но хотелось бы найти и устранить саму причину.

in reply to:  8 comment:9 by alx, 2 years ago

Replying to san:

То что этот баг устраняется "програмно" (блокировкой/разблокировкой) наводит на мысль о том что и сам баг тоже программный.

Спасибо за пояснение, теперь мысль понятна. Это, как мне кажется, нетрудно проверить, просто остановив программу командой killall -9 swd (предварительно запустив ее с -w чтобы watchdog не сработал). Если ошибки не прекратятся - значит это не программный баг.

Прошу провести такой эксперимент.

Last edited 2 years ago by alx (previous) (diff)

comment:10 by san, 2 years ago

Не думаю что убийство swd прекратит ошибки)
Я имел в виду что какая-то особенность инициализации порта или модуля SFP возможно приводит к такому состоянию порта или модуля.

comment:11 by san, 2 years ago

При перезапуске платы SW-01 кнопочкой перезагрузка в веб-интерфейсе - ошибки также появляются.

comment:12 by san, 2 years ago

Description: modified (diff)
Note: See TracTickets for help on using tickets.