Hi Lindsey,
Apologies for not following up on this sooner.
This looks like a different issue from the one we fixed previously. The old issue led to errors when the plugin attempted to receive a response from the device. Based on the messages written to the server console and stdout, it looks like the new issue is due to a failure to send data to the device. Specifically, a call to LJUSB_Write is failing, which causes ehFeedback to fail, which causes ljU6ReadPorts to fail, which causes readLeverDI to call stopDeviceIO, which ultimately leads to more LJUSB_Write failures and more error messages. It seems like, after the first write failure, all subsequent write attempts also fail.
At the moment, I don’t have any theories as to why writes to the device start failing. I’m going to try running the experiments you sent me, in the hope that I can reproduce the problem.
On your end, can you try running the failing experiment with LJ_DEBUG set to 1? To do this, edit line 47 in labjackusb.c to look like this:
#define LJ_DEBUG 1
then rebuild and reinstall your plugin. This will lead to a lot more messages on stderr. When the write failure happens, I’m expecting you’ll see a message like
LJUSB_DoTransfer: Transfer timed out. Returning.
or
libusb error: LIBUSB_ERROR_IO
or some other message starting with “libusb error”. If you can capture those and any subsequent stderr messages and send them to me, they may provide additional insight into what’s going wrong.
Thanks,
Chris