Are there any 2.5Gbase-T SFP modules compatible with Omnia

Mine will be delivered soon. It’ll be connected to a Freebox pop (French operator box with one 2.5G port).

1 Like

Just received it…seem ok :slight_smile:

[ 12.892036] sfp sfp: module Turris RTSFP-10G rev A sn dc 15-09-21
[ 12.901381] sfp sfp: unknown connector, encoding 64b66b, nominal bitrate 10.3Gbps +0% -0%
[ 12.909753] sfp sfp: 1000BaseSX- 1000BaseLX- 1000BaseCX- 1000BaseT- 100BaseTLX- 1000BaseFX- BaseBX10- BasePX-
[ 12.919873] sfp sfp: 10GBaseSR+ 10GBaseLR- 10GBaseLRM- 10GBaseER-
[ 12.926159] sfp sfp: Copper length: unsupported/unspecified
[ 12.931926] sfp sfp: Options: txdisable, txfault, los+
[ 12.937251] sfp sfp: Diagnostics: ddm, intcal, rxpwravg
[ 49.232228] mv88x3310 i2c:sfp:16: PHY supports (18000,000070ea) more modes than phylib supports, some modes not supported.
[ 49.243315] mvneta f1034000.ethernet eth2: PHY [i2c:sfp:16] driver [mv88x3310]

[ 4.469428] mvneta f1034000.ethernet eth2: Using hardware mac address
[ 17.321532] mvneta f1034000.ethernet eth2: configuring for inband/sgmii link mode
[ 17.332254] IPv6: ADDRCONF(NETDEV_UP): eth2: link is not ready
[ 49.243315] mvneta f1034000.ethernet eth2: PHY [i2c:sfp:16] driver [mv88x3310]
[ 56.680024] mvneta f1034000.ethernet eth2: Link is Up - 2.5Gbps/Full - flow control rx/tx
[ 56.691582] IPv6: ADDRCONF(NETDEV_CHANGE): eth2: link becomes ready

2 Likes

Congratulations! Will you do any tests?

Just tried with one laptop on wifi and one laptop on ethernet.
Still see some RX dropped so not sure if it work perfect
eth2 Link encap:Ethernet HWaddr
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:12696576 errors:0 dropped:107 overruns:0 frame:0
TX packets:6619156 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:532
RX bytes:17501341225 (16.2 GiB) TX bytes:6944748292 (6.4 GiB)
Interrupt:39

Maybe related to flow control?
Pause parameters for eth2:
Autonegotiate: on
RX: off
TX: off
RX negotiated: on
TX negotiated: on

Some ethtool stats:
NIC statistics:
good_octets_received: 15040967332
good_frames_received: 10861053
bad_octets_received: 0
bad_frames_received: 0
broadcast_frames_received: 22
multicast_frames_received: 730
unrec_mac_control_received: 0
good_fc_received: 0
bad_fc_received: 0
undersize_received: 0
fragments_received: 0
oversize_received: 0
jabber_received: 0
mac_receive_error: 0
bad_crc_event: 0
collision: 0
late_collision: 0
rx_discard: 16919
rx_overrun: 0
frames_64_octets: 644214
frames_65_to_127_octets: 1197685
frames_128_to_255_octets: 37964
frames_256_to_511_octets: 237604
frames_512_to_1023_octets: 130634
frames_1024_to_max_octets: 13307992
good_octets_sent: 5456379289
good_frames_sent: 5277769
excessive_collision: 0
multicast_frames_sent: 10
broadcast_frames_sent: 3
fc_sent: 0
internal_mac_transmit_err: 0
eee_wakeup_errors: 0

Not sure if rx_discard are ok or not.

@nicnic94 I have some experience of the sfp on a mox.

For me:
speedtest-netperf.sh -H netperf-eu.bufferbloat.net -t 30
2022-01-25 08:23:03 Starting speedtest for 30 seconds per transfer session.
Measure speed to netperf-eu.bufferbloat.net (IPv4) while pinging gstatic.com.
Download and upload sessions are sequential, each with 5 simultaneous streams.

