Dear Yves,
The ETHAPI is not a reliable link so it could be as simple as that. It is not meant to stream or offload large amount of data. This is because the interface is a simple ethernetII layer packet manipulation engine which is very slow and has no such things as recovery algorithm.
The error -120 indicate you could not obtain enough data from the NDIS queue, in order words you have lost a packet (or more), most likely because you are pushing the boundaries too far. For your information, we have never been able to offload data reliably at more than 2-5MB/s and that would go down by simply compressing a large folder with Winzip.
We have recently dropped our proprietary NDIS driver and modified ETHAPI to wrap around WinPCAP instead. This new API is part of the latest BSP, maybe you can give that a try. When testing the interface I got transfer of several GB of data around 7MB/s transferring random data back and forth. Note that in order to use ETHAPI from the latest BSP you have to download and install WinPCAP from (
http://www.winpcap.org/)
That being said, any serious application requires TCP/IP implemented in the firmware and communication using TCP/IP, ETHAPI might always lose samples like that. This API is only meant to offload snapshot during FMC product evaluation, we are talking about anything between 4kB to 64kB not even repetitive. Another solution would be to use one of our carrier as PC720 in a computer on the PCI Bus. We have recently transferred data in excess of 1.3GB/s over PCIe on our PC720!
Best Regards,
Arnaud