rb750gr3 Gigabit auto negotiation

Good afternoon,
I have the follow settings:

Ether 1 = dhcp client to internet
Ether 2 - ether 4 = bridge

I noticed that the bridge is running only in 100mbs. I try to turn off auto negotiation and set to gigabit the interface and then its freeze and I lost conection. What should I do to get all the ports Gigabit ?
PS:I have a firewall and nat with basic security settings from wiki and use the default range dhcp.

regards,
Christopher

Patch cable or crosslink cable?

Where do you see 100MB?

All my interface are running and connecting to 1GB devices, but commands shows 100MB

[secret@XY155] > /interface ethernet print detail
Flags: X - disabled, R - running, S - slave
 0 R  name="ether1-Wan" default-name="ether1" mtu=1500 l2mtu=1596 mac-address=6C:CC:AB:88:34:3E
      orig-mac-address=6C:CC:AB:88:34:3E arp=enabled arp-timeout=auto loop-protect=default
      loop-protect-status=off loop-protect-send-interval=5s loop-protect-disable-time=5m auto-negotiation=yes
      advertise=10M-half,10M-full,100M-half,100M-full,1000M-half,1000M-full full-duplex=yes
      tx-flow-control=off rx-flow-control=off speed=100Mbps bandwidth=unlimited/unlimited switch=switch1

Look at speed=100Mbps
Not sure why I can not see the correct speed when running this command, but its 1GB link

Same here:

/interface export
/interface ethernet
set [ find default-name=ether1 ] name=ether1-Wan speed=100Mbps
set [ find default-name=ether2 ] name=ether2 speed=100Mbps
set [ find default-name=ether3 ] speed=100Mbps
set [ find default-name=ether4 ] name=ether4 speed=100Mbps
set [ find default-name=ether5 ] name=ether5 speed=100Mbps

If I in Winbox goes to Interfaces->Interfaces->Open ether1->status, it shows rate 1Gbps

So why do all other config show 100Mpbs, but?

Apparently you have to use /interface ethernet monitor 0,1,2,3,4 to see the real link speeds. But if even there you can see 100 Mbit/s, I agree with @HZsoft that the first thing to check/replace is the cable.

Just for reference, gigabit ethernet will auto-detect / auto-cross cable pairs if needed. Hence with gbe cross-over cables are no longer necessary.
gbe DOES need / use all 4 pairs though.

/interface ethernet> monitor  e4_tv once 
                      name: e4_tv
                    status: link-ok
          auto-negotiation: done
                      rate: 100Mbps
                      ...
               advertising: 10M-half,10M-full,100M-half,100M-full,1000M-half,1000M-full
  link-partner-advertising: 10M-half,10M-full,100M-half,100M-full
/interface ethernet> monitor  e5_ext  once 
                      name: e5_ext
                    status: link-ok
          auto-negotiation: done
                      rate: 1Gbps
                      ...
               advertising: 10M-half,10M-full,100M-half,100M-full,1000M-half,1000M-full
  link-partner-advertising: 10M-half,10M-full,100M-half,100M-full,1000M-full

/interface ethernet
set [ find default-name=ether4 ] advertise=10M-half,10M-full,100M-half,100M-full,1000M-half,1000M-full 
    auto-negotiation=yes ...full-duplex=yes ... \
    name=e4_tv \
    ... speed=1Gbps
set [ find default-name=ether5 ] advertise=10M-half,10M-full,100M-half,100M-full,1000M-half,1000M-full
    auto-negotiation=yes ...full-duplex=yes ... \
    name=e5_ext \
    ... speed=1Gbps

AFAIK there was a change in the defaults and compact report of /export, possibly 6.42.x → 6.43.x. This is purely cosmetic - speed=X has no effect unless auto-negotiation=no is also present.

My router is running 6.43.13

This shows correct speed, by why other commands show 100Mbps is for me strange.

/interface ethernet monitor ether1-Wan once
name: ether1-Wan
status: link-ok
auto-negotiation: done
rate: > 1Gbps
full-duplex: yes
tx-flow-control: no
rx-flow-control: no
advertising: 10M-half,10M-full,100M-half,100M-full,1000M-half,1000M-full
link-partner-advertising: 10M-half,10M-full,100M-half,100M-full,1000M-half,1000M-full

What tdw wrote is correct. “speed=” is only taken in account when you disable auto-negotiation. If you have auto-negotiation enabled, then “advertise=” values are used instead.

I do understand that, but when you just like to see interface info and write this and get:

/interface ethernet
set [ find default-name=ether1 ] name=ether1-Wan speed=100Mbps

Its not intuitive at all what is then the speed is showing.
speed=100Mbps could then be.

  • Actual speed?
  • Auto negotiation off speed?
  • Advertised speed?

