S-RJ01 в слоте SFP+ RB5009: автосогласование не завершается, порт застревает на 100 Мбит/с
Домашняя стойка, и у RB5009 ровно один слот SFP+. Я хотел получить из него второй медный гигабитный аплинк, вместо того чтобы тянуть оптику через комнату, так что вместо неё поставил медный модуль.
- MikroTik RB5009UG+S+IN, RouterOS 7.1rc4
- медный SFP MikroTik S-RJ01 1000BASE-T в sfp-sfpplus1
- патч Cat6, около трёх метров, в гигабитный коммутатор
- каждый другой порт на этом коммутаторе линкуется на 1G full с той же партией кабелей
Порт поднимается, но только на сотне:
/interface ethernet monitor sfp-sfpplus1
Auto Negotiation: incomplete
Rate: 100Mbps
Под нагрузкой интерфейс также накапливает ошибки пакетов TX/RX, чего не делает ни один из встроенных портов.
Что пробовал:
- выключить и включить интерфейс, несколько раз - иногда поднимается на 1G, в основном нет
- другой патч Cat6 и другой порт на дальнем коммутаторе
- зафиксировать порт дальнего коммутатора на 1G full duplex, что ничего не изменило с этой стороны
Это модуль, слот SFP+, от которого требуют работать с медным модулем на 1G, или релиз RouterOS? И есть ли что попробовать, не сдаваясь и не переходя на оптику?
Comments 6
Перестаньте согласовывать и зафиксируйте вручную. На каждой коробке MikroTik, где S-RJ01 у меня капризничал, вот что заставляло его держаться:
Затем прочитайте обратно через
/interface ethernet monitor sfp-sfpplus1.Что касается того, почему показание вас сбивает с толку: линия между хостовым портом и медным SFP на 1G всегда работает на битовой скорости SGMII в 1G, а 100 Мбит несётся по ней за счёт повторения каждого байта десять раз. Так что то, что хост печатает как скорость, не обязательно то, о чём медный PHY внутри модуля договорился с вашим коммутатором - две половины модуля могут не соглашаться друг с другом, и "incomplete" - это хостовая сторона, сдающаяся на своей части задачи.
Две оговорки. С выключенным автосогласованием на вашей стороне дальний конец тоже должен быть зафиксирован на 1 Гбит/с full duplex, иначе он свалится в half duplex, и вы поменяете проблему со скоростью на проблему с дуплексом, которую диагностировать хуже. И будьте честны с собой, что это обходной путь - исправления от вендора для этого нет, так что если этот порт несёт что-то важное, стоит попробовать медный модуль другого производителя в том же слоте.
Вы на 7.1rc4, и я тоже, так что эта часть уже совпадает - я бы скорее хотел знать, что сообщает дальний конец, пока ваша сторона говорит incomplete. Он тоже видит 100, или думает, что у него гигабитный линк?
Спрашиваю, потому что у меня S-RJ01 в RB4011iGS+ делает что-то очень похожее: он только иногда доходит до 1G, и только после выключения и включения порта. Я так и не понял, чем одна попытка отличается от следующей, и мне никогда не приходило в голову читать дальний коммутатор в тот же момент.
Дальний коммутатор согласен с моим - он тоже показывает линк на 100 Мбит, так что хотя бы оба конца не врут друг другу в разные стороны.
Выключение и включение помогает и здесь, но не надёжно: примерно одна попытка из четырёх возвращается на 1G, остальные приземляются на 100 Мбит с той же строкой
Auto Negotiation: incomplete. Когда он сидит на 100, счётчики ошибок под нагрузкой растут; в тех редких случаях, когда поднимается на 1G, они остаются плоскими.Осторожнее с этим как с общим рецептом, потому что собственная документация вендора для этих медных модулей говорит обратное: S-RJ01 и S+RJ10 описаны как требующие согласованных скорости и дуплекса, чтобы вообще работать, и согласно этой странице порт с вручную зафиксированной скоростью не должен поднимать линк. Практика на коробках RB5009 и RB4011 достаточно часто это опровергает, так что я бы просто попробовал оба варианта и оставил тот, что держится на вашем железе, а не доверял бы ни одному утверждению.
Не по теме, но на том же релизе: у меня S+85DLC03D в CRS318-16P-2S+ ронял линк несколько раз в день, так что я бы не считал каждую странность на порту SFP виной медного модуля.
И если когда-нибудь рассмотрите S+RJ10 для этого слота - он заметно больше потребляет и сильно греется, что не то, что нужно в пассивно охлаждаемой коробке без дополнительного обдува.
Более старая коробка, та же семья боли. CCR1016-12S-1S на 6.45.1 с двенадцатью медными модулями Finisar FCLF-8521-3, которые роутер упорно называл FCMJ-8521-3. Все двенадцать распознавались в списке модулей, и ни один не хотел линковаться - ни с коммутаторами Huawei, ни с ноутбуком, подключённым напрямую.
Что подняло каждый порт:
Важно было выключить flow control в обоих направлениях, и так же важен был цикл disable/enable - модули переинициализировались с новыми настройками только после него. Та же оговорка про необходимость фиксировать дальний конец на 1 Гбит/с full duplex, иначе он свалится в half.
Наполовину результат, так и сообщу. С выключенным автосогласованием и принудительным 1Гбит/с full-duplex на обоих концах порт держится на 1G, счётчики ошибок перестали расти, и лотерея disable/enable закончилась.
Что всё ещё не работает: старое устройство на 100 Мбит, которое я подключил напрямую к модулю, теперь вообще не получает линк, ни с какой стороны, как я его ни настраивай. Для этого плеча я поставил маленький гигабитный коммутатор между модулем и устройством и перестал с этим бороться. Так что аплинк пригоден к использованию, но я бы не назвал модуль исправленным.