Error -1073807298: Could Not Perform Operation Because of I/O Error

Updated Apr 7, 2026

Reported In

Hardware

  • cRIO-9030
  • RS-485

Driver

  • NI-VISA

Issue Details

I get an error -1073807298 when I try to run any of the VIs that come with the Instrument Driver for my Third Party or NI device, or when sending write commands to a PNT board using NI-VISA:

Error -1073807298 (Hex 0xBFFF003E) occurred at an unidentified location.
Possible reason(s):
VISA: Could not perform operation because of I/O error

Solution

The error -1073807298 (0xBFFF003E) is a generic LabVIEW error, and it could be present for many different reasons. Below are described several steps that can help to solve the issue:

  • Confirm that the correct instrument driver is being used for your specific hardware by reviewing the driver's ReadMe file
  • Make sure your code opens and closes all VISA session references. For an example of this code structure see the example program GPIB with VISA functions.vi in LabVIEW by going to Help >> Find Examples.
  • Ensure that there are no processes using the I/O ports of your device (Modbus I/O, I/O Servers, etc.) by disabling any applications that may use the I/O ports and restarting your device.
  • When communicating via RS-485, make sure you're adding the proper terminating resistors to the transmission lines (cables). For more guidance, please check the RS485 Termination manual.
  • Some third party devices do not support all serial settings on VISA Configure Serial Port VI. Instead use a VISA property node to set only the supported properties.
    • To determine which properties are unsupported by your USB-Serial adapter consult your third-party hardware manuals and/or contact the device manufacturer. 
  • If you are using Third-Party USB-Serial Adapters and are receiving this error, follow Error -1073807298 When Using a Third-Party USB-Serial Adapter

If you are encountering this error when sending AT commands to a DUT, it might be related to the serial I/O buffers. By default, these buffers are set to size 0, which forces VISA to flush all I/O on every access. During this flushing process, an I/O error occurs when communicating with the DUT because the DUT's serial driver does not support buffer flushing operations.
As a workaround, you can set the transmit buffer to a non-zero value, for example, 1. This prevents the VISA driver from performing buffer flushing and avoids the I/O error.

To define the buffer size in the development environment, you can use the following functions: