[BPI-R3] Which GPON ONU is working?

Try this

it works better, but i can’t receive my IP from my ISP.

root@OpenWrt:/# ethtool eth1
Settings for eth1:
        Supported ports: [ FIBRE ]
        Supported link modes:   2500baseX/Full
                                1000baseX/Full
        Supported pause frame use: Symmetric Receive-only
        Supports auto-negotiation: Yes
        Supported FEC modes: Not reported
        Advertised link modes:  2500baseX/Full
        Advertised pause frame use: Symmetric Receive-only
        Advertised auto-negotiation: Yes
        Advertised FEC modes: Not reported
        Speed: 2500Mb/s
        Duplex: Full
        Auto-negotiation: on
        Port: FIBRE
        PHYAD: 0
        Transceiver: internal
        Current message level: 0x000000ff (255)
                               drv probe link timer ifdown ifup rx_err tx_err
        Link detected: yes

ip a

root@OpenWrt:/# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1504 qdisc mq state UP qlen 1000
    link/ether b2:2d:e6:d9:d9:b3 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::b02d:e6ff:fed9:d9b3/64 scope link
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether e2:52:f8:bd:e9:e2 brd ff:ff:ff:ff:ff:ff
    inet 192.168.20.1/24 brd 192.168.20.255 scope global eth1
       valid_lft forever preferred_lft forever
    inet6 fe80::e052:f8ff:febd:e9e2/64 scope link
       valid_lft forever preferred_lft forever
4: wan@eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue master br-lan state LOWERLAYERDOWN qlen 1000
    link/ether e2:52:f8:bd:e9:e2 brd ff:ff:ff:ff:ff:ff
5: lan1@eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue master br-lan state LOWERLAYERDOWN qlen 1000
    link/ether b2:2d:e6:d9:d9:b3 brd ff:ff:ff:ff:ff:ff
6: lan2@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-lan state UP qlen 1000
    link/ether b2:2d:e6:d9:d9:b3 brd ff:ff:ff:ff:ff:ff
7: lan3@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-lan state UP qlen 1000
    link/ether b2:2d:e6:d9:d9:b3 brd ff:ff:ff:ff:ff:ff
8: lan4@eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue master br-lan state LOWERLAYERDOWN qlen 1000
    link/ether b2:2d:e6:d9:d9:b3 brd ff:ff:ff:ff:ff:ff
9: sfp2@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-lan state UP qlen 1000
    link/ether b2:2d:e6:d9:d9:b3 brd ff:ff:ff:ff:ff:ff
10: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether 00:0c:43:26:60:00 brd ff:ff:ff:ff:ff:ff
11: wlan1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether b6:2d:e6:d9:d9:b5 brd ff:ff:ff:ff:ff:ff
15: br-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
    link/ether b2:2d:e6:d9:d9:b3 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.1/24 brd 192.168.1.255 scope global br-lan
       valid_lft forever preferred_lft forever
    inet6 fd5b:6915:1f::1/60 scope global noprefixroute
       valid_lft forever preferred_lft forever
    inet6 fe80::b02d:e6ff:fed9:d9b3/64 scope link
       valid_lft forever preferred_lft forever

ping 192.168.20.10

