The person asking the question had also swapped the operating system on the machine as well from Windows to Linux to BSD – all of which showed the same problem.
My initial reaction is most certainly hardware; I’d swap out the network card and see if that made any kind of difference. I’m guessing it will.
There is one small possibility that it’s an auto-speed sensing related issue. Many network cards can “auto-sense” whether your network is running at 10mbs or 100mbs. However sometimes they get it wrong, especially if they are connected to another auto-sensing device like a hub or router. Getting it wrong could lead to all sorts of odd behavior. See if there’s a way to turn off the auto-sense feature of the card and set it to the proper speed manually.