Hello,
I’ve got a hEX (RB750Gr3) and a couple of hAP ac² routers.
With both devices, I have never gotten a successful connection to any of my various periphal devices when the routers Ethernet port is configured as a 1G link without Auto Negotiation:
# does not work
/interface ethernet set [ find default-name=ether3 ] auto-negotiation=no speed=1Gbps
The link works fine when I define Auto Negotiation, but disable advertising for all speeds except 1000M-full:
# works
/interface ethernet set [ find default-name=ether3 ] auto-negotiation=yes advertise=1000M-full
For my periplal devices that don’t support gigabit ethernet, forcing a 100Mbps link without auto negotion works OK:
# works
/interface ethernet set [ find default-name=ether3 ] auto-negotiation=no speed=100Mbps
It’s quite possible you’re not doing anything incorrectly.
If your peripherals default to 100M in the absence of negotiation, and require negotiation to step up to 1G – which is not unreasonable default operation – all of the behavior you describe would occur.
You don’t specifically say, but I infer that your 1G devices prefer to choose 100M if negotiation is advertised for both 100M and 1G. This can be an error rate thing. Yes, you can force it to 1G by disabling 100M, but you may be experiencing errors and poor performance. Check your error meters. 1G requires quality-controlled cables.
You will not, auto-negotiation is mandatory for 1000BASE-T. The definitive reference is IEEE standard 802.3, Section 28D.5 Extensions required for Clause40 (1000BASE-T).
If true, the standard is not uniformly obeyed. In my region, CenturyLink gateway feeds are routinely supplied that run 1G and refuse negotiation, and you can’t connect with them unless you configure your interface as 1G non-negotiated. Something to watch out for.
@macsrwe:
My devices default to 1G when Auto Negotiation with multiple speeds advertised, and I see no drops or errors recorded.
The reason I tried to set the link specifically to 1G is due to experiences in the past where I’ve seen devices intermittently trigger a renegotiation, causing communication to be interrupted. The worst I saw was a Netgear router connected to a Cisco router, which dropped every couple of seconds for a renegotiation. Ever since then, at my work, best practice has always been to set fixed speeds for links between fixed pieces of hardware. I’m trying to implement those best practices at home. The command for Cisco routers we use at work is “set speed auto” or “set speed 1000”. My guess is that Cisco’s “speed 1000” is the equivalent of MikroTiks “auto-negotiation=yes advertise=1000M-full”, because it works fine.
@mikrotik:
The “/interface ethernet set … speed” parameter is used only when auto-negotiation is disabled. Why bother offering and allowing speeds of 1Gbps or greater to be selected if they will not work?
Ref: https://wiki.mikrotik.com/wiki/Manual:Interface/Ethernet
speed (10Mbps | 10Gbps | 100Mbps | 1Gbps; Default: ) Sets interface data transmission speed which takes effect only when auto-negotiation is disabled.
Keep in mind that a posting in this forum is not guaranteed to be seen or responded to by MikroTik personnel. If you want to make sure MikroTik sees and responds to your issue, you should email it to support@mikrotik.com. Feel free to return back here and post the gist of their response for those who are following your issue and are curious.
If that is on a copper interface certainly not standards compliant - but ISPs appear to do wacky things to stop people using their own equipment.
@DaveN
Historically the default configuration ethernet interface speed= parameter was 100Mbps, I think it was changed to 1Gbps in 6.43.x - rather pointless as when disabling auto-negotiation you would be picking any other speed.