Being a predominantly OS and Comms engineer, I get a lot of network calls. One very common issue is duplex mis-match. People are happy and eager to adopt new technology and constantly demand better performance from the kit they have, however they still insist on following archaic administration practices, like forcing switch settings and then start screaming when they're getting crap performance on their new flashy gigabit interface.
I know exactly why this is - many years ago, when the technology was new and several standard hadn't been ratified, auto-negotiation was unreliable and people chose to force the settings. This is perfectly acceptable, and the standards for most of the ethernet technologies allow for this. However, things have moved on now, and auto-negotiation is no longer the monster it used to be. In fact, it is now so reliable, that the new 1000BASE-T standard for copper gigabit does not allow for forced mode 1000BASE-T with autonegotiation disabled running at 1000 Mbps. There are also more and more devices that only support auto-negotiation.
I think it's about time network administrators update their administration protocols and rules and take into account the reliability of auto-negotiation. It'll make their life and mine so much easier.
The Sun Blueprints Program has a great article on "Ethernet Autonegotiation Best
Practices". It summarises auto-negotiation and how it works wonderfully. It also provides troubleshooting tips. This is well worth a read if you're a network administrator still forcing switch settings.
If you insist on forcing your network duplex and speed settings, remember one very important rule:
BOTH the host and the switch need to be doing the same thing.
ie, if the switch is forced to 100FDX, then the host MUST also be forced to 100FDX. If the switch is using auto-negotiation, then so must the host.