For MikroTik devices with SFP+ interface that support both 10G and 1G link rate, following settings must be set on both linked devices for required interfaces. These settings only relate when optical SFP transceivers are used. In order to get them working in 1G link rate, use the following configuration:
Since RouterOS v7.12
/interface ethernet set sfp-sfpplus1 auto-negotiation=no speed=1G-baseX
Older RouterOS
/interface ethernet set sfp-sfpplus1 auto-negotiation=no speed=1Gbps full-duplex=yes
auto-negotiation disabled
port speed 1G
full-duplex
I’ve found an odd exception to this rule - Netpower Lite 7R SFP+ port connected to RBFTC11 SFP port (SFP 1G optical transceivers on both sides) works for me only with auto-negotiation enabled. With forced 1G FD on the Netpower side (nothing is configurable on the RBFTC11 side) the link is reported as up, but no packets are received from the RBFTC11. I had no access to the remote RBFTC11 side to check if the link is unidirectional or none at all.
On the other hand, Netpower Lite 7R SFP+ connected to CRS328-4C-20S-4S+ SFP (again, SFP 1G optical transceivers on both sides) seems to work best with forced 1G FD on both sides (as documented) - with auto-negotiation enabled it mostly works but there is high packet loss, Rx FCS and Fragment error counters on the Netpower 7R side are increasing, and the switch seems to renew its DHCP lease after each such error (so maybe it’s actually a brief link loss).
Then there is this note:
- RBFTC11 - works connected to other device 1G SFP port.
So maybe RBFTC11 to 1G SFP module in Netpower Lite SFP+ port is not a supported combination at all? But it has been working fine for a long time, I forgot to read the docs and haven’t forced 1G FD - auto-neg works, and no weird packet loss either. It may also be worth documenting that RBFTC11 has flow-control on the SFP port enabled (and actually sends lots of pause frames when the other side wired link is 10/100 not gigabit).
Is there some more detailed documentation how SFP auto-negotiation actually works? It seems like something not well standardized (unlike RJ45 auto-negotiation).