Download: 938.44 Mbps
Latency: [in msec, 31 pings, 0.00% packet loss]
Min: 1.760
10pct: 1.830
Median: 2.020
Avg: 2.113
90pct: 2.600
Max: 2.770
CPU Load: [in % busy (avg +/- std dev), 29 samples]
cpu0: 27.8 +/- 7.6
cpu1: 24.9 +/- 6.5
Overhead: [in % used of total CPU available]
netperf: 15.5

Upload: 668.17 Mbps
Latency: [in msec, 31 pings, 0.00% packet loss]
Min: 2.220
10pct: 3.580
Median: 3.880
Avg: 3.810
90pct: 4.000
Max: 4.060
CPU Load: [in % busy (avg +/- std dev), 29 samples]
cpu0: 22.0 +/- 3.7
cpu1: 23.0 +/- 5.5
Overhead: [in % used of total CPU available]
netperf: 4.8

It’s normal for Upload as it’s 700M bits/s for my ISP.
But download should be better.
RX packets:28235141 errors:0 dropped:0 overruns:0 frame:0
TX packets:5282168 errors:0 dropped:0 overruns:0 carrier:0
rx_discard: 7410 (was 7136 before test)

@nicnic94 as for the actual speeds reported it is a bit tricky as there can be a lot of limiting factors in the path.
My issue is I see overruns and rx errors.
And I do not get anywhere near the same download speed with the 2.5Gsfp as with a 1Gsfp

You are running on a omnia?

Yes I’m on a Omnia.
I do another test. Two download from my NAS and speed a speed test from Omnia during 500s


It seem that it’s 1G limited on statistics graph.
No RX dropped or overrun errors (only rx_discard)
One strange thing is:
Settings for eth2:
Supported ports: [ TP ]
Supported link modes: 10baseT/Full
100baseT/Full
1000baseT/Full
Supported pause frame use: Symmetric
Supports auto-negotiation: Yes
Supported FEC modes: Not reported
Advertised link modes: 10baseT/Full
100baseT/Full
1000baseT/Full
Advertised pause frame use: Symmetric
Advertised auto-negotiation: Yes
Advertised FEC modes: Not reported
Speed: 2500Mb/s
Duplex: Full
Port: MII
PHYAD: 22
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: d
Wake-on: d
Link detected: yes

Supported and advertised 1G and speed is 2.5G
On ISP router side it’s 2.5G in status.
Maybe something to play here.

When at home I’ll try my Realtek usb 2.5G on my laptop directly to ISP router to do a speedtest.

Graph on ISP router side:

I tried from turris:
curl -L http://192.168.1.1/gen/10G -o NUL (ISP router)
curl -L http://test-debit.free.fr/10485760.rnd -o NUL

And results are below 1G…strange … i have 1G here on the second one with another ISP and 1G link.

Maybe ISP problem but first curl should have normal speed normally

Update:
Not an ISP problem. I just tested with a 2.5G usb realtek on my laptop connected to the ISP router and it’s fine.

Update2:
I see my errors with curl test (/dev/null)
curl -L http://192.168.1.1/gen/10G -o /dev/null
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 138 100 138 0 0 12545 0 --:–:-- --:–:-- --:–:-- 12545
100 10.0G 100 10.0G 0 0 274M 0 0:00:37 0:00:37 --:–:-- 278M
curl -L http://test-debit.free.fr/10485760.rnd -o /dev/null
Have poor results not above 1G but it’s not turris fault.

So seem nice. I’ll try to find a good iperf3 internet test server.

What system do you run on your TO? Can you try it with the HBL (TOS6.0) branch?

I’m on testing branch 5.3.4
Finally seem ok with my latest tests between ISP router and Omnia
curl -L http://192.168.1.1/gen/10G -o /dev/null
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 138 100 138 0 0 12545 0 --:–:-- --:–:-- --:–:-- 12545
100 10.0G 100 10.0G 0 0 274M 0 0:00:37 0:00:37 --:–:-- 278M

2224 Mbits/s is ok I think :slight_smile:

And no errors
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:48095616 errors:0 dropped:0 overruns:0 frame:0
TX packets:3111473 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:532
RX bytes:72426734499 (67.4 GiB) TX bytes:1792217325 (1.6 GiB)
Interrupt:39

