[BPI-R4] and SFP

It is an information! The price for APC SFP is the same like for UPC at FS.com.

If you already have an SFP with UPC you can use a cable with UPC on one side (as you say). But this should only be “plan B”.

“plan A” is: you are a lucky person, because you have not buyed an UPC SFP and with my information you can now contact the service to get an APC SFP.

Why I found APC better:

In reality boath should be good enough. My ISP installed an APC connection socket. This is why I was looking for it …

Please discard this post. The sfp module works fine. I haven’t tested with iperf3 tough.

I was a bit confused about the interface names. For the uninformed, eth0 is the switch chip (4x 1G ports), eth1 the middle sfp slot and eth2 (wan) the second one.

Can wan@eth0 be renamed?

I wrote this notice to contribute to the community (for those who are having problems filming PPPoE). I have dialed PPPoE on SFP WAN port or WAN port successfully. The equipment I use includes Converter Juplink 2.5G and SPF module G-010S-P (Alcatel Lucent)

Noted:

  • For my area, it is necessary to set up GPON S/N (on the ISP modem) on the SFP module and tag VLAN 35
  • pay attention to the port and device naming which can cause confusion (I don’t know why the company leaves it like that) The SFP WAN port on the left is eth2, the other port on the right is SFP LAN is eth1, next is the WAN ethernet port, and 3 LAN ports. You can see it grouped under network → interface → device

Method 1 using Converter Juplink + SFP:

  • Plug optical SFP into Convert
  • Plug the ethernet cable into the computer, set up static ip for the computer as 192.168.1.11/24
  • Access 192.168.1.10 (SFP’s default IP) on the browser and click login username/password (root/empty)
  • Go to GPON option 1 tab, enter GPON S/N on the ISP modem located behind the modem => save and apply => reboot
  • Unplug the cable on the computer and plug it into the WAN ethernet port of the openwrt router to access the address 192.168.1.1
  • go to network tab → interface → device → bridge VLAN. add vlan 35 and select tag to WAN ethernet port
  • go back to the network tab → interface → select WAN port → edit → Protocol: select PPPoE → enter the username/password of the ISP provided to you → Device: br-wan.35 → save → save and apply
  • Wait a while to see the ipv4 address on the WAN port. you succeeded.

Method 2 only uses SFP. (Because I couldn’t setup GPON S/N on SFP, I configured it based on method 1 which is using a converter and I don’t know why, if you can setup GPON S/N on SFP by plugging it directly on the router then congratulations you have succeeded 50%)

  • go to network tab → interface → device → bridge VLAN. add vlan 35 and select tag to WAN ethernet port
  • go back to the network tab → interface → select WAN_6 port → edit → Protocol: select PPPoE → enter the username/password of the ISP provided to you → Device: br-wan.35 → save → save and apply
  • Wait a while to see the ipv4 address on the WAN port. you succeeded.

Above is my experience, if there is anything wrong, please help me correct it. thanks

2 Likes

Just found this thread, after fighting with a GPON SFP module of my own. Solved it via soldering iron in the end, no software changes needed:

PPPoE connection to my ISP works fine now as well. Bit of a weird design decision for the SFP circuitry on either the side of the BPI-R4 or my specific GPON SFP module.

Alright guys, just to inform, i got a 10Gtek single mode bidi module working just out of the box. Part no: AXB23-192-20.

I’m just a bit worried, because usually single mode is for very long range cables, that module is up for 20KM, but i’m using a 40 meter cable! Yeah nonsense, but given the circumstances, i had no other option. Hopefully that won’t fry the module or the R4 itself!

I have no other 10G here, just a 2.5G machine, so “just” 280MB/s.

Hi, I’m trying to get my BPI-R4 to work with the transceiver, I got with my media converter, a TP-Link MC220L with a Flexoptix -1G SFP WIDEBAND BIDI LX 10 km, ᵀˣ1310 / ᴿˣ1470-1600 nm, DDM, LC-Simplex, Singlemode S.B1312.10.XDLSFPBiDi LX transceiver. I am running the latest SNAPSHOT of openwrt. I am on a 1Gbs Fibre connection. When I plug it it, it is recognised, but the link is not up. I just get the following entry in dmesg :

 sfp sfp1: module FLEXOPTIX        S.B1312.10.XDL   rev A    sn F7AREUK   

and it shows up as eth2 interface running ethtool to get info on it :

Settings for eth2:
        Supported ports: [ FIBRE ]
        Supported link modes:   1000baseX/Full
        Supported pause frame use: Symmetric Receive-only
        Supports auto-negotiation: Yes
        Supported FEC modes: Not reported
        Advertised link modes:  1000baseX/Full
        Advertised pause frame use: Symmetric Receive-only
        Advertised auto-negotiation: Yes
        Advertised FEC modes: Not reported
        Speed: Unknown!
        Duplex: Unknown! (255)
        Port: FIBRE
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        Current message level: 0x000000ff (255)
                               drv probe link timer ifdown ifup rx_err tx_err

