Some common troubleshooting tips:
Double check the IO pin definitions in the drivers nic.h header file are correct
Verify with a scope that all of the control and data pins to the nic are working correctly.
Check that no other device on a serial or parallel data bus to the network interface controller IC is outputting while the driver is trying to communicate with the nic.
Check that your microcontroller is not resetting due to a watchdog timer timeout.
See the:
‘Signal Noise Issues With MMC & SD Memory Cards (& Clocked Devices In General)’
page in the resources area of our web site for details of a common signal noise problem experienced when using clocked devices such as network interface controllers.
If you are using a 32bit device ensure that for the driver files WORD = 16 bits and DWORD = 32 bits.
If you suddenly find that you don’t get a response from a remote server or router, for instance when trying to log onto a POP3 or SMTP server or requesting a DNS response from your networks router, bear in mind that you may deliberately not be getting a response. While debugging you can easily upset servers by, for instance, break pointing code and not letting a TCP connection be properly closed at the end of an operation. Alternatively your router may have built in protection mechanisms enabled to protect against denial of service (DOS) attacks which cause it to start ignoring repeated requests for the same thing. Typically waiting a little while will solve the problem as these types of protection mechanisms are automatically reset by a timer. Alternatively you could try hard resetting your router or temporarily using an alternative POP3 or SMTP server.