I tested http://test-debit.free.fr/10485760.rnd with my realtek usb 2.5G and have only 1G. Not a good test server then.

I try to find a good test server

I tested with iperf-cli with same server Hexaglobe in Paris
./speedtest-cli --server 42372
Retrieving speedtest.net configuration…
Testing from Free SAS…
Retrieving speedtest.net server list…
Retrieving information for the selected server…
Hosted by Hexaglobe (Paris) [1.88 km]: 5.439 ms
Testing download speed…
Download: 565.73 Mbit/s
Testing upload speed…
Upload: 603.12 Mbit/s

I prefer to wait a bit for TOS 6.0 …I don’t want to have problems with my childrens if bugs :slight_smile:

Ok I think I finally found a good iperf3 server
iperf3 -4 -R -O 10 -V -c lille.testdebit.info -p 9234
iperf 3.7
Linux turris 4.14.262 #0 SMP Tue Jan 18 20:15:42 2022 armv7l
Control connection MSS 1448
Time: Tue, 25 Jan 2022 21:05:53 UTC
Connecting to host lille.testdebit.info, port 9234
Reverse mode, remote host lille.testdebit.info is sending
Cookie: ml7bmlvvfa4hkjuqe7yhdp4scmwq36a55gtd
TCP MSS: 1448 (default)
[ 5] local 192.168.1.254 port 45960 connected to 89.84.1.234 port 9234
Starting Test: protocol: TCP, 1 streams, 131072 byte blocks, omitting 10 seconds, 10 second test, tos 0
[ ID] Interval Transfer Bitrate
[ 5] 0.00-1.00 sec 231 MBytes 1.94 Gbits/sec (omitted)
[ 5] 1.00-2.00 sec 246 MBytes 2.06 Gbits/sec (omitted)
[ 5] 2.00-3.00 sec 222 MBytes 1.86 Gbits/sec (omitted)
[ 5] 3.00-4.00 sec 231 MBytes 1.94 Gbits/sec (omitted)
[ 5] 4.00-5.00 sec 245 MBytes 2.06 Gbits/sec (omitted)
[ 5] 5.00-6.00 sec 244 MBytes 2.05 Gbits/sec (omitted)
[ 5] 6.00-7.00 sec 242 MBytes 2.03 Gbits/sec (omitted)
[ 5] 7.00-8.00 sec 239 MBytes 2.00 Gbits/sec (omitted)
[ 5] 8.00-9.00 sec 249 MBytes 2.09 Gbits/sec (omitted)
[ 5] 9.00-10.00 sec 227 MBytes 1.91 Gbits/sec (omitted)
[ 5] 0.00-1.00 sec 183 MBytes 1.53 Gbits/sec
[ 5] 1.00-2.00 sec 234 MBytes 1.96 Gbits/sec
[ 5] 2.00-3.00 sec 221 MBytes 1.85 Gbits/sec
[ 5] 3.00-4.00 sec 233 MBytes 1.96 Gbits/sec
[ 5] 4.00-5.00 sec 232 MBytes 1.94 Gbits/sec
[ 5] 5.00-6.00 sec 239 MBytes 2.00 Gbits/sec
[ 5] 6.00-7.00 sec 238 MBytes 2.00 Gbits/sec
[ 5] 7.00-8.00 sec 238 MBytes 2.00 Gbits/sec
[ 5] 8.00-9.00 sec 236 MBytes 1.98 Gbits/sec
[ 5] 9.00-10.00 sec 233 MBytes 1.96 Gbits/sec


Test Complete. Summary Results:
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.03 sec 2.24 GBytes 1.92 Gbits/sec 14787 sender
[ 5] 0.00-10.00 sec 2.23 GBytes 1.92 Gbits/sec receiver
snd_tcp_congestion bbr
rcv_tcp_congestion cubic

