The reason the cable works with the laptop is that the laptop can auto detect the cable type and it then does not matter if its a straight or crossed cable
The PC either cannot auto detect the cable type or this facilty is not enabled (look for Auto MDI in the settings)
There may be a termination issue so its worth checking that your external cable is identical to the internal one
Finally another option would be to purchase an ethernet switch
http://www.cclonline.com/product-inf...ufacturer_id=0
They arent expensive and will resolve the patch/crossover issue and clean up the signal