National Instruments NI-VISA(TM) Software for Linux x86. Version 2.6.
Copyright(c) 1995, 2001 National Instruments Corporation. All rights reserved.


CONTENTS OF THIS FILE
---------------------
Installation From the Internet
LabWindows(TM)/CVI Run-Time Engine
Support for new VISA Features
VISA Support for Multiple GPIB-VXI Controllers
Using viPeekXX/viPokeXX Macros
NI-VISA 2.5 Improvements and Bug Fixes
NI-VISA 2.6 Improvements and Bug Fixes
Known Issues


INSTALLATION FROM THE INTERNET
------------------------------
You should be logged in as 'root' to perform this installation.

1) Download the installation script file "INSTALL" and the compressed tar
   file "NICVISA_.TZ" from the ftp site into a temporary directory.

2) Type ./INSTALL to execute the install script, and follow the instructions
   as prompted.

3) Add the following environment variables to your shell setup file as shown
   in the following example for csh. The following commands assume that
   you installed NI-VISA into /usr/local/vxipnp:

   setenv VXIPNPPATH    /usr/local/vxipnp
   setenv LIBRARY_PATH  /usr/local/vxipnp/linux/bin

Note:  If your setup file already contains the LIBRARY_PATH environment
       variable, you need to append /usr/local/vxipnp/linux/bin to the end of
       the statement. The required commands may vary from those shown in the
       previous section if you are not using csh.


LABWINDOWS/CVI RUN-TIME ENGINE
------------------------------
The Setup program now automatically installs the LabWindows/CVI Run-Time
Engine when necessary. The NI-VISA interactive utility, VISAIC, requires the
LabWindows/CVI Run-Time Engine 5.01 or later to be installed. When you
install this utility, Setup also installs the LabWindows/CVI Run-Time Engine
if it is not already present.


SUPPORT FOR NEW VISA FEATURES
-----------------------------
The Adobe Acrobat manuals describe the new features of NI-VISA 2.6, but they
are briefly listed here for your convenience.  The manuals are installed in
<VXIPNPPATH>/linux/NIvisa/Manuals.

Starting with NI-VISA 2.6, we now support remote NI-VISA access.  Any machine
with the NI-VISA server can export its resources to other NI-VISA clients.
Client and server settings are configured in visaconf.  To use a remote VISA
resource, the name is a URL including the machine name or IP address, followed
by the traditional VISA resource name.  Examples include:
"visa://machine.domain.com/GPIB0::5::INSTR"
"visa://1.2.3.4/ASRL2::INSTR"

Remote NI-VISA fully supports all functionality of all interface types,
including message based, register based, and all events.

NI-VISA 2.6 on Linux adds TCP/IP functionality for both raw (SOCKET) and
VXI-11 (INSTR) protocols.  This was added in NI-VISA 2.5 on Win32.

This driver also supports the National Instruments ENET-Serial products.
See the Serial section in chapter 9 of the NI-VISA User Manual for details.

NI-VISA 2.6 also adds new attributes and events for Serial ports.  This
includes most functionality previously available in the LabWindows/CVI native
serial driver.  See the NI-VISA Programmer Reference Manual for details.

The best way to explore the new features is to use the VISA Interactive
Control to open sessions to the new resource types and look at the available
operations, events, and attributes.  VISAIC also has a new feature to help
you find specific resources.  Type a search expression and press <Tab>, or
click the drop-down arrow and select "Create Query" to let VISAIC assist you
in fine-tuning your expression.

The NI-VISA User Manual has been updated to include a new section on formatted
I/O, including many common instrument driver examples.  There is also a new
chapter with information about each supported hardware interface type.  These
topics are covered in chapters 5 and 9, respectively.


VISA SUPPORT FOR MULTIPLE GPIB-VXI CONTROLLERS
----------------------------------------------
NI-VISA supports multiple GPIB-VXI controllers in a single system. Because the
National Instruments GPIB-VXI controller ships with a primary address of 1,
NI-VISA automatically searches for any GPIB-VXI controllers at that address.

If you have changed the primary address (for example, if you added a
second GPIB-VXI controller to your system, and set the address of the
second controller to 9), or if you have a GPIB-VXI controller from another
vendor, then you need to use the VISA configuration utility so NI-VISA can
find it.  This application is located at <VXIPNPPATH>/linux/NIvisa/visaconf.
While in the Resource Editor, click the 'Add' button to add a new resource.
Specify a valid resource name for the new controller, such as
GPIB-VXI2::0::INSTR.  You will then be prompted for the GPIB board number and
the GPIB-VXI's primary and secondary addresses.  For most users, the only
number that will change (from the default selections) is the primary address
(for the above example, you would change it to 9).  Click 'OK' to add this
new resource, and then select the File|Save menu option to save this
information to the NI-VISA database.

