As Zoredache has said, this is probably a wiring problem. A cable-tester should confirm you've got one or more wires in your cable that aren't connected (or connected incorrectly).
I recommend you get a proper RJ45 ethernet tester from ebay. You should be able to get one for around $10. You may as well order some replacement RJ-45 connectors and a crimping tool so you can replace your connectors yourself.
Here, I'll give you a recipe....
My recommendations, in order
Order an RJ-45 cable tester, replacement RJ-45 connectors and a RJ-45 crimping tool from ebay (etc).
If the tester reports the cable is fine, then your problem isn't likely to be the cable. If the tester says the cable's fine, then stop following these instructions and look at your other equipment.
I'm betting the tester will indicate there's a problem with one or more wires. Pick one end and replace the connector. You can find endless guides on how to do this with a quick search.
Re-test the cable. If there's still a problem, then replace the other RJ-45 connector.
Re-test the cable. If there's still a problem AND you're certain you didn't screw up either end (just keep replacing until you're certain you got it, maybe practice on (s)crap cables before working on your important one), then I wager one of the wires in the cable is physically snapped somewhere and you'll probably have to just replace the whole cable.