Supported SFP modules

It would take an investment too big to make a list of compatible connectors. Many different SFP and switch modules and lines should be available. In fact it is a lottery. Either renounce or risk.

I’d recommend SFP modules and optic cables rather than Twinax DAC cables. Yes, it’s more expensive - but based on my experience is less trouble, unless you connect devices of a single vendor.
OEM SFPs like the ones from FlexOptix (https://bit.ly/2YzGyOr) are a good choice. You can get them preconfigured for compatibility to virtually any vendor or If you have the required hardware you can program them on your own, which makes them also reusable if you swap devices.
We use them a lot at work as they are sold at a fraction of the price compared to original vedor equipment (Cisco, Juniper, …).

2 Likes

Thanks for the link.

What’s about TP-LINK TL-SM321B 1000Base-BX WDM Bi-Directional ?

The simplest thing is to try. If you run the WAN to SFP switch command, see that the connection is not going, then it is incompatible. I hope you’re lucky. 70% of Omnia’s choice was for the SFP port. Now I have learned to appreciate the remaining 30%.

Finally checked: TP-LINK TL-SM321B is supported by Turris 4.0.3:

dmesg | grep sfp

[ 5.282570] sfp sfp: module TP-LINK TL-SM321B rev 1.1 sn 35506106580385 dc 17-06-15
[ 5.291907] sfp sfp: LC connector, encoding 8b10b, nominal bitrate 1.3Gbps +0% -0%
[ 5.299674] sfp sfp: 1000BaseSX- 1000BaseLX+ 1000BaseCX- 1000BaseT- 100BaseTLX- 1000BaseFX- BaseBX10- BasePX-
[ 5.309788] sfp sfp: 10GBaseSR- 10GBaseLR- 10GBaseLRM- 10GBaseER-
[ 5.316072] sfp sfp: Wavelength 1310nm, fiber lengths:
[ 5.321397] sfp sfp: 9µm SM : 20000m
[ 5.325675] sfp sfp: 62.5µm MM OM1: unsupported/unspecified
[ 5.331436] sfp sfp: 50µm MM OM2: unsupported/unspecified
[ 5.337195] sfp sfp: 50µm MM OM3: unsupported/unspecified
[ 5.342956] sfp sfp: 50µm MM OM4: unsupported/unspecified
[ 5.348716] sfp sfp: Options: txdisable, txfault, los+
[ 5.354042] sfp sfp: Diagnostics:

I think it would be better to have armada-385-turris-omnia-sfp.dtb by default.

Can you connect? Mine is also recognized. All fantastic, but then it doesn’t work.

I can. Also I think that speed is slightly better: it’s 920Mb/s now, before it was something like 880Mb/s.

1 Like

Automatic detection and switching would be best - as already implemented in the more recent uboot version that ships for the CZ11NIC23 hardware revision.
The one that is currently provided for earlier hardware revisions is rather outdated and supposedly been worked on but has not been introduced.


[1] https://gitlab.labs.nic.cz/turris/turris-os-packages/issues/485

3 posts were split to a new topic: How to flash a new u-boot

n8v8r, thanks for sharing!

BTW, I have a question: https://www.tp-link.com/us/business-networking/accessory/tl-sm321b/#specifications says that data rate is 1.25Gbps.

dmesg says both 1.3Gbps and 1Gbps in different places

# dmesg | egrep sfp\|eth2
[    4.465349] mvneta f1034000.ethernet eth2: Using hardware mac address d8:58:d7:00:50:a4
[    5.302567] sfp sfp: module TP-LINK          TL-SM321B        rev 1.1  sn 35506106580385   dc 17-06-15
[    5.311904] sfp sfp:   LC connector, encoding 8b10b, nominal bitrate 1.3Gbps +0% -0%
[    5.319665] sfp sfp:   1000BaseSX- 1000BaseLX+ 1000BaseCX- 1000BaseT- 100BaseTLX- 1000BaseFX- BaseBX10- BasePX-
[    5.329779] sfp sfp:   10GBaseSR- 10GBaseLR- 10GBaseLRM- 10GBaseER-
[    5.336062] sfp sfp:   Wavelength 1310nm, fiber lengths:
[    5.341388] sfp sfp:     9µm SM    : 20000m
[    5.345666] sfp sfp:  62.5µm MM OM1: unsupported/unspecified
[    5.351426] sfp sfp:    50µm MM OM2: unsupported/unspecified
[    5.357184] sfp sfp:    50µm MM OM3: unsupported/unspecified
[    5.362944] sfp sfp:    50µm MM OM4: unsupported/unspecified
[    5.368704] sfp sfp:   Options: txdisable, txfault, los+
[    5.374029] sfp sfp:   Diagnostics: 
[    5.377616] mvneta f1034000.ethernet eth2: switched to 802.3z/1000base-x link mode
[   21.657946] mvneta f1034000.ethernet eth2: configuring for 802.3z/1000base-x link mode
[   21.972393] mvneta f1034000.ethernet eth2: Link is Up - 1Gbps/Full - flow control off

other tools:

# ethtool eth2
Settings for eth2:
	Supported ports: [ FIBRE ]
	Supported link modes:   1000baseX/Full 
	Supported pause frame use: Symmetric
	Supports auto-negotiation: Yes
	Supported FEC modes: Not reported
	Advertised link modes:  1000baseX/Full 
	Advertised pause frame use: Symmetric
	Advertised auto-negotiation: Yes
	Advertised FEC modes: Not reported
	Speed: 1000Mb/s
	Duplex: Full
	Port: FIBRE
	PHYAD: 0
	Transceiver: internal
	Auto-negotiation: on
	Supports Wake-on: d
	Wake-on: d
	Link detected: yes

# mii-tool eth2
eth2: 1000 Mbit, full duplex, link ok

So is it 1.3Gbps or 1Gbps or 1000Mbps ? Also are there a way to get link quality measurements (if they available at all)?

Which is a bit off topic. @Pepe perhaps split from this thread?


There is a difference in between what the module can provide and what the eth port (eth2) that connects the SFP can. Plus

is likely the nominal bitrate which I trust is commonly perceived as the maximum achievable in whatever environment that figure has been conceived.

Notwithstanding the output is generated by different code sources and for different devices:

and may present nominal bitrate vs. actual bitrate.


1 Gbps = 1000 Mbps

1 Like

The 1.3 is a rounded version of 1.25*, and 1250 Mbps comes from giving the gross rate on which a 8/10 encoding is performed:
1250 * 8/10 = 1000
and this then is the gross ethernet rate. Please note that all packets on etthernet carry (>=) 38 bytes of ethernet overhead, so with a typical MTU of 1500 bytes this link will give you an ethernet payload rate of:
1000 * 1500/1538 = 975.29 Mbps
any further protocol like IPv4 and TCP will add more overhead per packet resulting in even lower payload rates. What on-line speedtests typicall measure is a IPv4/TCP/HTML payload rate (or goodput) and for a pure ethernet link without any further encapsulations/options (like a VLAN tag or a PPPoE header, or TCP options, or IP options, or …) you will at best see:
1000 * (1500-20-20)/1538 = 949.28 Mbps

*) IMHO the ethernet standards did the right thing by specifying the nominal speed after the 8/10 encoding (or what ever encoding a specific ethernet type uses), the 1.25 Gbps really are only of interest for people trying to implement the standard and not at all for folks simply using ethernet for data transfers :wink:

