Archived: NI-USRP 14.5 Known Issues

NI does not actively maintain this document.

This content provides support for older products and technology, so you may notice outdated links or obsolete information about operating systems or other relevant products.

Overview



This document contains the NI-USRP 14.5 known issues that were discovered before and since the release of NI-USRP 14.5. Not every issue known to NI appears on this list; it is intended to show the most severe and common issues that can be encountered.

Each issue appears as a row in the table and includes the following fields:

  • Issue ID - The number in at the top of each of the cells in the first column. When you report an issue to NI, you may be given this ID, you can also find IDs posted by NI on the discussion forums or in Knowledge Base articles.  "N/A" indicates that there is no ID assigned to the issue.
  • Issue Title (in italics) - Describes the issue in one sentence or less.
  • Problem Description - A few sentences which describe the problem in further detail. The brief description given does not necessarily describe the problem in full detail, and it is expected that you may want more information on an issue. If you would like more information on an issue, contact NI and reference the ID number given in the document.
  • Workaround - Possible ways to work around the problem. The workarounds that appear in the document are not always tested by NI and are not guaranteed to resolve the issue. If a workaround refers you to the NI KnowledgeBase, visit www.ni.com/kb/ and enter the KnowledgeBase number in the search field to locate the specific document.
  • Reported Version - The earliest version of NI-USRP in which the issue was reported. If you discover the issue appears in an earlier version of NI-USRP than is reported in this field, report the discrepancy to NI to have the field updated.
  • Resolved Version - Version in which the issue was resolved or was no longer applicable. "N/A" indicates that the issue has not been resolved.
  • Date Added - The date the issue was added to the document (not the reported date).

Known Issues by Severity

544731Synchronizing using the external PPS on an NI 294x/295x device can result in Rx/Tx samples misaligned by 5 ns.
544473The niusrp Configure Frequency Shift VI incorrectly negates the Tx shift when the scope is "all."
540599When you open an NI-USRP API session to a device that is already being used as a LabVIEW FPGA device with the niUsrpRio Configuration Instrument Design Library, errors result from the existing session.
539338The status of the USRP RIO Local Oscillator (LO) lock may be true even when the LO has not been configured.
532349Timed commands do not work with the NI 2900/2901.
528194Incorrect frequency coercion can result when you set the LO frequency to a non-default value on an NI 2900/2901 device.
527016Setting the LO Frequency property node to the default value of -1 results in wrong carrier frequency coercion on the NI 2901 device.
519793Two channel acquisition (Rx) on a single NI 2901 device is not aligned.
519572Changing the I/Q rate can cause discontinuity in the time reported by the device.
518489Repeatedly aborting and then initiating an NI-USRP session occasionally causes a packet timeout error with NI 2900/2901 devices.
494050NI USRP-295x devices do not set the GPS time by default.
488044Error -61083 and corrupted data can occur when you use clocks derived from the data clocks.
487251The NI-USRP Configuration Utility may incorrectly report that an image update is needed for NI 292x/293x devices already in use.
487061NI 292x and NI 293x devices may not return an error if an external reference signal is missing.
486961The niUSRP Find Devices VI will occasionally return incorrect information when a session is open to a USRP device.
485027Alternating use of NI 293x/292x devices connected with MIMO cables in LabVIEW 32-bit and LabVIEW 64-bit can cause the USRP devices to appear disconnected from the system.
469466Errors occur when you use multiple devices on different buses in a single session.
467209Error -107411864 "A stream command was issued in the past" occurs when you set Timebase Clock Source to PpsIn and do not provide a timebase clock source to the PPS IN port.
466351"A stream command was issued in the past" or "Packet had timestamp that was late (or too early)" errors can occur with MIMO synchronization.
460810Runtime errors occur when you open one session to multiple devices and another session to a subset of those devices.
460704Out-of-sequence errors occur when you use NI-USRP over an Ethernet connection.
460113Hibernation is not supported for the NI 294x/295x devices over PCI Express.
460109Sleep is not supported for the NI 294x/295x devices over PCI Express.
458782There is a large transient time at the beginning of a Tx session or Rx session when you use the NI 2943R/2953R.
458163When you use NI-USRP and the NI 294x/295x devices, 24 samples of the previous acquisition are present at the beginning of a new acquisition.
456625The niUSRP Fetch Rx Data VIs do not respect "channel list" control.
442853Opening an FPGA reference fails with error -63150 on NI 294x/295x devices.
360108The niUSRP Write Tx Data VI sometimes ignores timeout if end of data? is TRUE.
349079Streaming performance for multi-device sessions is sometimes low.
340767NI-USRP Configuration Utility fails to reset after you upgrade the firmware or FPGA.
310810NI-USRP returns one of the following errors during Tx: "Packet loss between host and device." or "Packet loss within a burst."
295724Transients exist for both Tx and Rx.



