That is more likely a symptom of bad cables.
That is the problem when you buy cables that are not actually certified and tested to meet the standards for ethernet cables. They can randomly work on some devices and not on others. Some devices tolerate a out of spec cable better than others so testing between devices is not a valid way to test a cable.
Even fully certified cables can be damaged, it only take one wire to get slightly loose in the end or a crack internal crack in the wire anyplace in the length. There really is no way for a home user to really test a cable, the meters used to certify ethernet cables are extremely expensive.
I really doubt it is ports on your router. I would buy a few quality cat5e ethernet cables to replace yours it is going to be a lot cheaper than a new router. Again the key to a good cable is to make sure the seller clearly states the cable is pure copper and the wire size is 22-24, 23 is the most common size.