The link is down initially. If I run ethtool - m, I get a message saying that module is not inserted in cage. After reading in this chain, that by setting autoneg off might work, I gave it a try and the link was up and it works… I can then get ethtool -m to produce output… I have so far I managed to get ti to work, by putting the ethtool cmd in the startup. Could someone help me or point me in the right direction to get a more permanent solution, please? The output of ethtool - m is :

Offset          Values
------          ------
0x0000:         03 04 07 00 00 00 40 12 00 01 01 01 0d 00 0a 64
0x0010:         00 00 00 00 46 4c 45 58 4f 50 54 49 58 20 20 20
0x0020:         20 20 20 20 00 38 86 02 53 2e 42 31 33 31 32 2e
0x0030:         31 30 2e 58 44 4c 20 20 41 20 20 20 05 1e 00 74
0x0040:         00 1a 00 00 46 37 41 52 45 55 4b 20 20 20 20 20
0x0050:         20 20 20 20 32 33 30 39 31 33 20 20 68 b0 02 bb
0x0060:         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0070:         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0080:         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0090:         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x00a0:         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x00b0:         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x00c0:         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x00d0:         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff
0x00e0:         46 37 41 52 45 55 4b 20 20 20 20 20 20 20 20 20
0x00f0:         8e 11 bb fb d5 30 80 83 d2 4e 67 26 4f a7 00 bc
0x0100:         6e 00 d3 00 5f 00 d6 00 8c a0 75 30 88 b8 77 24
0x0110:         9c 40 03 e8 88 b8 05 dc 1f 07 03 e8 18 a6 04 eb
0x0120:         18 a6 00 32 13 94 00 3f 00 00 00 00 00 00 00 00
0x0130:         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0140:         00 00 00 00 3f 80 00 00 00 00 00 00 01 00 00 00
0x0150:         01 00 00 00 01 00 00 00 01 00 00 00 00 00 00 61
0x0160:         27 6b 82 83 20 50 09 2b 05 8c 7d 7d 7d 7d 00 7d
0x0170:         00 00 7d 7d 00 00 7d 7d 7d 7d 07 ff ff ff ff 00
0x0180:         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0190:         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x01a0:         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x01b0:         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x01c0:         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x01d0:         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x01e0:         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x01f0:         00 00 00 00 00 00 00 00 7d 7d 7d 7d 7d 7d 7d 7d

Can you install ethtool-full and give us the output again? Only full version outputs decoded text.

Hi - here is the output :

 ethtool -m eth2
        Identifier                                : 0x03 (SFP)
        Extended identifier                       : 0x04 (GBIC/SFP defined by 2-                                wire interface ID)
        Connector                                 : 0x07 (LC)
        Transceiver codes                         : 0x00 0x00 0x00 0x40 0x12 0x0                                0 0x01 0x01 0x00
        Transceiver type                          : Ethernet: BASE-BX10
        Transceiver type                          : FC: long distance (L)
        Transceiver type                          : FC: Longwave laser (LC)
        Transceiver type                          : FC: Single Mode (SM)
        Transceiver type                          : FC: 100 MBytes/sec
        Encoding                                  : 0x01 (8B/10B)
        BR, Nominal                               : 1300MBd
        Rate identifier                           : 0x00 (unspecified)
        Length (SMF,km)                           : 10km
        Length (SMF)                              : 10000m
        Length (50um)                             : 0m
        Length (62.5um)                           : 0m
        Length (Copper)                           : 0m
        Length (OM3)                              : 0m
        Laser wavelength                          : 1310nm
        Vendor name                               : FLEXOPTIX
        Vendor OUI                                : 38:86:02
        Vendor PN                                 : S.B1312.10.XDL
        Vendor rev                                : A
        Option values                             : 0x00 0x1a
        Option                                    : RX_LOS implemented
        Option                                    : TX_FAULT implemented
        Option                                    : TX_DISABLE implemented
        BR margin, max                            : 0%
        BR margin, min                            : 0%
        Vendor SN                                 : F7AREUK
        Date code                                 : 230913
        Optical diagnostics support               : Yes
        Laser bias current                        : 16.356 mA
        Laser output power                        : 0.2355 mW / -6.28 dBm
        Receiver signal average optical power     : 0.1460 mW / -8.36 dBm
        Module temperature                        : 40.87 degrees C / 105.57 deg                                rees F
        Module voltage                            : 3.3278 V
        Alarm/warning flags implemented           : Yes
        Laser bias current high alarm             : Off
        Laser bias current low alarm              : Off
        Laser bias current high warning           : Off
        Laser bias current low warning            : Off
        Laser output power high alarm             : Off
        Laser output power low alarm              : Off
        Laser output power high warning           : Off
        Laser output power low warning            : Off
        Module temperature high alarm             : Off
        Module temperature low alarm              : Off
        Module temperature high warning           : Off
        Module temperature low warning            : Off
        Module voltage high alarm                 : Off
        Module voltage low alarm                  : Off
        Module voltage high warning               : Off
        Module voltage low warning                : Off
        Laser rx power high alarm                 : Off
        Laser rx power low alarm                  : Off
        Laser rx power high warning               : Off
        Laser rx power low warning                : Off
        Laser bias current high alarm threshold   : 80.000 mA
        Laser bias current low alarm threshold    : 2.000 mA
        Laser bias current high warning threshold : 70.000 mA
        Laser bias current low warning threshold  : 3.000 mA
        Laser output power high alarm threshold   : 0.7943 mW / -1.00 dBm
        Laser output power low alarm threshold    : 0.1000 mW / -10.00 dBm
        Laser output power high warning threshold : 0.6310 mW / -2.00 dBm
        Laser output power low warning threshold  : 0.1259 mW / -9.00 dBm
        Module temperature high alarm threshold   : 110.00 degrees C / 230.00 de                                grees F
        Module temperature low alarm threshold    : -45.00 degrees C / -49.00 de                                grees F
        Module temperature high warning threshold : 95.00 degrees C / 203.00 deg                                rees F
        Module temperature low warning threshold  : -42.00 degrees C / -43.60 de                                grees F
        Module voltage high alarm threshold       : 3.6000 V
        Module voltage low alarm threshold        : 3.0000 V
        Module voltage high warning threshold     : 3.5000 V
        Module voltage low warning threshold      : 3.0500 V
        Laser rx power high alarm threshold       : 0.6310 mW / -2.00 dBm
        Laser rx power low alarm threshold        : 0.0050 mW / -23.01 dBm
        Laser rx power high warning threshold     : 0.5012 mW / -3.00 dBm
        Laser rx power low warning threshold      : 0.0063 mW / -22.01 dBm

