3

I have a Cisco 2950 switch which has one of its ports connected to an Internet router provided by my ISP; I have no access to the router configuration, but I manage the switch.

If I leave all switch ports with their default setup (auto-negotiation of speed and duplex mode), this link always connects at 100 MBit/s, but in half-duplex mode.

I've tried replacing the cable, and also moving the link to another switch port: the result is always the same. A different device connected to the same port (or to any switch port, really) shows no problem at all.

It could be guessed that someone configured the router to only connect in half-duplex mode... BUT, here's the catch: if I manually force the switch port to full-duplex mode (duplex full in the interface configuration), the link goes up, stays up and is completely stable.

So:

  • The connection is not forced to half-duplex mode by the router, otherwise it would not connect at all if I force the switch end to full-duplex.
  • There is no actual link problem, otherwise the full-duplex connection would not go up or would at least show some errors.
  • But if I leave the port free to auto-negotiate, it always connects in half-duplex mode.

Why?

Massimo
  • 68,714
  • 56
  • 196
  • 319
  • If I remember correctly, the guys at Stack Exchange had a very similar problem a few years ago... – Mark Henderson Oct 29 '12 at 23:51
  • 1
    Since you are looking at Cisco gear see [this page](http://www.cisco.com/en/US/products/hw/switches/ps708/products_tech_note09186a00800a7af0.shtml). Basically if it is set to no-auto 100/full on one side, and auto on the other you get a duplex miss-match. – Zoredache Oct 29 '12 at 23:56
  • Could be this situation: http://en.wikipedia.org/wiki/Duplex_mismatch. But I can't check the router config, and would rather not force my switch ports to 100/full... – Massimo Oct 29 '12 at 23:56
  • 1
    Then call the person that manages that piece of equipment and have them set it to auto. Both sides need to be auto, or both sides need to be manually configured with the correct settings. – Zoredache Oct 29 '12 at 23:58
  • @MarkHenderson I suspect you are thinking of Fog Creek http://www.joelonsoftware.com/items/2008/01/22.html – Zoredache Oct 30 '12 at 00:16
  • @Zoredache - that's the one! – Mark Henderson Oct 30 '12 at 00:35
  • It's been a long time since I read this classic SF question: http://serverfault.com/questions/106160/should-network-hardware-be-set-to-autonegotiate-speeds-or-fixed-speeds – Ward - Reinstate Monica Oct 30 '12 at 06:33

3 Answers3

7

The router is probably set to either full or half duplex. When one device (your router) is forced to full or half, it completely stops trying to negotiate duplex. It won't even tell the other side what it is set to.

When the other device (your switch) doesn't get a response to its negotiation attempts, it takes the default safest choice, which is half duplex.

Gigabit Ethernet solves this problem by not allowing for anything other than full duplex.

longneck
  • 22,793
  • 4
  • 50
  • 84
  • Then it's probably set to full, or it would become *quite* unhappy when I set *my* end to full... – Massimo Oct 29 '12 at 23:58
  • So my only solutions are to either call my ISP and tell them to configure their router in a sane way, or to force my switch port to full-duplex (and possible run into more problems later)? – Massimo Oct 29 '12 at 23:59
  • I've always been of the opinion that switch to switch links and switch to router links should be hard coded to a speed and duplex that both sides can operate with. – joeqwerty Oct 30 '12 at 00:13
  • Bottom line: it only works when both sides do the same thing, otherwise it works crazily bad. Am I the only one to think this is quite less-than-ideal? – Massimo Oct 30 '12 at 08:06
4

In addition to the answer longneck provided I'd like to add this blurb from a Dell document on auto-negotiation:

Communication between a non-auto-negotiation 100BaseT device and an auto-negotiation device follows these steps:

  1. The DTE powers up in link fail mode and transmits FLPs.
  2. The 100BaseTX link partner powers up and sends idle symbols.
  3. The DTE parallel detection function detects the idle symbol,bypasses the auto-negotiation function, passes control to the 100BaseTX PMA, and transmits idle.
  4. A link is established at 100 Mbps half duplex.

This image shows the possible link states:

enter image description here

joeqwerty
  • 108,377
  • 6
  • 80
  • 171
0

The ISP router is probably not using the same auto-negotiation algorithm that your switch. for example, the ISP router could use the IEEE 802.3u Ethernet standard of 1995, in which the implementation of auto-negotiation was optional and part of the specifications open to interpretation; and your switch is probably UpToDate, and complies with the IEEE 802.3 standard of 1999.

A bypass would be to buy a switch from the same manufacturer as this router, and hope to find (in this new switch) the same auto-negotiation algorithm that this ISP router is used.

Machavity
  • 834
  • 10
  • 26