IDKnown Issue
544731

Return
Synchronizing using the external PPS on an NI 294x/295x device can result in Rx/Tx samples misaligned by 5 ns.
When you use the "PPS TRIG IN" (or "PPS IN" or "PpsIn") terminal as the Timebase Clock Source to synchronize multiple devices to the same time, there can be instances where there is a 5 ns skew between devices. That is, the devices do not start acquiring or generating at exactly the same time, but instead start 5 ns apart. This occurs only with the NI-USRP instrument driver and does not occur with the USRP RIO LabVIEW FPGA-based design.

Workaround: This error will result only in rare cases, but when it does occur, the workaround is to detect when the skew exists, then delay the samples of any devices which do not exhibit the skew by 5ns. This skew will persist on devices which exhibit this behavior through power cycles and application execution. This means detection is not required with each run of your application.

Reported Version: 14.5  Resolved Version: 15.5  Added: 09/03/15
544473

Return
The niusrp Configure Frequency Shift VI incorrectly negates the Tx shift when the scope is "all."
In the USRP RIO sample project, the niusrp Configure Frequency Shift VI incorrectly negates the Tx shift. This only happens when you set the scope to All.

Workaround: Use only Rx or Tx for scope. You can also modify the VI to negate only the Rx Freq Shift while leaving the Tx Freq Shift.

Reported Version: 14.5  Resolved Version: 15.5  Added: 09/03/15
540599

Return
When you open an NI-USRP API session to a device that is already being used as a LabVIEW FPGA device with the niUsrpRio Configuration Instrument Design Library, errors result from the existing session.
If you attempt to use the NI-USRP API to open a session to an NI USRP-294x/295x device when it is already being used as LabVIEW FPGA device, for example through a NI-USRP Simple Streaming sample project, your action can cause the session to terminate with an error. When you open an NI-USRP session to a device, the custom LV FPGA image on the device will be replaced with a default FPGA image that works with the NI-USRP driver, which will invalidate an open LV FPGA session open to that device.

Workaround: Using both driver APIs (NI-USRP and the niUsrpRIO Configuration Instrument Design Library in the LabVIEW FPGA environment) simultaneously to configure the same device is not a supported use case.

Reported Version: 14.5  Resolved Version: N/A  Added: 09/03/15
539338

Return
The status of the USRP RIO Local Oscillator (LO) lock may be true even when the LO has not been configured.
The LO lock status may be true even before you configure the LO frequency. The LO lock status is indeterminate before you configure any frequency.

Workaround: Do not check the LO Locked status before you configure the frequency, because the status is indeterminate until the LO is configured. It is valid to check the status only after a frequency configuration is made.

Reported Version: 14.5  Resolved Version: N/A  Added: 09/03/15
532349

Return
Timed commands do not work with the NI 2900/2901.
Timed commands are currently not supported with the NI 2900/2901.

Workaround: N/A

Reported Version: 14.1  Resolved Version: N/A  Added: 06/11/15
528194