:thinking: Seems nothing wrong with your module’s eeprom info. @frank-w Have you seen anything like this?

Have you put the mac (eth2) to admin-up? Have tried disabling auto-neg and foring speed/duplex to something the module and other side supports?

No idea else than this…maybe it needs a quirk…at least i do not see an alarm

Hi if I insert it, it will be detected but won’t come up as it will have autneg on. If I set the autneg to off(ethtool), it comes up and seems to be working with no problems - I’ve had it up for 24hrs with no issues. I got the autneg off idea from this post BPI R3 mtk_soc_eth driver shows no link-state, but SFP module does have a link-up - For Developers - OpenWrt Forum

have you checked if this commit already applied to your os?

Hi - I believe it has : https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=a1a9572f43776c3fed46c4545e93fbbb25d923c2

I am running : OpenWrt SNAPSHOT r26933-d40f9ad48f

Edit: before that, can you try if @frank-w ’s Debian/ubuntu image works? To make sure if that’s not openwrt’s issue: https://wiki.fw-web.de/doku.php?id=en:bpi-r4:start

That’s weird… Maybe you can send an email to Russell King to ask for some help. His email address is inside the commit information above.

Hi, thanks for the help/suggestions - I have reached out to Russel. Thanks once again

Hey Sergio! So I bought a BPI-R4 and is running latest snapshot build. I have and ODI GPON (ODI DFP-34X-2I3) for my FTTH connection. It’s working fine @ 1000BaseX but had to put a startup script to set autoneg off after boot. I see you suggest patching OWRT to try get 2.5Gbps which I believe would include adding this new ODI model to the SFP quirk. Couple question:

1- Do you know if there is any docker image already set up to build from source that I could use to try add the quirk to latest snapshot

2- Is it possible to just generate the .ko that is needed and only add that to my running build?

Thank you!

Guido

For ODI DFP-34X-2C2, no need to add quirk and upstream doesn’t accept quirk due to possible unable to connect to device if module is fixed to 1gbps mode and quirk set to 2.5G.

I’m not sure if DFP-34X-2I3 has the same design, but you can try to modify module’s eeprom like this Right SFP EEPROM config for DFP-34X-2C2 to work automatically work at 2500base-X? · Anime4000/RTL960x · Discussion #250 · GitHub to check if it could automatically switch to 2.5g mode.

1 Like

Thanks for your response. I will take a look to the link you shared. I was actually able to get it working @ 2.5Gbps by renaming sfp.ko as suggested in the threat. After that I had to force speed and duplex using ethtool and it synced. Issue with this approach is ethtool full functionality is gone.

In case it’s useful for anyone seeking to use BPI-R4 with an ODI DFP-34X-2I3 GPON, I can confirm the SFPs EEPROM arrangement is almost the same as the 2C2 and the procedure provided by @Stat_headcrabed works perfectly.

root@OpenWrt:~# ethtool eth2
Settings for eth2:
        Supported ports: [ FIBRE ]
        Supported link modes:   2500baseX/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

Thanks again for the help!

1 Like

Hello @Jefs , did you get any reply from Russell? I’m seeing more users experiencing this.

1 Like