Linux GPIB Package changelog

3.2.03: Fixed compilation problems against 2.6.10 and later kernels, 
due to removal of urb->timeout from kernel.  Added module device 
tables for pci and isapnp boards, so they can be autoloaded by hotplug 
daemon.  Added support for hardware fifos on Agilent 82350b.  Fixed 
clearing of various ibsta status bits in the ni_usb_gpib driver,
and improved its error handling.
Fixed possibility of losing first byte of reads in certain cases
for tms9914 based boards.  Fixed some corner cases where module
use count was incremented/decremented incorrectly.

3.2.02: Some cleanups to automake files (Robert Jordens).
New drivers for Agilent 82357A (usb) and 82350B (pci).
Fixed problem in ni_usb_gpib driver with reads when the number of
bytes read is close to the size of the read buffer.  Added support
for udev.  Fixed problems that occurred when path to Linux
directory contained underscores.  Etc.

3.2.01: New driver for NI USB-B.  Fixed support for Measurement Computing
PCI-GPIB/1M (Marco Prevedelli).  Fixed inability to read/write after 
receiving device clear when using tnt4882 fifos.  Fixed bogus rejection 
of address 30 (Bryan Thomas).  Added PCI device ids for NI PXI-GPIB
and PMC-GPIB (Uwe Strempel).  Fixed allocation of ioports for ISA
Measurement Computing boards.  Fixed behaviour of DevClearList when passed 
an empty addressList.  Interrupted reads now return the data that was 
received before the interruption, for example by a timeout (based on patch 
from Steve Holland).  Fixed interrupt polarity for Quancom board.

3.2.00: Port to 2.6.xx Linux kernels.

3.1.101: Fixed compilation against kernels with dynamic
HZ patch.  Fixed reporting of SRQI bit in ibsta for boards
that support it.  Fixed double-sending of bytes during
writes with cb7210, which could occur when operating as
slave.  Changes to libgpib_test so it can be run with
two boards on different computers.

3.1.100: Fixed kernel oops that would occur after module
removal with some Measurement Computing boards.  Fixed timeouts
which could occur with some instruments when asserting/releasing
the ATN line.  New functions for Python binding (John Ackermann).
Switched module building to use kernel's kbuild.

3.1.99: Fixed possible oops on module removal, while attempting to
kill auto serial poll thread.  Fixed various bugs in tnt4882
driver.  Random bugfixes.

3.1.98: Fixed possible failures to completely empty
input fifo suring reads with NI boards.  Fixed
brokenness when 'name' entry is left out for
boards in /etc/gpib.conf. Fixed bogus receptions
of END with Measurement Computing pci-gpib/300k.
Moved auto serial polling to a kernel thread instead
of using libpthread.  Random bugfixes.

3.1.97: Added support for Quancom PCIGPIB-1, and newer
revisions of Ines PCI boards.  Fixes for accelerated
Ines support.  Fixed interrupt enabling on older
NI at-gpib boards, which was broken recently.  Fixed
SMP deadlock in ni_nat4882_isa interface.  Fixed
meaningless status bits getting set for device
descriptors.  Worked around issues some distros seem to
have with EXPORT_SYMBOL_GPL().

3.1.96: Re-fixed compatibility with older 2.4 kernels.
Fixed race conditions for at-gpib boards with nat4882 chips.
Fixed iblines() for Measurement Computing
PCI boards.  Prebuilt documentation no longer gets rebuilt
during compile.  Added support for newer NI PCI boards
with tnt500x chips.  Fixes for TCL binding.  Fixed
creation of gpib group.  Boards are brought online
when gpib_config is run now, instead of being brought
online/offline when open count becomes nonzero/zero.
More gpib_config options.  Random bugfixes.

3.1.95: Replaced old makefiles using autoconf/automake.
Updates to Guile binding (from Stefan Jahn).  Fixed
linking problems with gpib_config on some systems.
Fixed compilation of Perl binding with Perl 5.8.
Gratuitous changing of dashes module names to
underscores.  Fixed compilation of TCL binding
against several TCL versions.  Fixed support of
NI AT-GPIB cards with older chipsets.  Fixed
ISAPNP support for AT-GPIB/TNT where board would
not be reactivated after first use.  Fixed
regression in 3.1.94 where bus errors occur due
to writing too soon after ATN is asserted/released.
Catch bus errors on writing command bytes.
Random bugfixes.

3.1.94: Added 'gpib_config' utility which now must be
run to configure drivers after loading, in order to
implement proper permission checking when configuring
hardware.  New Guile binding by Stefan Jahn.  New
Perl example programs by John Ackermann.  Added ibrda(),
ibwrta(), ibstop(), and ibln().  More documentation.
PowerPC compilation fixes.  New test code.  Random bugfixes.

