Just to shed a little bit of light on this, I just started having this issue today. My ethernet port was working like a champ, but then it wouldn't connect at all. After finding this post and doing some testing here is what I've found.
System Info:
Model Name: MacBook Pro
Model Identifier: MacBookPro8,3
Processor Name: Intel Core i7
Processor Speed: 2.2 GHz
Number of Processors: 1
Total Number of Cores: 4
L2 Cache (per Core): 256 KB
L3 Cache: 6 MB
Memory: 16 GB
Boot ROM Version: MBP81.0047.B27
SMC Version (system): 1.70f5
Ethernet card info:
Broadcom 57765-B0:
Name: ethernet
Type: Ethernet Controller
Bus: PCI
Vendor ID: 0x14e4
Device ID: 0x16b4
Subsystem Vendor ID: 0x14e4
Subsystem ID: 0x16b4
Revision ID: 0x0010
Link Width: x1
BSD name: en0
Kext name: AppleBCM5701Ethernet.kext
Firmware version: 57765-v1.37, 0x7cfcc847
Location: /System/Library/Extensions/IONetworkingFamily.kext/Contents/PlugIns/AppleB CM5701Ethernet.kext
mDNS offload capable: 70:cd:60:xx:xx:xx
Version: 3.6.9b9
The issue started when I was trying to connect to an enterprise level switch locked at 1000baseT. I got the "cable unplugged" message. After troubleshooting the normal stuff, (cable, switchport) We unlocked the switch link speed and set it to auto... I connected at 10Mbps. I then tried to place a 10/100 hub between my MacBook Pro and the 1000 switchport. I connected at 100Mbps with the slower hub in place.
Ok...
So back to the direct connection to the 1000 switch. I then manually set my MacBook Pro ethernet port to 10Mbps with full duplex. Success.
I then tried to set my ethernet speed to 100Mbps or 1000Mbps with full duplex. No dice.
To me, this proves that the physical hardware is working. This is looking to be a firmware issue with my NIC. I have checked for updates... None available. Lets see what the Apple store has to say about this as I need to have faster speeds than 10Mbps for my job (IT professional) without carrying a 10/100 switch everywhere with me.