82574l link loss linux platform. Debug advise please?
I am aware 82574l is notorious for the link loss when driven with lots of data. I have tried a lot of workarounds suggested in different forums. But couldn't fix the problem. I am using tegra based board with 82574l NIC. The OS is Linux Ubuntu 13.04. The e1000e driver was upgraded to 3.04 to rule out any software problems. I am using iperf to reproduce the problem.
The 2 platforms which runs iperf server and client are identical boards with 82574l. I assign them static IP connected to each other using CAT5e cable. From information gathered from forums, I tried disabling ASPM in NIC and kernel. I have also tried disabling TSO, auto negotiation, changed TX/Rx ring buffer sizes, Rx interrups/sec. Forced the three interrupts separately. Tried modifying the 15th bit of the eeprom setting (58->5a which is said to disable Power save). But none of them helped. The problem is there is hardly any error messages which point to the error. Just the netdev watchdog times out Tx and resets the NIC. I tried disabling the watchdog. But the system is stuck.
Attached are the logs (TSO not disabled). Are there any tools, I can use to debug the problem? Any suggestions? The problem occurs randomly sometimes within minutes (but sometime takes hours).