I don't understand all this half/full duplex negotiation stuff

You may be confused because hardware changes have made what used to be good advice become not so good advice.

Here's the basic problem. 10/100 capable network devices have 5 possible modes:

  • 10 Mbs half duplex
  • 10 Mbs full duplex
  • 100 Mbs half duplex
  • 100 Mbs full duplex
  • AUTO, which will negotiate one of the above 4 modes

Typically you have a card connected to a 10/100 switch. If both devices are set to auto, and everything works as it should, then you end up with both devices set to 100 Mbs full duplex, which is the fastest possible connection (duplex means that the devices can "talk" in both directions at the same time).

At one time, most tech folk would say NOT to use auto negotiation because it was more likely to screw up and leave you with a substandard connection. That's not usually the case nowadays but you should understand the underlying possibilities just in case.


If the speeds don't match, you get no communication at all. You have no link, and no network.

If the duplex setting doesn't match, you MAY not get communication at all, but more commonly you get problems: lousy performance, intermittent dropouts, etc.

This Cisco link goes into more detail:

How to check the settings

I can't tell you how to check the settings on your switch or hub, but you should be able to find that on the web.

For SCO OpenServer, "ndstat -l" will show your current setting. To change it, see How do I force the speed or duplex settings of my NIC.

For Unixware, I think it's under Advanced Settings of Scoadmin->Network

For Linux, it's "mii-tool" that can query and set your NIC.

Mac OS X ifconfig can both show and set: "sudo ifconfig en0 mediaopt full-duplex", for example.

Obviously if auto negotiation is not working, you want to manually set BOTH devices to the best possible speed and to full duplex. Note that "best possible" might be 10 Mbs if you are a long distance away: technically both 10 and 100 Mbs are supposedly limited to 100 meters, but in actual practice 10 Mbs can often go further; 100 Mbs cannot. Don't forget to take patch cables into account if you are getting close to these limits, and quality can make the difference here.

Got something to add? Send me email.

(OLDER) <- More Stuff -> (NEWER)    (NEWEST)   

Printer Friendly Version

-> (SCO Unix) Understanding half/full duplex negotiation problems


Increase ad revenue 50-250% with Ezoic

Sat Mar 7 00:31:47 2009: 5620   anonymous

ndstat -l does not show the duplex setting of my interface (SCO OSR 5.0.6) unless it is in a non-obvious form. What is it supposed to look like? I though it would be something like "Duplex: Full" but all I see is "Interface speed: 100 Mbits/sec"

Sat Mar 7 01:35:00 2009: 5622   TonyLawrence

I don't remember, sorry. Search "ndstat" here; maybe some other post will have an example.

Kerio Samepage

Have you tried Searching this site?

Support Rates

This is a Unix/Linux resource website. It contains technical articles about Unix, Linux and general computing related subjects, opinion, news, help files, how-to's, tutorials and more.

Contact us