Return
Incorrect frequency coercion can result when you set the LO frequency to a non-default value on an NI 2900/2901 device.
If you set the LO frequency to a non-default value, an incorrect carrier frequency coercion can result if the absolute difference (offset) between the carrier frequency and the LO frequency is greater than half the data clock rate. For example, setting a LO frequency to 2 GHz and configuring a carrier frequency of 2.02 GHz or 20 MHz offset will result in incorrect carrier frequency coercion if the data clock rate is 32 MHz (which permits only 16 MHz offset). The maximum allowed offset is also limited by the maximum configurable DSP frequency and thus can be lower than the data clock rate/2 limit.

Workaround: Set the Data Clock Rate to a value higher than twice the maximum offset that you intend to use. However, the Data Clock Rate has a maximum limit too. Or Do not use the LO frequency property node and instead use only the carrier frequency property, which will automatically set the LO frequency to a value appropriate to achieve the requested carrier frequency.

Reported Version: 14.1  Resolved Version: N/A  Added: 06/11/15
527016

Return
Setting the LO Frequency property node to the default value of -1 results in wrong carrier frequency coercion on the NI USRP-2901 device.
When you set the LO Frequency property node to the default value of -1 and then set the carrier frequency, a wrong carrier frequency configuration may result on the NI USRP-2901 device.

Workaround: Set the LO frequency property in the context of an active channel. For example, using the niusrp property node, first set the active channel and then set the LO frequency property below it.

Reported Version: 14.1  Resolved Version: N/A  Added: 06/11/15
519793

Return
Two channel acquisition (Rx) on a single NI 2901 device is not aligned.
When you configure a single device for a multi-channel acquisition (Rx), if you use a Time Start Trigger (niUSRP Configure Trigger.vi) the time must be set on both channels of the device using the niUSRP Set Time VI. If the "apply timestamp" parameter is set to "Now", there may be a misalignment between the channels. Set the "apply timestamp" parameter to "Next Timebase Edge".

Workaround: Set the "apply timestamp" parameter of the niUSRP Set Time VI to "Next Timebase Edge" for a single-device, multi-channel acquisition with a Time Start Trigger.

Reported Version: 14.1  Resolved Version: 15.5  Added: 06/11/15
519572

Return
Changing the I/Q rate can cause discontinuity in the time reported by the device.
A change in I/Q rate value can cause a discontinuity in the time reported by the NI USRP-2900/2901 device. Change in the I/Q rate can cause an automatic change in the data clock rate, which influences the time maintained by the device.

Workaround: Set the data clock rate property to a fixed value for e.g. 32M or 48M explicitly if you intend to change the I/Q rate in an application and rely on the time-stamps from the device to be continuous. Setting the the data clock rate however will restrict the I/Q rates that can be achieved. Another workaround is to explicitly set the time after making a change to the I/Q rate. You can use the niUSRP Set Time VI to do this. For example, read the time from the device using the niUSRP Get Time VI before changing the I/Q rate and set the time to that value after you change the I/Q rate using the niUSRP Set Time VI.

Reported Version: 14.1  Resolved Version: N/A  Added: 06/11/15
494050

Return
NI USRP-295x devices do not set the GPS time by default.
NI 2950R/2952R/2953R devices do not set the GPS time onto the device timer, even when GPS is selected as the Timebase Clock Source.

Workaround: Set the Timebase Clock Source to "GPS". To set the GPS time onto the device properly, use the niUSRP EX Synchronize Clocks Multi-Device (PPS) VI. On this VI, set "set device to GPS time" to true and wire an array of device specifiers, for example "dev0". Refer to the niUSRP EX Rx Multiple Synchronized Inputs (PPS Trig) VI example for more information about how to use the niUSRP EX Synchronize Clocks Multi-Device (PPS) VI to set time.

Reported Version: 14.1  Resolved Version: N/A  Added: 06/11/15
488044

Return
Error -61083 and corrupted data can occur when you use clocks derived from the data clocks.
The data clock of the NI 294x/295x is generated outside of the FPGA . You must configure the data clock before it is used by any FPGA logic, otherwise logic running from the derived clock could execute while the data clock configures, resulting in undefined behavior. The ability to derive clocks from the data clock has been disabled in NI-USRP 14.0.

Workaround: Create derived clocks from the 40 MHz onboard clock instead of the data clocks. Because the onboard clock is not phase-locked to the data clock, you must add and test logic to ensure the clocks perform as intended.

