Hi Aid,
I have not seen such a behavior before, but it sounds like the data gets corrupted within the driver memory somehow.
You could help us debugging this if you would create a Spy Log File for the ISSUE.
First download and install the NI-CAN 2.3.3 or 2.4 driver. The driver brings a software tool called NI-SPY. The Spy is able to log all API calls, thus you can see all data passed to every single function call and the return as well.
In the End you can save the file to disc, zip the file and send the file to
canpse@ni.com.
Before you run the SPY, configure your application to use a single write for transfer and stop if the timeout occurs. That makes it easier for us to debug. If possible, run the monitor on a different machine, thus we do not have to log these function call as well. Then open the SPY Logger and stop the logging with pressing the red X. Now go to Spy>>Options.
On the first page (general) change the settings to "Call history depth" = 50000, "Large Buffer" and "Extended". On the View Selection page select only NI-CAN on the right pane. On th error action page select "continue capturing, ignore error"
Now start the Logging with pressing the blue arrow and run your application. Your application should stop if the timeout occurs, what means the transfer failed. At the same time the spy should stop.
The log file should tell us which write call failed and why it failed.
Thanks
DirkW