xvzf / zyxel-gpon-sfp

Telekom FTTH with OpenWRT/PfSense/VyOS/Mikrotik/... (Reverse engineering Zyxel PMG3000-D20B GPON SFP)
191 stars 26 forks source link

Zyxel GPON SFP not usable in Juniper SRX300 (HSGMII problem?) #33

Open PeterFnord opened 1 month ago

PeterFnord commented 1 month ago

Hello everyone,

I am currently trying to get the Zyxel GPON module to work with a Juniper SRX300. The module is recognized, but the console continuously throws the following errors, which lead to a crash of the PFE after a few minutes, and as a result all ports are switched off;

twsi0: Device timeout on unit 0 (flowd_octeon_hm, Read, 0x51) twsi0: Device timeout on unit 0 (flowd_octeon_hm, Read, 0x51) twsi0: Device timeout on unit 0 (chassisd, Read, 0x4d) twsi0: Device timeout on unit 0 (chassisd, Read, 0x4d) twsi0: Device timeout on unit 0 (flowd_octeon_hm, Read, 0x51) twsi0: Device timeout on unit 0 (flowd_octeon_hm, Read, 0x51) twsi0: Device timeout on unit 0 (chassisd, Read, 0x4d) twsi0: Device timeout on unit 0 (chassisd, Read, 0x4d)

Parallel to the Zyxel module, I also have a SourcePhotonics SPS-34-24T-HP-TDFO, which appears to be based on the same chipset, but works without any problems in the SRX300 without the messages described above. I suspect that the problem lies in the communication mode set for the modules. The Zyxel seems to try to negotiate the HSGMII mode, whereas the SourcePhotonics speaks 1000BASE-X. I have tried to find a way to move the Zyxel module to the 1000BASE-X, but so far without success. I have already gone through all the speed modes of the hal command. I get the following output from the respective modules;

Zyxel-Module;

admin@SFP:~# onu lan_port_cfg_get 0 errorcode=0 index=0 enable=1 mdio_dev_addr=-1 gmux_mode=4 mode=15 duplex_mode=0 flow_control_mode=3 speed_mode=0 tx_clk_dly=0 rx_clk_dly=0 max_frame_size=1518 lpi_enable=1 autoneg_mode=3 invtx=0 invrx=0 eth_clock_mode=0

admin@SFP:~# onu lan_port_cfg_get Long Form: lan_port_cfg_get Short Form: lanpcg Input Parameter

Output Parameter

admin@SFP:~# onu lanpsg Long Form: lan_port_status_get Short Form: lanpsg

Input Parameter

Output Parameter

admin@SFP:~# onu lanpsg 0 errorcode=0 index=0 mode=15 enable=1 link_status=5 phy_duplex=1

SourcePhotonics-Module;

root@SFP:/home/ONTUSER# onu lan_port_cfg_get 0 errorcode=0 pport=0 enable=1 mdio_dev_addr=-1 gmux_mode=4 mode=15 duplex_mode=1 flow_control_mode=4 speed_mode=5 tx_clk_dly=0 rx_clk_dly=0 max_frame_size=2000 lpi_enable=1 autoneg_mode=3 invtx=0 invrx=0

root@SFP:/home/ONTUSER# onu lan_port_cfg_get Long Form: lan_port_cfg_get Short Form: lanpcg

Input Parameter

Output Parameter

root@SFP:/home/ONTUSER# onu lanpsg Long Form: lan_port_status_get Short Form: lanpsg

Input Parameter

Output Parameter

root@SFP:/home/ONTUSER# onu lanpsg 0 errorcode=0 pport=0 mode=15 enable=1 link_status=4 phy_duplex=1

Perhaps someone has an idea or more experience? Maybe I'm looking in the wrong place and the reason is completely different?