Reported Version: 14.0  Resolved Version: N/A  Added: 09/23/14
487251

Return
The NI-USRP Configuration Utility may incorrectly report that an image update is needed for NI USRP-292x/293x devices already in use.
If an NI 292x/293x device is already in use, the NI-USRP Configuration Utility normally does not display the device. In some cases, the utility may show the device but display UPDATE NEEDED in the Image Status column. If the device is in use by another process or system, the FPGA/Firmware update may not be required.

Refresh the devices list to verify that the device is visible and requires image updating.

Workaround: Ensure that a device is not in use by another application or system before updating the FPGA and Firmware images with the NI-USRP Configuration Utility.

Reported Version: 14.0  Resolved Version: N/A  Added: 09/23/14
487061

Return
NI 292x/293x devices may not return an error if an external reference signal is missing.
When an NI 292x/293x device is configured to use REF IN as the reference frequency source, but a reference signal is not applied on the REF IN port, the device may not generate an error in LabVIEW.

Workaround: Provide a reference frequency source to the REF IN port.

Reported Version: 14.0  Resolved Version: N/A  Added: 09/23/14
486961

Return
The niUSRP Find Devices VI will occasionally return incorrect information when a session is open to a USRP device.
When running the niUSRP Find Devices VI while a session is open to a USRP device connected to the system, it will occasionally return incorrect information.

Workaround: Ensure all sessions are closed when you run the niUSRP Find Devices VI.

Reported Version: 14.0  Resolved Version: 15.5  Added: 09/23/14
485027

Return
Alternating use of NI 293x/292x devices connected with MIMO cables in LabVIEW 32-bit and LabVIEW 64-bit can cause the USRP devices to appear disconnected from the system.
This issue may occur when you run applications on multiple NI 293x/292x devices connected with MIMO cables, alternating between LabVIEW 32-bit and LabVIEW 64-bit. The devices appear to be disconnected from your system. This is due to improper releasing of the USRP resources.

Workaround: Close both LabVIEW instances and cycle power to the USRP devices.

Reported Version: 14.0  Resolved Version: N/A  Added: 09/23/14
469466

Return
Errors occur when you use multiple devices on different buses in a single session.
When you use the NI-USRP API to open a session to multiple devices on different buses, for example one with Ethernet and one with PCI Express, various errors occur during execution after opening the session. The errors vary depending on whether the session is Rx or Tx.

Workaround: Use devices only on a single bus in a single session.

Reported Version: 1.3  Resolved Version: N/A  Added: 09/23/14
467209

Return
Error -107411864 "A stream command was issued in the past" occurs when you set Timebase Clock Source to PpsIn and do not provide a timebase clock source to the PPS IN port.
If you set Timebase Clock Source to PpsIn and do not provide a timebase clock source to PPS IN, the USRP device will revert back to its internal timebase clock source. This may result in error -1074118649 "A stream command was issued in the past."
Workaround: Provide a timebase clock source to the PPS IN port.

Reported Version: 14.0  Resolved Version: N/A  Added: 09/23/14
466351

Return
"A stream command was issued in the past" or "Packet had timestamp that was late (or too early)" errors can occur with MIMO synchronization.
In an Rx session, the error message reads "A stream command was issued in the past." In a Tx session, the error message reads "Packet had timestamp that was late (or too early)." This issue occurs only when all of the following conditions are met:

The slave device has a GPSDO.
The niUSRP Set Time VI is called only on the master.
The timestamp is applied immediately.

Workaround: Avoid this error by implementing any of the following solutions:

Add a one-second wait anywhere after you open a Tx or Rx session but before the niUSRP Initiate VI.
Configure the niUSRP Set Time VI to apply the timestamp at the next timebase edge.
Call the niUSRP Set Time VI on both channels.

Reported Version: 1.3  Resolved Version: 15.5  Added: 05/07/14
460810