1 Like

Please note that in networking people have been using proper SI units for a long time (if not forever), so this is all base 10 and not base 2^10.
Sidenote: the [K|M|G|T|…]i prefixes like Ki or Mi denote base 2^10 numbers, so 1GiB = 1 * 1000^3/(2^10)^3) = 0.931 GB

Thank you guys for the explanation!

There has been a recent flurry of SFP related patches from Linux development committed in the OpenWrt Master branch, which yet have to be uplifted into the stable branches, that may improve the situation for SFP modules.


[3] https://git.openwrt.org/?p=openwrt%2Fopenwrt.git&a=search&h=HEAD&st=commit&s=sfp

little late but better then never, I’m using the CTS INC. SFP-31W2ASM10-DR module. it works w/ TOS 3 but not w/ TOS 4 (VLAN issues as described on many pages in this forum - however it seems to be an issue of TOS rather then the hw).

Is it just a VLAN issue? If so you may have a look at [4] since it is unrelated to SFP or caused by TOS.

Also, unless you got a CZ11NIC23 board revision (retails as Omnia 2019), it is currently required to manually activate the SFP Device Tree from the ssh cli with ln -sf armada-385-turris-omnia-sfp.dtb /boot/dtb && reboot

If none of the above is applicable perhaps you could elaborate on the matter?


[4] DSA and 802.1Q tagging

1 Like

Google Photos
This is not the case, if the module is incompatible, it will continue to not automatically switch to SFP. This at least is what happens to me. Much does not work anyway, but if I switch to SFP at least in dmesg I see mentioned the module, the model etc. If I let Turris OS 4.x do it, it simply goes to the WAN port even with the SFP module inserted.
Maybe mine is also a counterfeit version, because from Discomp it was sent to me with Turris OS 3.x, while in the official documentation it is written that this revision already mounts 4.x natively.

@anon50890781, thank you for the reference documentation you created.

The current device i’m working with has the revision CZ11NIC13.
My ISP (Sunrise in Switzerland) requires me to set the VLAN ID to 10 (tagged) on the WAN port (in TOS v4.0.6 eth2) and use DHCP to get connectivity - works with TOS3 (based on eth1) like a charm.

I have activated correctly linked the /boot/dtb (based on your input in other threads) and can see that the SFP is recognized in dmesg:

[    5.302596] sfp sfp: module CTS INC.         SFP-31W2ASM10-DR rev 1.0  sn <serial-nr>  dc 27-01-16
[    5.311932] sfp sfp:   LC connector, encoding 8b10b, nominal bitrate 1.3Gbps +0% -0%
[    5.319694] sfp sfp:   1000BaseSX- 1000BaseLX+ 1000BaseCX- 1000BaseT- 100BaseTLX+ 1000BaseFX- BaseBX10- BasePX-
[    5.329809] sfp sfp:   10GBaseSR- 10GBaseLR- 10GBaseLRM- 10GBaseER-
[    5.336093] sfp sfp:   Wavelength 1310nm, fiber lengths:
[    5.341420] sfp sfp:     9µm SM    : 10000m
[    5.345698] sfp sfp:  62.5µm MM OM1: unsupported/unspecified
[    5.351459] sfp sfp:    50µm MM OM2: unsupported/unspecified
[    5.357217] sfp sfp:    50µm MM OM3: unsupported/unspecified
[    5.362977] sfp sfp:    50µm MM OM4: unsupported/unspecified
[    5.368736] sfp sfp:   Options: txdisable, txfault, los+
[    5.374062] sfp sfp:   Diagnostics: ddm, intcal, rxpwravg

so it looks good, but dmesg gets also flooded with:

[ 1295.171830] sfp sfp: no PHY detected
[ 1295.351764] sfp sfp: no PHY detected
[ 1295.531768] sfp sfp: no PHY detected

Something seems to be wrong with the recognition of the connection, why i don’t get an IP addr on WAN (eth2.10) either.

In /etc/config/network it is set as following:

config interface 'wan'
        option proto 'dhcp'
        option ifname 'eth2.10'
        option ipv6 '0'

I would appreciate any hint…