Solution
Error -1074388984 indicates a write queue overflow condition. This error occurs when transmit frames are queued faster than they can be transmitted on the CAN bus.
The USB-8502 is an NI-XNET device. Although it can support some legacy NI-CAN applications through the NI-XNET Compatibility Library for NI-CAN, the NI-CAN CAN Object API path is not supported. Applications using NI-CAN CAN Object functions may encounter transmit queue-related errors when used with NI-XNET-based hardware.
To troubleshoot and resolve the issue:
-
Verify hardware operation using NI-XNET tools.
- Test frame transmission with NI-XNET Bus Monitor.
- Test frame transmission using an NI-XNET example application or VI.
-
Confirm that CAN communication is functional.
- If frames transmit successfully in NI-XNET Bus Monitor, the hardware and bus communication are operating correctly.
-
Update the application to use a supported API.
- Migrate from legacy NI-CAN CAN Object calls to the NI-CAN Network Interface API.
- Update the application to use native NI-XNET write functions when possible.
-
Review application transmit behaviour.
- Reduce the frame transmission rate if frames are being queued faster than the bus can transmit them.
- Increase the transmit queue size before opening the object when supported by the application architecture.
-
Do not replace the USB-8502 solely for this error.
- Switching from USB-8502 Part Number 784662-01 to USB-8502 Part Number 784661-01 does not resolve the issue because both devices belong to the same USB-8502 family and use the same driver architecture.
If transmission succeeds in NI-XNET Bus Monitor but fails in the third-party application, the software owner or vendor should update the application's implementation to use a supported NI-XNET or NI-CAN Network Interface API approach.