Ethernet Port Speed/Duplex Howto

  Host-A                                          Host-B
 .-------.                                       .-------.
 |       |                                       |       |
 |       |                                       |       |
 |   1   |                                       |   1   |
 '---+---'                                       '---+---'
     |                                               |
     +-----------------------------------------------+

Typical scenarios

Default settings aim for plug and play

The default settings for speed-duplex aims for plug and play. The examples below describe the behaviour when connecting two WeOS units, but likely they also apply when connecting a WeOS unit with some other unit.

Fixed copper ports

Auto-negotiation will result in 1000-full when connecting two Gbit copper ports.

Host-A:/#> show port
PORT             LINK     TYPE       SPEED  STATE           OWNER/VLAN
eth1             Up     1000-T  1000M-Full  Forwarding      vlan U:1
eth2             Down   1000-T  ----------  No-Link         vlan U:1
...
Host-A:/#>

Auto-negotiation will result in 100-full when connecting two FE ports or a Gbit with an FE port.

Host-A:/#> show port
PORT             LINK     TYPE       SPEED  STATE           OWNER/VLAN
eth1             Up     1000-T   100M-Full  Forwarding      vlan U:1
eth2             Down   1000-T  ----------  No-Link         vlan U:1
...
Host-A:/#>

Fiber SFPs

Auto-negotiation will result in 1000-full when connecting two Gbit Fiber SFPs.

Host-A:/#> show port
PORT             LINK     TYPE       SPEED  STATE           OWNER/VLAN
eth1             Up    1000-LX  1000M-Full  Forwarding      vlan U:1
eth2             Down   No-SFP  ----------  No-Link         vlan U:1
...
Host-A:/#>

When connecting two FE Fiber SFPs, the link will operate in 100-full (without auto-negotiation).

Host-A:/#> show port
PORT             LINK     TYPE       SPEED  STATE           OWNER/VLAN
eth1             Up     100-FX   100M-Full  Forwarding      vlan U:1
eth2             Down   No-SFP  ----------  No-Link         vlan U:1
...
Host-A:/#>

If a Gbit and a FE Fiber SFP are connected, the link will not come up.

Note

There are many different types of Gbit and Fiber SFP technologies (multi-mode, single mode, BiDi, etc.), thus it is not only the speed which need to match.

Configuring auto-negotiation advertisement

Auto-configuration enables the peers to agree on the best common speed/duplex mode. Assume the peer is using auto-negotiation, and you wish to limit the speed to 10 Mbit/s. Then you could set speed-duplex 10-full or speed-duplex 10-half, 10-full. The link will come up in 10-full if the peer supports that mode.

Host-A:/#> config
Host-A:/config/#> port eth1
Host-A:/config/port-eth1/#> auto-negotiate 
Host-A:/config/port-eth1/#> speed-duplex 10-full,10-half
Host-A:/config/port-eth1/#> leave
Host-A:/#> show port
PORT             LINK     TYPE       SPEED  STATE           OWNER/VLAN
eth1             Up     1000-T    10M-Full  Forwarding      vlan U:1
eth2             Down   1000-T  ----------  No-Link         vlan U:1
...
Host-A:/#> 

When both peers use auto-negotiation, but have no common mode, the link will not come up.

Trouble-shooting

Only one peer using auto-negotiation

If one side has auto-negotiation enabled while the peer has not, the link is likely to come up with the right speed, but wrong duplex mode.

Consider the case when A-side uses auto-negotiation, and B is set to 100-full and auto-negotiation disabled: The result will be that A sets its port to 100-half (it can determine the speed, but not the duplex mode, see §28.2.3.1 of 1).). B sets link to 100-full. When reading the RMON counters, A is likely to report lots of late collision errors, while B is likely so report rx checksum errors.

Mismatching fixed configurations

If A and B both disable auto-configuration, they must set the same speed-duplex mode. If the speeds do not match, the link will not come up. If the speed matches, but not the duplex mode (e.g., 100-full and 100-half), the link will come up but the same kind of error as described in the previous section.


  1. IEEE 802.3-2012 Clause 28: “Physical Layer link signalling for Auto-Negotiation on twisted pair” 

  2. IEEE 802.3-2012 Clause 37: “Auto-Negotiation function, type 1000BASE-X”