If you are using a GPIB-VXI command module from another vendor, you also need
to obtain and install that vendor's VISA GPIB-VXI component.


USING viPeekXX/viPokeXX MACROS
------------------------------
Users who want to use the viPeekXX/viPokeXX macros for platforms on which the 
macros are available must define a macro called NIVISA_PEEKPOKE before
including "visa.h".  Please note that the macros are currently available
only on the following platforms:

- Win32 (All C compilers)
- Solaris (LabWindows/CVI only)

If you have used these macros with a version of NI-VISA prior to 2.0, your 
application will continue to run, but the peek/poke performance will decrease. 
You should relink with the libraries supplied with this installation to regain 
the prior peek/poke performance.


NI-VISA 2.5 IMPROVEMENTS AND BUG FIXES
--------------------------------------
GPIB and Serial performance have been improved over Version 2.01.

If you are using the GPIB-ENET controller, the previous version of NI-VISA
would take a minute or more to time out if a GPIB-ENET controller were not
connected or powered on. The timeout is now much shorter.

This version of NI-VISA incorporates general bug fixes and improvements for
GPIB-VXI. The NI-VISA code instrument will now load properly in configurations
where it previously failed.

If a GPIB-VXI chassis is reset while an application has VISA loaded, the
GPIB-VXI would previously become accessible only as GPIB but not GPIB-VXI.
This release of NI-VISA will now properly re-detect the GPIB-VXI.

Fixed bug with the GPIB-VXI and hardware triggers.

This version of NI-VISA incorporates general bug fixes and improvements for
formatted I/O, especially with very large buffers and with the following
modifiers: "%b", ",", "#", "!ob", "!ol", and "%[".

The documentation for viPrintf and viFlush better describes when formatted
I/O buffers are sent. The documentation for viScanf better describes the ","
and "#" modifiers.

Fixed bug with the Serial End Last Bit mode for reads and writes.


NI-VISA 2.6 IMPROVEMENTS AND BUG FIXES
--------------------------------------
Fixed bug with enabling the exception event on GPIB-VXI.

viScanf %f modifier will now properly scan numbers bigger than 2^31-1.

viGpibPassControl now returns an error if the primary and/or secondary address
is invalid.

In VXI, mapping a trigger line already mapped produced VI_ERROR_LINE_IN_USE 
(0xBFFF0042), instead of VI_SUCCESS_TRIG_MAPPED (0x3FFF007E).  This now
returns the expected status code.

In VXI and GPIB-VXI, using viMoveInXX and viMoveOutXX with a negative 
value for the length parameter would occasionally cause the system to reboot.
This now returns the error code VI_ERROR_INV_LENGTH (0xBFFF0083) instead.

viReadToFile now writes the correct data to the file.

For TCP/IP SOCKET and INSTR resources, the openTimeout specified in viOpen
is now used as the network timeout during the connection sequence.  The
default openTimeout, if not specified, is 2 seconds (2000 milliseconds).

For TCP/IP INSTR resources, trying to do a viRead or viReadAsync on a buffer
with a size larger than a few kilobytes, would either return an error or
occasionally crash.  This has been fixed.

viFindRsrc would previously reject certain valid expressions and accept
certain invalid expressions, usually involving spaces.  This has been fixed.

The NI-VISA driver would not initialize properly on libc version 5.4.44.
This has been fixed.

If an application called fork, the NI-VISA driver didn't initialize
properly in the child process.  Exiting either the child or parent process
caused the other's VISA calls to stop working.

In Serial, we now support baud rates higher than 38400.  Specifically,
the values 57600, 115200, 230400, and 460800 are now valid as long as the
system driver allows them.

In Serial, if data arrives at the same time as viTerminate is called or a
timeout occurs, the data now gets read.  If this satisfies the read request,
then the read operation returns a successful status.

Enabling VI_EVENT_SERVICE_REQ for VI_HNDLR with a GPIB-ENET controller
would cause an application to hang if an SRQ event arrived while I/O was
in progress.  This has been fixed.

Multiple VISA processes using GPIB could not perform I/O simultaneously
even if the I/O was to different controller cards.  This has been fixed.
Multiple I/O requests to the same GPIB controller will still be handled
sequentially due to the nature of GPIB.

Calling viOpen with access mode 1 (exclusive lock) did not work as expected
on GPIB interface sessions.  This has been fixed.


KNOWN ISSUES
------------
If your application crashes or terminates abnormally, NI-VISA cannot always
clean up properly.  In order to run another VISA application, you should
first run the application <VXIPNPPATH>/linux/NIvisa/viclean.  This deletes
any remaining shared memory segments and system semaphores.