Return
Runtime errors occur when you open one session to multiple devices and another session to a subset of those devices.
The order in which you call the Open Tx Session VI and the Open Rx Session VI affects which error appears. For example, if you call the Open Tx Session VI with the names of device A and device B and then you call the Open Rx Session VI with the name of device A, the Write Tx Data VI returns the following error:
"niUSRP Write Tx Data (2D CDB).vi. A runtime or configuration error occurred. Code: 1440 Details: RuntimeError: fifo ctrl timed out looking for acks"

If you call the Open Rx Session VI with the names of device A and device B and then you call the Open Tx Session VI with the name of device A, the Fetch Rx Data VI returns the following error:
"1074118650: Timeout exceeded before packet received or sent. Not all samples may have been received or sent. Consider increasing timeout."

Workaround: Open an Rx and Tx session to the same list of devices. You can disable the unused channel in the session where you added it.

Reported Version: 1.3  Resolved Version: N/A  Added: 05/07/14
460704

Return
Out-of-sequence errors occur when you use NI-USRP over an Ethernet connection.
The driver may report out-of-sequence errors in either of the following scenarios:
  • High network traffic or high streaming rates are occurring over Ethernet. Some network cards collate network packets out-of-order in these situations, and the NI-USRP driver reports errors in this case. For example, the Intel 82579LM network controller chipset is known to exhibit this behavior with the NI-USRP driver.
  • You call the niUSRP Set Time VI after you call the niUSRP Initiate VI when receiving.

Workaround: 

  • Refer to the Data Streaming Performance Tips topic in the NI-USRP Help for more information about improving streaming performance over Ethernet.
  • Do not call the niUSRP Set Time VI after calling the niUSRP Initiate VI.
Reported Version: 1.3  Resolved Version: N/A  Added: 05/19/14
460113

Return
Hibernation is not supported for the NI 294x/295x devices over PCI Express.
NI 294x/295x devices do not support hibernation when connected over PCI Express. When resuming from hibernation, NI 294x/295x devices may not work.

Workaround: Cycle power to the NI 294x/295x devices and the host machine.

Reported Version: 1.0  Resolved Version: N/A  Added: 05/19/14
460109

Return
Sleep is not supported for the NI 294x/295x devices over PCI Express.
NI 294x/295x devices do not support sleep when connected over PCI Express. When resuming from sleep, NI 294x/295x devices may not work or the host machine may become unstable.

Workaround: Cycle power to the NI 294x/295x devices and the host machine.

Reported Version: 1.0  Resolved Version: N/A  Added: 05/19/14
458782

Return
There is a large transient time at the beginning of a Tx session or Rx session when you use the NI 2943R/2953R.
There is a ~110 μs to 130 μs transient at the beginning of a Tx session or Rx session when you use the NI 2943R/2953R devices.

Workaround: For Tx or Rx, pad the waveforms with sufficient 0 samples to cover the transient time and then throw out these 0 samples.

Reported Version: 1.3  Resolved Version: N/A  Added: 05/07/14
458163

Return
When you use NI-USRP and the NI 294x/295x devices, 24 samples of the previous acquisition are present at the beginning of a new acquisition.
When you configure an Rx session, the first set of data retrieved from a fetch call will contain invalid data. Twenty-four samples and about 130 μs of transient data are left over from the previous Rx acquisition.
Workaround: Design your application to discard the first 24 samples and 130 μs of transient data.

Reported Version: 1.3  Resolved Version: N/A  Added: 05/07/14
456625

Return
The niUSRP Fetch Rx Data VIs do not respect "channel list" control.
The niUSRP Fetch Rx Data VI always returns data for all of the channels specified in the Enabled Channels property. You cannot enable multiple channels and then fetch data only from a single channel at a time.

Workaround: Enable only the channels that you want to fetch data from at the same time.

Reported Version: 1.3  Resolved Version: N/A  Added: 05/07/14
442853

Return
Opening an FPGA reference fails with error -63150 on NI 294x/295x devices.
The Open FPGA VI Reference and Open Dynamic Bitfile Reference nodes fail with error -61350 on NI 294x/295x devices if the FPGA image stored in the flash of the device is bad.