It should be renamed to something better.

How did you get to ROS version 6.43 on this device … by upgrading from older ROS?

A few facts:

  • export shows settings that are different from default.
  • commands export and print show configured values (either static or dynamic configuration). Command monitor (available in some sections) shows running values
  • settings don’t get altered when ROS upgrades … upgrade magic has no way of knowing whether some setting is there because it used to be default in some previous version or because user wanted it such. Hence settings don’t get changed during upgrade
  • default setting in /interface ethernet was speed=100Mbps in ROS <=6.42 (or something), default in ROS >=6.43 is speed=1Gbps
  • setting speed= only gets used if auto-negotiation=no. That’s why gigabit ports were running at gigabit (if the other party supported it) even with ROS<=6.42

All bullets together (except the last one) explain why you see speed=100Mbps in your exports …

BTW, what you’re complaining about is only problem in CLI (where means of changing the command set depending on context is quite limited). In GUI (checked in webfix, expect winbox behaves similarly) if port has “Auto Negotiation” checked, other settings (“Speed” and “Full Duplex”) are not displayed. They get displayed only after “Auto Negotiation” is unchecked.

My take is that naming is adequate but one needs to understand all settings of a given entity (including their possible interaction) … without it, no naming will solve problems. OK, perhaps speed= should be renamed to interface_data_transmission_speed_which_takes_effect_only_when_auto-negotiation_is_disabled=?
OTOH users should hire consultants when facing such configuration tasks too complex for their ROS understanding and knowledge … or if they are too lazy to read the manual (I did pay technician to read the manual instead of reading it myself once … not in IT world though).

You should use “/interface ethernet monitor”, as that is where actual link rate is displayed.
Export is not correct tool for checking rate, as it is dynamic value and can change in case of auto-negotiation, or it can be non-existent if link is not up.

Since by default auto-negotiation is enabled and all supported rates are advertised, with /export you don’t see for example “auto-negotiation=yes advertise=10M-half,10M-full,100M-half,100M-full,1000M-half,1000M-full”, you have to use “/export verbose” to see the non-default values.

@mkx

Thanks allot for the good and long explanation.
You are correct in your assumption., this is an upgraded router. :slight_smile:


Just not to confuse my brain, I did sett all interface to speed=1Gbps and now it does not show speed when run /interface ethernet export

I agree, but print detail is the tool to show the current (dynamic) state which works on many other places, but in this case surprisingly no actual-speed (or rate, to maintain the same item name across commands) is present among the values. So whereas at other places print detail is sufficient, here you need monitor once which goes against the philosophy of having same things done the same way for all types of objects which makes RouterOS so pleasant to use as compared to native Linux where every configuration aspect has its own associated set of utilities with mutually incompatible syntaxes.

A very good point Sindy.

Hopefully they (MT) do read this and change it in later release.

If you look at my old post here: http://forum.mikrotik.com/t/logging-prefix-is-a-mess-sup-105353-sup-144261-waiting-for-mt-to-support-rfc-5424/111067/1
not all is done in simple and straight forward manner.

I tried change cable. downgrande and the only port that get 1gbs is the Ether 1 WAN port. Alreary disable hardware offload, RSTP is none . Set without bridge, with Bridge. I dont know what to do.

/interface ethernet switch set switch1 switch-all-ports=no when I see the status does not change


interface ethernet monitor
numbers: 0,1,2,3,4
name: ether1 ether2-master ether3 ether4 ether5
status: link-ok link-ok link-ok link-ok link-ok
auto-negotiation: done done done done done
rate: 1Gbps 100Mbps 100Mbps 100Mbps 100Mbps
full-duplex: yes yes yes yes yes
tx-flow-control: no no no no no
rx-flow-control: no no no no no
advertising: 10M-half 10M-half 10M-half 10M-half 10M-half
10M-full 10M-full 10M-full 10M-full 10M-full
100M-half 100M-half 100M-half 100M-half 100M-half
100M-full 100M-full 100M-full 100M-full 100M-full
1000M-half 1000M-half 1000M-half 1000M-half 1000M-half
1000M-full 1000M-full 1000M-full 1000M-full 1000M-full[/list][/list]
link-ad : 10M-half 10M-half 10M-half 10M-half 10M-half
10M-full 10M-full 1 0M-full 10M-full 10M-full
100M-half 100M-half 100M-half 100M-half 100M-half
100M-full 100M-full 100M-full 100M-full 100M-full
1000M-full
Looks like is only one device accepted 1gb (link-partner-advertising)

Of course you need to make sure that your devices are capable of 1Gbps, and also check that you have real CAT-5E or CAT-6 cable and not chinese rubbish with too-thin copperclad aluminium wire.

I buyed a furukawa cable and works fine.