CodingBox Q&A Ask question

Turris Omnia odmawia odblokowanego sticka GPON MA5671A: eth2 nigdy nie wstaje na Turris OS 5.0.3

Asked Active Viewed 200 AI translation from English
4

Próbuję zastąpić terminal ISP w domowej szafie stickiem GPON wpiętym prosto w router, żeby światłowód lądował w jednym pudełku zamiast w dwóch. Stick jest rozpoznawany i na tym dobre wieści się kończą.

  • Turris Omnia na Turris OS 5.0.3, standardowy kernel
  • stick GPON Huawei MA5671A z odblokowanym firmware, ustawiony na SGMII 1G
  • pigtail SC/APC z gniazdka ściennego do sticka
  • eth2 to port SFP

Moduł jest wykrywany, ale interfejs nigdy się nie aktywuje:

# dmesg | grep sfp
SFP module encoding does not support 8b10b nor 64b66b

eth2 zostaje potem w down, bez carriera, nic w licznikach.

Co już próbowałem:

  • przeflashowanie sticka z powrotem na stock firmware, co daje mi za to błąd odczytu EEPROM
  • wymuszenie prędkości przez ethtool -s eth2 1000 autoneg off duplex full, po czym interfejs siedzi na 10 Mbit half duplex
  • przeniesienie tego samego sticka do routera MikroTik, gdzie wstaje, jak tylko prędkość portu zostanie ustawiona ręcznie

Czyli sam moduł żyje, a strona światłowodowa jest w porządku. Co w sticku jest takiego, czemu kernel się sprzeciwia, i które sticki GPON faktycznie wstają na Omnii, zamiast być odrzucane?

Comments 4

Accepted answer

To jest problem po stronie hosta, nie martwy moduł. EEPROM w tych przerobionych stickach GPON deklaruje kodowanie, którego mainline'owy sterownik sfp nie zmapuje, phylink w związku z tym odmawia postawienia portu, a linijka, którą wkleiłeś, to sterownik mówiący dokładnie to. Twoje własne dowody wskazują to samo: identyczny stick łączy się na MikroTiku, jak tylko prędkość portu zostanie ustawiona ręcznie, więc optyka i strona PON są w porządku.

Jedyne, co u mnie ruszyło sprawę, to kernel wystarczająco nowy, żeby nieść specyficzne obejścia per moduł, co na Omnii oznaczało gałąź testową HBD z kernelem 5.4. Uprzedzam, że to tylko częściowe zwycięstwo i mocno zależy od tego, jaki masz stick. Na tym kernelu:

  • zmodyfikowany MA5671A: dalej odmowa, teraz narzeka, że module address swap to access page 0xA2 not supported
  • fabryczny MA5671A: failed to read EEPROM: -6, tak samo jak u ciebie
  • ZISA OP151S: port przełączył się w inband/1000base-x, ale nigdy się nie połączył
  • Nokia/Alcatel G-010S-A: odrzucony na swoich kodach zgodności
  • ZTE DFP-34G-2C2: połączył się na 1 Gbps i tak zostało

Więc jeśli chcesz mieć Omnię działającą teraz, a nie kiedyś tam, DFP-34G-2C2 to ten, który bym wstawił do klatki. Przetestuj na swoim sprzęcie, zanim się zdecydujesz, wyniki tutaj wyraźnie różnią się między stickami, a nawet między wersjami firmware tego samego.

3 CanadalantechCA Show original (English) AI translation

Dwie rzeczy warto ustalić, zanim ktokolwiek zacznie zgadywać. Po pierwsze, z jakiej gałęzi jest to 5.0.3 i jaki kernel zgłasza uname? Specyficzne obejścia SFP per moduł, których potrzebują te przerobione sticki GPON, wylądowały później, więc wysyłkowy stabilny kernel i testowy zachowują się bardzo różnie przy dokładnie tym samym module.

Po drugie, czy numer seryjny ONU jest zarejestrowany po stronie operatora? Stick, który nigdy nie zostanie autoryzowany na OLT, będzie tam siedział, wyglądając na martwy, a wielu operatorów w ogóle odmawia rejestracji ONU innego producenta.

I gdy go podłączasz, czy port w ogóle przełącza się w inband/1000base-x, czy log zatrzymuje się dokładnie na tym komunikacie o kodowaniu?

0 United Statestxnode67US Show original (English) AI translation

Gałąź stabilna, standardowy kernel dla 5.0.3, nic dołożonego na wierzch. Strona operatora nie jest tu problemem, to ten sam światłowód, a stick niesie zarejestrowany numer seryjny.

Log zatrzymuje się na linijce o kodowaniu, port nigdy nie przeskakuje w inband/1000base-x. To, co dostaję, zależy od firmware. Z odblokowanym:

SFP module encoding does not support 8b10b nor 64b66b

plus błąd nadawania zgłaszany przez moduł. Z fabrycznym firmware nawet tak daleko nie dochodzi:

failed to read EEPROM: -6

I jak mówiłem, wymuszenie prędkości nic zupełnie nie daje: po ethtool -s eth2 1000 autoneg off duplex full interfejs dalej siedzi na 10 Mbit half duplex.

1 GermanyqsfpadminDE Show original (English) AI translation

Jeszcze jeden tryb awarii do wykluczenia na tym samym routerze, bo wygląda podobnie, a nie ma nic wspólnego z kodowaniem. HALNy HL-GSFP na Turris OS HBS 6.2.4 był wykrywany, port nawet przełączył się w inband/1000base-x, potem link spadł i eth2 zostało w down.

Przyczyna: ten stick to sam w sobie mały komputer. Spędza coś koło minuty na podnoszeniu własnego firmware i dopiero potem odpowiada klatce czymkolwiek sensownym. Przy zimnym starcie router zagląda do klatki dużo wcześniej niż w tym momencie, więc wykrycie się nie udaje, a urządzenie po cichu wraca do miedzianych magnetyków WAN. Wydłużenie opóźnienia startu to naprawiło:

fw_setenv bootdelay 60

Sześćdziesiąt sekund zamiast domyślnych trzech, i ktoś inny z tym samym stickiem to potwierdził. Jeszcze dwie rzeczy, które pomogły: odłączyć miedziany kabel WAN i zrestartować jeszcze raz, oraz zalogować się do samego modułu, żeby zobaczyć, w jakim jest stanie, po serialu na 38400 8N1 albo po SSH na 192.168.77.154 port 22666.

2 United Statestxnode67US Show original (English) AI translation
Log in to comment. Log in