3.1.93: Added ibwrti() and ibrdi() to Perl binding, fixed Perl
bindings for ibevent(), iblines(), ibrpp(), and ibrsp().
Added isapnp support for NI AT-GPIB/TNT.  Fixed
accelerated interface for NI ISA cards.  Added php binding from
Michel Billaud.  Backward-compatible updates to config file format.
New, docbook-based documentation (also online at
http://linux-gpib.sourceforge.net/doc/index.html).  Added ibist().
Fixed tnt4882 driver when monitoring EOI line with iblines().
Fixed board-level ibloc().  Added recognition of CPCI-GPIB board
to cb7210 driver (Sebastian Prassl).

3.1.92: Fixed compilation with PCMCIA support enabled.  No other
changes.

3.1.91: Fixed compilation of Perl and TCL bindings.  Added accelerated
support for Ines, NI, and Measurement Computing chips.  Added ibpct(),
PassControl(), ibrsc(), ibrdf(), and ibwrtf().  Reduced size of
massive dependency files which slowed down compilation.  Fixed use
of board index as a board descriptor.  ThreadIb*() fixes from Kentaro
Kitigawa.  Fixed setting of eos mode with ibdev().  Fixed RFD holdoff
problems on reads due to incompatibilities in chips.  Fixed brokeness
that happened after a timeout occurs.  Implemented IbcTIMING/IbaTIMING
in ibconfig()/ibask() so T1 delay can now be adjusted.

3.1.9: Added ability to specify pci boards by bus and slot int gpib.conf.
Fixed Ines PCMCIA support.  Fixed HP82335 support.  Fixed reporting of
errors on writes.  Added support for devfs.  Fixes for giving boards
secondary address.  Added event queue and implemented ibevent().  Fixed
running as bus master for Measurement Computing (Computer Boards) cards.
Fixed polarity of bus control lines (iblines()) for Measurement
Computing (Computer Boards) cards.  Random bugfixes.

3.1.8: Added a bunch of new (mostly untested) functions: ibbna(),
ibcmda(), ibconfig(), DevClear(), DevClearList(), SendSetup(),
AllSpoll(), EnableRemote(), EnableLocal(), FindLstn(), FindRQS(),
PPoll(), PPollConfig(), PPollUnconfig(), RecvRespMsg(), ReadStatusByte(),
Receive(), ReceiveSetup(), ResetSys(), Send(), SendDataBytes(),
SendList(), SendCmds(), SendIFC(), SendLLO(), SetRWLS(), TestSRQ(),
TestSys(), Trigger(), TriggerList(), WaitSRQ().
New (partially tested) HP82335 support, and a couple assorted bugfixes.

3.1.7: Added ibppc(), ibask(), ThreadIbsta(), ThreadIberr(), ThreadIbcnt().
Added autopolling support (can't be turned off yet).  Fixed ibtrg() and
ibclr(). ibwait() fixes.  New Perl bindings by Thomas Nisius.  Fixed
increment of use count for all modules so they can't be unloaded while
in use.  Fixes for operating boards when board is not system controller.
Various other bugfixes.

3.1.6: Made timeout for serial polls adjustable instead of being hard coded
to 100 msec.  Removed a couple more global variables.  Fixed some problems
with timeout values not being updated.  Added some missing includes of string.h.
Fixed setting of EOI on writes.  Fixed disabling of dma when dma channel is set
to zero after being nonzero.  Fixed ibtrg() and ibclr().  Fixed use of secondary
addressing and return value for ibloc().

3.1.5: Fixed some problems that showed up with pc2 boards not being able to
send command bytes.  Added device id for NI GPIB+ boards.  Fixed lockup on
write with dma enabled for pc2/2a boards.  Added options during 'make config'
for specifying whether you want pcmcia support, and enabling verbose debugging
spam to your kernel logs.  Added support for NI PCMCIA GPIB boards (probably
doesn't work yet).  Allows 'whiptail' to be used instead of 'dialog' for gui
during configuration.  Fixed locking in ioctl to make it safe for multiple
processes to access devices through the same interface board.

3.1.4: Added easier setup for python binding from Brian Donovan.
To compile/install the Python and Tcl bindings you must run 'make', 'make
install' in the appropriate subdirectory of the 'language' directory.  Enabled
isa-dma in pc2-gpib driver.  Fixes for ISA boards.  Fixed tcl binding
for ibdev().  Made devices opened with ibfind() default to sending EOI at end
of writes.

3.1.3: Fixed race in nec7210 read that could cause failure to receive last
byte on reads. Board-specific fixes for ines pci, ines pcmcia, and
cec/keithley pci support.

3.1.2: Same as 3.1.1 except with some annoying debugging messages turned off.

3.1.1: New format for config file, added ibdev() function. Conditionally
compiled gpib0 module now split into seperate modules for different board
families, and several shared modules. Got rid of many global variables, it is
now about 90% safe to run more than one board at once. Various bugfixes,
cleanups, and removal of non-essential cruft.  Breaks binary compatibity
between library and modules from earlier versions.

3.1.0: New driver architecture

3.0.1: Fixed installation of gpib0.o module.  Fixed driver module for use
	with kernels that use module versioning.  Got rid of all usage of pointers to
	store io addresses.

3.0.0: Completed first pass at port to 2.4 kernel, and cleaned up a lot of little things.
	Still needs a lot of work, but should have all the capabilities/limitations
	of version 2.05-alpha which it was based on.