Workaround: Update the FPGA image stored in the flash of the device with a known good image by running\vi.lib\LabVIEW Targets\FPGA\USRP\niusrprio_tools.llb\Write Bitfile to Flash.vi. The default FPGA image is stored at \NI-USRP\images\usrp_x310_fpga_HGS.lvbitx. Cycle power to the device and the host after you update the FPGA image of the device.

Reported Version: 1.0  Resolved Version: N/A  Added: 05/07/14
360108

Return
The niUSRP Write Tx Data VI sometimes ignores timeout if end of data? is TRUE.
If you call the niUSRP Write Tx Data VI with end of data? set to TRUE, the driver might ignore the timeout. If you configured the device to start generating at a time that is later than the timeout, the driver will wait for the device to start generating, even if the wait time exceeds the timeout.

Workaround: Do not set Start Trigger times that are further in the future than you want to wait.

Reported Version: 1.1  Resolved Version: N/A  Added: 09/23/14
349079

Return
Streaming performance for multi-device sessions is sometimes low.
NI-USRP sessions configured to control multiple devices exhibit lower than expected streaming performance. The streaming rate for multi-device sessions should be approximately half that of single device sessions, but actual performance is less than half. For multi-device sessions, it is sometimes not possible to stream at high I/Q rates.

Workaround: N/A

Reported Version: 1.1  Resolved Version: N/A  Added: 05/07/14
340767

Return
NI-USRP Configuration Utility fails to reset after you upgrade the firmware or FPGA.
The utility reports that it was unable to reset the device after a firmware or FPGA upgrade. The upgrade was successful, but the reset action did not complete.

Workaround: Unplug and replug the device to manually power cycle the device and complete the reset action.

Reported Version: 1.1  Resolved Version: N/A  Added: 05/10/12
310810

Return
NI-USRP returns one of the following errors during Tx: "Packet loss between host and device." or "Packet loss within a burst."
A continuous Tx operation that uses a high I/Q sampling rate and a small waveform size per write creates a very large number of underflows. The underflows cause the operation to eventually error out with one of the packet loss errors. When one of these errors occurs, a packet has actually been dropped between the host and the device.

Workaround: Implement one or more of the following changes:
-Use a larger write size in each write call.
-Use a smaller I/Q sampling rate, if possible.
-Use a finite Tx operation that provides all the data in a single write call and sets the end of data? input of the write VI to TRUE, if possible.

Reported Version: 1.0  Resolved Version: N/A  Added: 09/16/11
295724

Return
Transients exist for both Tx and Rx.
For I/Q sampling rates that are divisible by 2, transients may appear in the first 20 or so samples for both Rx and Tx.

Workaround: For Tx, pad the end of each generated waveform with zeros to eliminate the transient samples at the beginning of the subsequent waveform generation.
For Rx, acquire sufficient extra data before the expected beginning of the packet and discard the first 20 samples.

Reported Version: 1.0  Resolved Version: N/A  Added: 09/16/11

Contacting NI

Contact NI regarding this document or issues in the document. If you contact NI in regards to a specific issue, reference the ID number given in the document. The ID number contains the current issue ID number as well as the legacy ID number (use the current ID number when contacting NI). You can contact us through any of the normal support channels including phone, email, or the discussion forums. Visit the NI Website to contact us. Also contact us if you find a workaround for an issue that is not listed in the document.

Glossary of Terms

 

  • Bug ID - When an issue is reported to NI, you may be given this ID or find it on ni.com.  You may also find IDs posted by NI on the discussion forums or in KnowledgeBase articles.
  • Legacy ID – An older issue ID that refers to the same issue.  You may instead find this issue ID in older known issues documents.
  • Description - A few sentences which describe the problem. The brief description given does not necessarily describe the problem in full detail.
  • Workaround - Possible ways to work around the problem.
  • Reported Version - The earliest version in which the issue was reported.
  • Resolved Version - Version in which the issue was resolved or was no longer applicable. "N/A" indicates that the issue has not been resolved.
  • Date Added - The date the issue was added to the document (not the reported date).