NI-488.2 for Linux 21.5 Readme

January 2022


This file contains the latest information about NI-488.2 software for Linux and supersedes any information found in other documentation included in the distribution.

Refer to NI Linux Technology for the most recent information about Linux support at NI.

Refer to the NI-488.2 release notes for known issues, bugs fixed since the last release, and other release details.


System Requirements

NI-488.2 for Linux software for the Linux/x86 64-bit architecture has been tested on the following distributions:

  • openSUSE Leap 15.2
  • openSUSE Leap 15.1
  • Red Hat Enterprise Linux 8
  • Red Hat Enterprise Linux 7
  • CentOS 7
  • Ubuntu 20.04
  • Ubuntu 18.04

NI-488.2 for Linux requires a 64-bit distribution and does not support 32-bit applications.

Application Software Support

  • NI-488.2 for Linux supports the following application development environments:
    • 64-bit versions of LabVIEW 2019, LabVIEW 2020, and LabVIEW 2021
    • C and C++ (gcc)
  • NI-488.2 for Linux supports the NI-VISA API

Supported Hardware

NI-488.2 for Linux supports the following GPIB interfaces:

  • PCI-GPIB
  • PCI-GPIB+ *
  • PCI-GPIB/LP
  • PCIe-GPIB
  • PCIe-GPIB+ *
  • PCIe-GPIB/LP
  • PXI-GPIB
  • PXI-8232
  • GPIB-ENET/1000

* Analyzer functionality is not supported on PCI-GPIB+ or PXI-GPIB+.

Installation

NI provides a repository add-on for all supported drivers that you can install using your Linux distribution's native package manager.

  1. For detailed instructions, refer to Download and Install NI Driver Software on Linux Desktop on ni.com.
  2. Download the installer for the repository add-on for your Linux distribution.
  3. Install the repository add-on using the rpm command.
  4. Select and install the following NI-488.2 for Linux driver package through your Linux distribution's package manager:
    • ni-488.2
    • libni4882-devel (optional, C and C++ support)
    • ni-488.2-iotrace-support (optional, NI IO Trace support)

After the driver package(s) are installed, you must rebuild the new packages for the system kernel. NI recommends that you run the command 'dkms autoinstall' after installation, and before rebooting the system, to install the latest revision of all modules that have been installed for other kernel revisions. After doing so, the installed device drivers will function immediately on the next system start.

Description of Utilities

gpibexplorerGPIB Explorer is used to browse, configure, add, and delete GPIB interfaces.
gpibtswGPIB Troubleshooting Wizard is used to verify your hardware and software installation.
gpibintctrlGPIB Interactive Control is used to communicate with GPIB devices interactively.

C/C++ Language Interface

ni4882.hNI-488.2 header file
libni4882.soDynamic library
libni4882.aObject file that allows explicit loading of libni4882.so

Device Configuration

To configure a supported GPIB interface, refer to the Installation Guide located in /usr/share/doc/ni-488.2-documentation.

Examples

To have the ni4882 library loaded explicitly when the program makes the first call into the library:

gcc prog.c libni4882.a -ldl

g++ prog.cpp libni4882.a -ldl

For more NI-488.2 API use examples, refer to /usr/share/ni4882/examples/README.

Documentation and Help

You can access NI-488.2 Help from GPIB Explorer.

Linux Limitations

Some features discussed in the NI-488.2 for Linux documentation are unavailable on Linux.

  • NI-488.2 for Linux does not support 32-bit LabVIEW, LabVIEW Real-Time Module, or LabWindows/CVI ADEs.
  • NI-488.2 does not provide the Measurement and Automation Explorer (MAX) graphical configuration utility that is available for other operating systems. To configure a supported GPIB interface, refer to the Installation Guide located in /usr/share/doc/ni-488.2-documentation.
  • NI-488.2 software for Linux does not support power management. You must disable the power management settings or make sure all GPIB handles are offline before the system enters the power management modes.
  • NI-488.2 software for Linux does not work with the fork() system call. Specifically, the interface and device handles opened by the parent process are not properly inherited by the child process. Any attempt to use already opened handles in the child process will result in a Segmentation Fault for the child process. A workaround is either to open a new interface/device handle in the child process or to use threads instead of processes to implement multitasking. Linux provides a POSIX-compliant thread library called pthreads.
  • FAQs

    Q1: When I try to open Help from GPIB Explorer, I am prompted for my default web browser. What does this do?

    A1: This problem only occurs on systems where htmlview is not installed. Each user's response to this dialog box is stored in ~/natinst/.lvbrowser (where ~ is the user's home directory). If you need to change this response, you can edit this file or just delete it so that you will be prompted again when entering help.


    Q2: Why can't I discover a GPIB-ENET/1000 device in GPIB Explorer?

    A2: It is likely that your firewall is blocking the discovery of the device. You can get around this by disabling the firewall during discovery. This can be reverted after you have added the device.


    Q3: Launching gpibintctrl through GPIB Explorer causes the text utility to launch twice in different terminals.

    A3: This problem is due to a bug (#646317 bugzilla) in gnome-terminal (2.32.1-6.1). This causes GPIB Explorer to believe that gnome-terminal has failed to launch, so it re-launches the utility in another terminal. You can either close the duplicated window or update gnome-terminal to version 3.2.1 or above.


    Legal Information

    Copyright:

    © 2007–2022 National Instruments Corporation. All rights reserved.

    This publication may not be reproduced or transmitted in any form, electronic or mechanical, including photocopying, recording, storing in an information retrieval system, or translating, in whole or in part, without the prior written consent of National Instruments Corporation.

    NI respects the intellectual property of others, and we ask our users to do the same. NI software is protected by copyright and other intellectual property laws. Where NI software may be used to reproduce software or other materials belonging to others, you may use NI software only to reproduce materials that you may reproduce in accordance with the terms of any applicable license or other legal restriction.

    End-User License Agreements and Third-Party Legal Notices

    Notices are located in the /usr/share/doc/ni-488.2/NOTICES directory. EULAs are located in the /usr/share/ni/licenses directory.

    U.S. Government Restricted Rights

    If you are an agency, department, or other entity of the United States Government ("Government"), the use, duplication, reproduction, release, modification, disclosure or transfer of the technical data included in this manual is governed by the Restricted Rights provisions under Federal Acquisition Regulation 52.227-14 for civilian agencies and Defense Federal Acquisition Regulation Supplement Section 252.227-7014 and 252.227-7015 for military agencies.

    IVI Foundation Copyright Notice

    Content from the IVI specifications reproduced with permission from the IVI Foundation.

    The IVI Foundation and its member companies make no warranty of any kind with regard to this material, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The IVI Foundation and its member companies shall not be liable for errors contained herein or for incidental or consequential damages in connection with the furnishing, performance, or use of this material.

    Trademarks

    Refer to the NI Trademarks and Logo Guidelines at ni.com/trademarks for information on NI trademarks. Other product and company names mentioned herein are trademarks or trade names of their respective companies.

    Patents

    For patents covering the NI products/technology, refer to the NI Patent Notice at ni.com/patents.

    378677B-01