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
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.
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!
I did get the following from Russel :
l think you’re suggesting that S.B1312.10.XDL requires autoneg to be disabled. I don’t think that is a property of a BiDi transceiver. All that the transceiver will be doing is converting the electrical signal to an optical signal and at the other end it gets converted back to an electrical signal. There is no “protocol” handling inside the transceivers.
If you need to turn off autoneg, that will be because the remote end also has autoneg disabled.
IEEE 802.3 1000base-X (which is the protocol used over 1000base-LX, -SX, etc) requires the use of autoneg, but we provide the ability to turn it off as you have discovered.
So, disabling autoneg as a property of the SFP transceiver is the wrong thing to do, because one could be using the same SFP transceiver with a remote end that has autoneg enabled… and then having autoneg disabled at the local end will break that setup.
Therefore, I don’t see any issue, and I would say everything is working as it should.
Yes, you will need to manually disable autoneg, but that is because the remote end has autoneg also disabled and this is expected behaviour.
So in this case, best solution is disable autoneg in a startup script?
This is what I have in my startup local :
/usr/sbin/ethtool -s eth2 autoneg off duplex full
Seems it’s better to use this way to disable autoneg if you are using newest openwrt snapshot: A new dual 10G router based on Filogic 880 (Banana Pi BPi-R4) - #795 by daniel - Hardware Questions and Recommendations - OpenWrt Forum
What options should be added to disable “autoneg” in that new way used by @dangowrt?
The above commit makes sure flow control settings are handled by netifd even for SFP devices. You should not use
rc.local
for this. You may instead add a device section to/etc/config/network
:config device option name 'eth1' option rxpause '1' option txpause '1'
Using the
rxpause
ortxpause
option disables flow control autonegotiation, while thepause
orasympause
control the advertised flow control support.
Thanks, then the same options used in that example.
I have just updated to latest snapshot (with unattended sysupgrade) to SNAPSHOT r27229-ebe7c5f1a3 LuCi Master 24.212.79282-65b8002 and those options don’t work
Have you tried setting ‘rxpause txpause pause’ all to 0?