root@OpenWrt:/# ping 192.168.20.10
PING 192.168.20.10 (192.168.20.10): 56 data bytes
64 bytes from 192.168.20.10: seq=8 ttl=64 time=0.523 ms
64 bytes from 192.168.20.10: seq=8 ttl=64 time=0.569 ms (DUP!)
64 bytes from 192.168.20.10: seq=8 ttl=64 time=0.631 ms (DUP!)
64 bytes from 192.168.20.10: seq=9 ttl=64 time=0.817 ms
[  940.800077] mtk_soc_eth 15100000.ethernet eth1: Link is Down
[  941.830065] mtk_soc_eth 15100000.ethernet eth1: Link is Up - 2.5Gbps/Full - flow control off
64 bytes from 192.168.20.10: seq=9 ttl=64 time=15001.510 ms (DUP!)
64 bytes from 192.168.20.10: seq=24 ttl=64 time=0.861 ms
64 bytes from 192.168.20.10: seq=25 ttl=64 time=0.422 ms
64 bytes from 192.168.20.10: seq=26 ttl=64 time=0.368 ms
64 bytes from 192.168.20.10: seq=27 ttl=64 time=0.411 ms
64 bytes from 192.168.20.10: seq=28 ttl=64 time=0.300 ms
64 bytes from 192.168.20.10: seq=29 ttl=64 time=0.300 ms
64 bytes from 192.168.20.10: seq=30 ttl=64 time=0.351 ms
64 bytes from 192.168.20.10: seq=31 ttl=64 time=0.362 ms
64 bytes from 192.168.20.10: seq=32 ttl=64 time=4.561 ms
64 bytes from 192.168.20.10: seq=33 ttl=64 time=0.365 ms
64 bytes from 192.168.20.10: seq=34 ttl=64 time=0.292 ms
64 bytes from 192.168.20.10: seq=35 ttl=64 time=0.287 ms
64 bytes from 192.168.20.10: seq=36 ttl=64 time=0.371 ms
64 bytes from 192.168.20.10: seq=37 ttl=64 time=0.354 ms
64 bytes from 192.168.20.10: seq=38 ttl=64 time=0.302 ms
64 bytes from 192.168.20.10: seq=39 ttl=64 time=0.301 ms
64 bytes from 192.168.20.10: seq=40 ttl=64 time=0.365 ms
64 bytes from 192.168.20.10: seq=41 ttl=64 time=0.354 ms
64 bytes from 192.168.20.10: seq=42 ttl=64 time=0.413 ms
64 bytes from 192.168.20.10: seq=43 ttl=64 time=0.423 ms
64 bytes from 192.168.20.10: seq=44 ttl=64 time=0.412 ms
64 bytes from 192.168.20.10: seq=45 ttl=64 time=0.361 ms
64 bytes from 192.168.20.10: seq=43 ttl=64 time=11001.194 ms (DUP!)
64 bytes from 192.168.20.10: seq=44 ttl=64 time=10001.161 ms (DUP!)
64 bytes from 192.168.20.10: seq=45 ttl=64 time=9001.103 ms (DUP!)
64 bytes from 192.168.20.10: seq=54 ttl=64 time=0.502 ms
64 bytes from 192.168.20.10: seq=55 ttl=64 time=0.354 ms
64 bytes from 192.168.20.10: seq=55 ttl=64 time=13379.608 ms (DUP!)
64 bytes from 192.168.20.10: seq=54 ttl=64 time=14379.714 ms (DUP!)
64 bytes from 192.168.20.10: seq=45 ttl=64 time=23380.337 ms (DUP!)
64 bytes from 192.168.20.10: seq=54 ttl=64 time=14379.735 ms (DUP!)
64 bytes from 192.168.20.10: seq=55 ttl=64 time=13379.678 ms (DUP!)
64 bytes from 192.168.20.10: seq=69 ttl=64 time=0.411 ms
64 bytes from 192.168.20.10: seq=70 ttl=64 time=0.395 ms
64 bytes from 192.168.20.10: seq=55 ttl=64 time=24002.043 ms (DUP!)
64 bytes from 192.168.20.10: seq=54 ttl=64 time=25002.148 ms (DUP!)
64 bytes from 192.168.20.10: seq=69 ttl=64 time=10001.137 ms (DUP!)
64 bytes from 192.168.20.10: seq=70 ttl=64 time=9001.080 ms (DUP!)
64 bytes from 192.168.20.10: seq=55 ttl=64 time=24002.112 ms (DUP!)
64 bytes from 192.168.20.10: seq=69 ttl=64 time=10001.288 ms (DUP!)
64 bytes from 192.168.20.10: seq=80 ttl=64 time=0.295 ms
64 bytes from 192.168.20.10: seq=81 ttl=64 time=0.385 ms
^C
--- 192.168.20.10 ping statistics ---
83 packets transmitted, 30 packets received, 17 duplicates, 63% packet loss
round-trip min/avg/max = 0.287/4807.048/25002.148 ms

i can ping the ONT but here are (DUP!), so i guess something doesn’t work as expected and i don’t get my IP

