BPI-R3 Support for SFP VDSL Modem

I wonder if it is possible to use an SFP VDSL2 Modem in the WAN port of the BPI R3 together with OpenWRT. Did someone already try this? Thanks!

I’ll not answer directly, but my ISP builds their own routers - Firebrick - and they had such a thing working. The issue they had was that it ran hot, drew more power than the spec allowed, but it did work. It just appears as an ethernet adaptor. Your issue will be with specifying the vlan.

Ok yeah I read that too somewhere, but this means there’s no general support for this. 'Cause I found this module which would be relay compelling to me: https://www.allnet.de/en/allnet-brand/produkte/modems-router/sfp-vdsl2-bridge-modem/

Power requirement is defined as 3.3v , 700mA that are 2.3w…linux afaik limits to 1w (do not know how this done…only read the message on bootup). So you can only try it…afair bpi said that more than 3A can be supplied on sfp slots.

For vlan on wan-sfp i respinned felix patch here:

https://patchwork.kernel.org/project/linux-mediatek/patch/[email protected]/

With this i have vlan working on wan-sfp

Linux restricts this by apply a default limit of 1W unless there is some information regarding the power available for SFP modules. This is done by simply not powering up modules which declare power requirements above that in their EEPROMs.

If you are sure that up to 3A can be supplied (I suppose for both SFP cages together), then we could raise the limit from 1W to 3W which should be sufficient and still not even get anywhere close to the available current.

All we would need to do is specify

      maximum-power-milliwatt = <3000>;

for both SFP cages.

Ie. for OpenWrt the patch would look like this:

diff --git a/target/linux/mediatek/dts/mt7986a-bananapi-bpi-r3.dts b/target/linux/mediatek/dts/mt7986a-bananapi-bpi-r3.dts
index 4d118b0fbc..bcd682fee0 100644
--- a/target/linux/mediatek/dts/mt7986a-bananapi-bpi-r3.dts
+++ b/target/linux/mediatek/dts/mt7986a-bananapi-bpi-r3.dts
@@ -120,6 +120,7 @@
                mod-def0-gpios = <&pio 49 GPIO_ACTIVE_LOW>;
                tx-disable-gpios = <&pio 20 GPIO_ACTIVE_HIGH>;
                tx-fault-gpios = <&pio 7 GPIO_ACTIVE_HIGH>;
+               maximum-power-milliwatt = <3000>;
        /* SFP2 cage (LAN) */
@@ -139,6 +140,7 @@
                mod-def0-gpios = <&pio 47 GPIO_ACTIVE_LOW>;
                tx-disable-gpios = <&pio 15 GPIO_ACTIVE_HIGH>;
                tx-fault-gpios = <&pio 48 GPIO_ACTIVE_HIGH>;
+               maximum-power-milliwatt = <3000>;

there was imho a posting fro simon about power on the sfps, but i have not found it on quick search

Edit found it: Banana Pi BPI-R3 Router board with MediaTek MT7986(Filogic 830),support Wi-Fi 6/6E,2.5GbE SFP

This is defined as 8A,but power more than sfp,so we cannot set 4A to each sfp.

Maybe we define only sfp wan to 2.5w and leave sfp for lan on 1w