NI-488.2 for Linux/x86, Version 2.5.1 Copyright (c) 2006 National Instruments Corporation. All Rights Reserved. This file contains important information about the NI-488.2 software for Linux, including installation issues, compatibility issues, API changes from previous beta drivers, upgrade/downgrade instructions from/to Version 2.3.1, and a list of FAQs. Refer to the NI-488.2 for Linux Installation Guide in the Documentation directory on the NI-488.2 for Linux CD for information about installing the software. ----------------------------------------------------------------------------- This file supersedes any discrepant information presented in the NI-488.2 for Linux Installation Guide. Refer to www.ni.com/linux for the most recent information about Linux support at National Instruments. ----------------------------------------------------------------------------- ------------------- System Requirements ------------------- NI-488.2 for Linux software for the Intel x86 (32-bit) architecture requires the following distributions: Mandrakelinux 10.1 Official Mandriva Linux 2006 SUSE Linux 10.0 SUSE Linux 10.1 Red Hat Enterprise Linux WS 3 Red Hat Enterprise Linux WS 4 An X Windows graphical environment to run graphical configuration and troubleshooting utilities is recommended. ------------ Installation ------------ To install NI-488.2 software for Linux, run the INSTALL script from this directory as root, as follows: sh ./INSTALL The INSTALL script ensures that all requirements are met, checks and uninstalls existing installations if necessary, and then installs the NI-488.2 software. The script uses rpm to install the packages on systems that support it or extracts the files directly on other systems. ------------------------ Description of Utilities ------------------------ gpibexplorer - GPIB Explorer utility used to browse, add, and delete GPIB interfaces. gpibtsw - GPIB Troubleshooting Wizard utility used to verify your hardware and software installation. gpibintctrl - GPIB Interactive Control utility used to communicate with GPIB devices interactively. firmwareupdate - GPIB Firmware Update utility used to upgrade firmware on a GPIB-ENET/100 interface. ethernetconfig - GPIB Ethernet Device Configuration utility used to discover GPIB-ENET/100 devices on the local subnet. Refer to the NI-488.2 User Manual for more information about using these utilities. ------------------------- Supported GPIB Interfaces ------------------------- PCI-GPIB PCI-GPIB/LP (NEW) NI PCIe-GPIB (NEW) PXI-GPIB (NEW) GPIB-USB-B (Refer to FAQs Q4 and Q5.) GPIB-USB-HS (NEW) (Refer to FAQs Q4 and Q5.) GPIB-ENET/100 To configure a supported GPIB interface, refer to /usr/local/natinst/ni4882/docs/Install_Guide.pdf. ------------------------ C/C++ Language Interface ------------------------ ni488.h - NI-488.2 header file libgpibapi.so - Dynamic library cib.o - Object file that allows explicit loading of libgpibapi.so Examples: To have the gpibapi library loaded implicitly on program start up: gcc prog.c -lgpibapi g++ prog.cpp -lgpibapi To have the gpibapi library loaded explicitly when the program makes the first call into the library: gcc prog.c cib.o -ldl g++ prog.cpp cib.o -ldl For more NI-488.2 API use examples, refer to /usr/local/natinst/ni4882/examples/Readme.txt. -------------------------------------- Compatibility with LabVIEW and NI-VISA -------------------------------------- You can use this software with LabVIEW 7.1 or later and NI-VISA 3.2 or later only. If you need to communicate with a GPIB interface and are using an older Version of LabVIEW and/or NI-VISA, you need to install nigpib-enet-1.2 (Beta GPIB-ENET) and/or nigpib-linux-0.8.6 (Beta PCI-GPIB). Refer to www.ni.com/linux for more information. ---------------------------------------- Compatibility with Beta NI-488.2 Drivers ---------------------------------------- The NI-488.2 software for Linux cannot coexist with the beta NI-488.2 drivers. You must manually uninstall all NI-488.2 beta drivers before installing this software. -------------- Uninstallation -------------- To uninstall the NI-488.2 software for Linux, run the UNINSTALL script inside /usr/local/natinst/ni4882. ---------------------------------------------------------------- Upgrading from/Downgrading to NI-488.2 for Linux Version 2.3.1 ---------------------------------------------------------------- Upgrading from Version 2.3.1 to this version is done automatically by the INSTALL script. Downgrading from this version to 2.3.1 is not done automatically. You must uninstall this version first before installing Version 2.3.1. Refer to the "Uninstallation" section above for instructions on how to uninstall Version 2.5.1. ---------------- Power Management ---------------- The 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. ------------------------- Use of fork() system call ------------------------- The 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 use threads instead of processes to implement multitasking. Linux provides a POSIX-compliant thread library called pthreads. ---- FAQs ---- Q1: What action do I need to take if I upgrade/change my kernel? A1: Some action is required to make the existing NI-488.2 installation work for the new kernel. After upgrading your kernel, run updateNIDrivers utility as root. The utility is located in /usr/local/bin. Be sure to have sources for your new kernel properly installed on your system before running the utility. The utility rebuilds the driver using the new kernel sources and copies it into the appropriate location for the new kernel. For the changes to take place, you will be asked to reboot your machine after the utility completes. Note that NI-488.2 supports only kernels provided as part of the supported distributions listed above. Q2: When I try to open Help from gpibexplorer, I am prompted for my default web browser. What does this do? A2: Each user's response to this dialog box is stored in "~/.lvbrowser" (where ~ is the user's home directory). If you need to change this response, you can edit this file or simply delete it so that you will be prompted again when entering help. Q3: When I run gpibexplorer as root, I get an error about not being able to connect to the X Server ":0.0". What should I do? A3: If you logged in as a user with restricted privileges and then ran "su root" to become root, the root user may not by default be allowed to connect to the original user's X display. To allow this connection so that you can run graphical NI-488.2 utilities, you can run "xhost +" as the original user. Keep in mind that "xhost +" allows any machine to connect to the original user's X display, which may pose a security risk if you are directly connected to the Internet. Run "man xhost" for more information. Q4: What distributions support GPIB USB interfaces? A4: For GPIB USB interfaces, a distribution with kernel 2.6 is required. Because Red Hat Enterprise Linux WS 3 uses kernel 2.4, GPIB USB interfaces are not supported on this distribution. Linux kernel versions 2.6.9 and earlier may not properly enumerate GPIB-USB-HS devices connected to high-speed USB ports. Mandrakelinux 10.1 Official and Red Hat Enterprise Linux WS 4 use Linux kernel versions in this range, and so GPIB-USB-HS units may not operate properly in some situations. If you experience problems using a GPIB-USB-HS in a high-speed USB port, use a full-speed port or hub instead, or run "rmmod ehci_hcd" as root to temporarily force all USB ports to operate at full speed. Q5: How do I install a GPIB USB interface? A5: Once the NI-488.2 driver is installed, simply plug in a GPIB USB interface. Wait 5 seconds after the Ready light appears on the interface before you use the GPIB Explorer utility (gpibexplorer). If you have already launched GPIB Explorer and then plugged in the GPIB USB interface, wait 5 seconds after the Ready light appears on the interface to click the Refresh button. Refer to the NI-488.2 for Linux Installation Guide and the NI-488.2 User Manual for information about using this utility. NOTE: Do not click the Refresh button while unplugging GPIB USB interfaces. Q6: What should I do about the warning messages that appear in the gpibintctrl utility when I am using the Konqueror web browser to display help? A6: You may ignore these warning messages or use a different web browser, such as Firefox. Refer to FAQ Q2 for information on changing the default web browser. Q7: During installation, I get a message similar to the following one: "Kernel source does not appear to be configured for the running kernel. Configuration of kernel source is required to continue installation." I do have kernel sources installed. Is there anything else I need to do? A7: This problem is known to affect SUSE Linux, but it is possible that other distributions require similar steps to resolve this problem. On SUSE Linux, follow these steps: 1. Ensure you have installed kernel-source and kernel-syms packages corresponding to the version of the currently running kernel. You can determine the currently running kernel version by issuing the command "uname -r". 2. Change the directory to the /usr/src/linux- directory, where corresponds to the currently running kernel version. 3. Run "make cloneconfig" as root to configure the sources for the currently running kernel. 4. Run "make modules_prepare" as root to prepare the headers for compilation. 5. THIS STEP IS STRICTLY OPTIONAL. Completing this step will remove the warning: WARNING: Symbol version dump /usr/src/linux/Module.symvers is missing, modules will have CONFIG_MODVERSIONS disabled. Run "make modules" as root to compile all modules and generate Module.symvers; this may take 30 minutes or more to complete. 6. Run the INSTALL script for the NI-488.2 software for Linux from this directory.