bf516 network sometimes become very slow


      My  product solution is to use bf516 v0.2 work under uClinux environment. The phy device is smsc 8710. This product has been manufactured three years ago no attention to network issue, recently I discovered a problem with the network.When product work for some time (perhaps a few days or a few hours), the network is very slow. The product network display:


      eth0      Link encap:Ethernet  HWaddr 00:05:F7:C0:0A:4C                        
          inet addr:  Bcast:  Mask:     
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1                   
          RX packets:59216 errors:0 dropped:0 overruns:0 frame:0               
          TX packets:501 errors:0 dropped:0 overruns:0 carrier:0               
          collisions:0 txqueuelen:1000                                         
          RX bytes:4180523 (3.9 MiB)  TX bytes:53954 (52.6 KiB)                
lo        Link encap:Local Loopback                                            
          inet addr:  Mask:                                  
          UP LOOPBACK RUNNING  MTU:16436  Metric:1                             
          RX packets:3 errors:0 dropped:0 overruns:0 frame:0                   
          TX packets:3 errors:0 dropped:0 overruns:0 carrier:0                 
          collisions:0 txqueuelen:0                                            
          RX bytes:336 (336.0 B)  TX bytes:336 (336.0 B)



    PC  ping the device:

chlxie@ubuntu:~$ ping
PING ( 56(84) bytes of data.
From icmp_seq=1 Destination Host Unreachable
From icmp_seq=2 Destination Host Unreachable
From icmp_seq=3 Destination Host Unreachable
64 bytes from icmp_req=4 ttl=64 time=1001 ms
64 bytes from icmp_req=5 ttl=64 time=1.81 ms
64 bytes from icmp_req=6 ttl=64 time=0.989 ms
64 bytes from icmp_req=7 ttl=64 time=0.813 ms
64 bytes from icmp_req=8 ttl=64 time=0.839 ms
64 bytes from icmp_req=9 ttl=64 time=0.969 ms
64 bytes from icmp_req=10 ttl=64 time=0.765 ms
64 bytes from icmp_req=11 ttl=64 time=0.793 ms
64 bytes from icmp_req=12 ttl=64 time=1.02 ms
64 bytes from icmp_req=21 ttl=64 time=1.02 ms
64 bytes from icmp_req=22 ttl=64 time=0.853 ms
64 bytes from icmp_req=23 ttl=64 time=0.825 ms
64 bytes from icmp_req=24 ttl=64 time=0.851 ms
64 bytes from icmp_req=25 ttl=64 time=0.953 ms
64 bytes from icmp_req=26 ttl=64 time=0.979 ms
64 bytes from icmp_req=27 ttl=64 time=0.835 ms
64 bytes from icmp_req=28 ttl=64 time=0.837 ms
64 bytes from icmp_req=29 ttl=64 time=0.970 ms
64 bytes from icmp_req=4 ttl=64 time=25028 ms (DUP!)
64 bytes from icmp_req=14 ttl=64 time=15021 ms
64 bytes from icmp_req=15 ttl=64 time=14021 ms
64 bytes from icmp_req=16 ttl=64 time=13021 ms
64 bytes from icmp_req=17 ttl=64 time=12021 ms
64 bytes from icmp_req=18 ttl=64 time=11021 ms
64 bytes from icmp_req=19 ttl=64 time=10019 ms
64 bytes from icmp_req=20 ttl=64 time=9012 ms


    Network cable is connect normal. I began to suspect that there is a problem by phy 8710, I let 8710 hardware reset, but the network still has the problem. If want the network back to normal, must input "ifconfig eth0 down and ifconfig eth0 up"。 If not doing anything, wait for some hours(specific time can not be determined),the network back to normal.  I try to control the mac register, turn off the emac and turn on the emac  that is not change network to fine.

      linux verion is, update to  blackfin-buildroot-2013R1-RC2   is also have the same problem.

     Please help me to solve the problem, thank you very much.