the good thing is that it is now recognized at 2500mbps and eth1 is UP

Once i plug back the other ONT, everything works.

You should always write which ont you currently test…else it is hard to follow your resulta and what works and what not.

sorry, as the G-010S-P is now fully working, we are checking the MA5671A which is flashed with the fs.com firmware and viewed as "Lantiq Falcon SFP "

Is the MA5671A with original firmware working?

The dup ping could be caused by bit errors. Could you check ethtool statiatics (ethtool -s iface) if there are crc- or any other errors (fcs)?

Someone here reported he was using one with the original rooted firmware, and it was working.

I bought mine flashed with the FS.COM firmware, because the original firmware doesn’t work with my ISP.

I’m using R3 with the MA5671A and standard firmware on a relative old snapshot release of OpenWRT. It works ok. The same ONT never worked with other firmware with my R3 and ISP.

Have you tried recent version after adding the sfp power patch? If not can you please try?

I’m on r23223 with Kernel 5.15.114 that is already 3W patched. I found this on bootlog:

[14.723146] sfp sfp1: Host maximum power 3.0W [14.728273] sfp sfp2: Host maximum power 3.0W

I don’t want to risk with newer snapshots cause automatic upgrade don’t works anymore and I have no time and a secure way to revert in case of troubles. Anyway the issue seems not related with 3 watts patch.

My guess it is that the issue is related only with the MA5671A with not original firmware. Solving with FS.com firmware can be really useful ‘cause it is needed with different ISP / OLT manufacturers. Anyway I hope that solving for FS.com fw do not break the standard fw.

you can try different sdcard so you keep current version…if it does not work,try to find out exact version (git commit id) of your working version so we can try to find out whats missing

just tested, nothing reported by this command.

Sorry should be -S (big letter S)

root@OpenWrt:~# ethtool -S eth1
NIC statistics:
     tx_bytes: 497168409
     tx_packets: 4249717
     tx_skip: 0
     tx_collisions: 0
     rx_bytes: 29155508612
     rx_packets: 20887183
     rx_overflow: 0
     rx_fcs_errors: 0
     rx_short_errors: 0
     rx_long_errors: 0
     rx_checksum_errors: 18
     rx_flow_control_packets: 0
     rx_xdp_redirect: 0
     rx_xdp_pass: 0
     rx_xdp_drop: 0
     rx_xdp_tx: 0
     rx_xdp_tx_errors: 0
     tx_xdp_xmit: 0
     tx_xdp_xmit_errors: 0
     rx_pp_alloc_fast: 2762292
     rx_pp_alloc_slow: 7774
     rx_pp_alloc_slow_ho: 0
     rx_pp_alloc_empty: 7774
     rx_pp_alloc_refill: 61930
     rx_pp_alloc_waive: 0
     rx_pp_recycle_cached: 0
     rx_pp_recycle_cache_full: 0
     rx_pp_recycle_ring: 2334481
     rx_pp_recycle_ring_full: 2762
     rx_pp_recycle_released_ref: 494241

imho not that bad as expected…18 crc errors in 20887183 received packets…

as long as i can’t receive my IP from my ISP, it’s not good too :sweat_smile:

now i’m wondering if there is not a bad setting somewhere in the ONT…last time i used it, it was working…

Hello, @frank-w @dangowrt Now that the BPI-R3 is officialy supported in openwrt 23.05, does it mean all the Patchs and Quirks we made here are integrated in 23.05 ?

i’m actually using a Mikrotik RB5009 as main router and my BPI-R3 as dumb AP.

On stable release my Huawei MA5671A with rooted standards firmware works ok. Any way it seems (I need to do some test) that the fiber cable need to be connected to the Sfp module to make it identified

Yes,it is reported multiple times that the gpon modules need link to be available. You can change kernel to use different gpio for “los” but when configured it should be changed back.

Thanks, this is not really an issue cause I use a media converter when I need to configure the SFP module

Hello guyz !!

i just upgraded my BPI-R3 with openwrt 23.05.2, and i can confirm now that my ONU MA5671A is fully working without the need of patchs/quirks. :heart_eyes:

2 Likes