iperf3 -6 -R -O 10 -V -c lille.testdebit.info -p 9234
iperf 3.7
Linux turris 4.14.262 #0 SMP Tue Jan 18 20:15:42 2022 armv7l
Control connection MSS 1428
Time: Tue, 25 Jan 2022 21:08:29 UTC
Connecting to host lille.testdebit.info, port 9234
Reverse mode, remote host lille.testdebit.info is sending
Cookie: 2znx3vichodymajppm636ywqk2bfyzuwgmzg
TCP MSS: 1428 (default)
[ 5] local xxxx port 55554 connected to 2001:860:de12:200::2 port 9234
Starting Test: protocol: TCP, 1 streams, 131072 byte blocks, omitting 10 seconds, 10 second test, tos 0
[ ID] Interval Transfer Bitrate
[ 5] 0.00-1.00 sec 228 MBytes 1.92 Gbits/sec (omitted)
[ 5] 1.00-2.00 sec 229 MBytes 1.92 Gbits/sec (omitted)
[ 5] 2.00-3.00 sec 240 MBytes 2.02 Gbits/sec (omitted)
[ 5] 3.00-4.00 sec 247 MBytes 2.07 Gbits/sec (omitted)
[ 5] 4.00-5.00 sec 238 MBytes 2.00 Gbits/sec (omitted)
[ 5] 5.00-6.00 sec 241 MBytes 2.02 Gbits/sec (omitted)
[ 5] 6.00-7.00 sec 252 MBytes 2.11 Gbits/sec (omitted)
[ 5] 7.00-8.00 sec 235 MBytes 1.97 Gbits/sec (omitted)
[ 5] 8.00-9.00 sec 234 MBytes 1.96 Gbits/sec (omitted)
[ 5] 9.00-10.00 sec 236 MBytes 1.98 Gbits/sec (omitted)
[ 5] 0.00-1.00 sec 190 MBytes 1.59 Gbits/sec
[ 5] 1.00-2.00 sec 238 MBytes 2.00 Gbits/sec
[ 5] 2.00-3.00 sec 248 MBytes 2.08 Gbits/sec
[ 5] 3.00-4.00 sec 247 MBytes 2.08 Gbits/sec
[ 5] 4.00-5.00 sec 237 MBytes 1.99 Gbits/sec
[ 5] 5.00-6.00 sec 242 MBytes 2.03 Gbits/sec
[ 5] 6.00-7.00 sec 236 MBytes 1.98 Gbits/sec
[ 5] 7.00-8.00 sec 226 MBytes 1.90 Gbits/sec
[ 5] 8.00-9.00 sec 243 MBytes 2.04 Gbits/sec
[ 5] 9.00-10.00 sec 238 MBytes 1.99 Gbits/sec


Test Complete. Summary Results:
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.05 sec 2.30 GBytes 1.97 Gbits/sec 6265 sender
[ 5] 0.00-10.00 sec 2.29 GBytes 1.97 Gbits/sec receiver
snd_tcp_congestion bbr
rcv_tcp_congestion cubic

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:86593339 errors:0 dropped:0 overruns:0 frame:0
TX packets:10026839 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:532
RX bytes:125674710012 (117.0 GiB) TX bytes:9578644754 (8.9 GiB)

Not bad :slight_smile:

1 Like

Do you still see rx_discards?
I see them continuously, every / every other sec, on my mox with sfp module.

Didn’t checked since a long time.
Last reboot almost two days ago and here is the stats for eth2
RX packets:40684311 errors:0 dropped:0 overruns:0 frame:0
TX packets:7015215 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:532
RX bytes:52955186414 (49.3 GiB) TX bytes:1505944012 (1.4 GiB)
rx_discard: 14099

So still rx discard but not a lot. Didn’t seem to cause any issue.

1 Like

Thx,
Could you be so kind to paste the output of ring buffer params for the ethX where you have the sfp.

ethtool -g ethX

RX 128 on my MOX looks quite low imho.

Would be Interesting to know if it is the same on omnias

Ring parameters for eth2:
Pre-set maximums:
RX: 128
RX Mini: 0
RX Jumbo: 0
TX: 532
Current hardware settings:
RX: 128
RX Mini: 0
RX Jumbo: 0
TX: 532

1 Like

It seem it can’t be changed.
ethtool -G eth2 rx 532 for exemple do nothing