I've had a few occasions when I've had to force gigabit down to 100BaseT or even 100 down to 10BaseT. My preferred method is to force the NIC down to the appropriate speed but if you aren't using Windows (OS-X, Linux or an embedded device) then a hardware solution is needed.
- Distance - 100BaseT only goes 100m over cat5e but 10BaseT goes 300m; If you find yourself in that situation then an old 10BaseT hub at the far end does the job.
- Equipment reports 100BaseT but is only reliable at 10BaseT; my Squeezebox network MP3 player is running a hacked OS and works a lot more reliably at 10BaseT. I achieved this by swapping the green/white and orange cores in the network cable. This degrades the common-mode rejection performance of the cable and means the ethernet switch ramps the circuit down to 10BaseT.
- Gigabit too fast? Just make off a cable with the blue and brown pairs excluded. Gigabit needs all four pairs and if the switch only sees the Green and Orange pairs it will assume 100BaseT.