Welcome | spec | C-PLOT | Support | Users | Contact
 
Contents -> ADMINISTRATOR'S GUIDE -> Steps For Installing spec -> Installing Drivers
spec Manual


5.3.3. - Installing Drivers



In the early history of spec, much of the hardware communication was done through drivers. A driver is a piece of software that becomes part of the operating system and allows spec to communicate with the particular hardware the driver supports or performs some other function not available with the standard operating system. Most current configurations of spec do not require any CSS-provided drivers.

Note that for many PC configurations where spec once required use of a driver, spec now supports driverless configurations. The hardware is controlled directly from user level using inb()/outb() type of calls. Frequent polling of status registers replaces the use of interrupts. The performance of spec using polled mode seems to be as effective as the interrupt-driven drivers. Those configurations that do require spec drivers are described below.

The files for spec drivers are in the drivers subdirectory of the standard distribution. If the file drive.tar.Z exists in the directory, run the TYPEME script to extract the driver files. A README file in that directory contains up-to-date information about the currently available drivers and instructions on installing them.

Some hardware devices on some platforms, such as the National Instruments GPIB controllers on most platforms, require a vendor-supplied driver.

spec drivers are available for the items in the following list.


  • The DSP 6001/6002 CAMAC crate controller with the DSP PC004 IBM PC interface on System V release 3.2 and 4.x, SCO XENIX 386 3.2.3 and SCO UNIX platforms. Note, this controller can also be used in a driverless configuration, where all I/O to the CAMAC is through user-level inb()/outb() calls. Contact CSS to discuss performance considerations.

  • The Kinetic Systems 3922 CAMAC controller and 2926 PC board on on System V release 3.2 and 4.x platforms. Note, this controller can also be used in a driverless configuration, where all I/O to the CAMAC is through user-level inb()/outb() calls. Contact CSS to discuss performance considerations.

  • The Kinetic Systems 3912 CAMAC controller on BSD and ULTRIX platforms.

  • The Kinetic Systems 3929 SCSI CAMAC crate controller on SunOS 4.1 and Solaris 2.x platforms. Note, this controller can be used on HP-UX platforms with special code built into spec - no driver is necessary.

  • The Oregon Micro Systems PCX, PC38 or PC39 PC board motor controller on System V release 3.2 and 4.x platforms. It is also possible to use this board in a driverless, polled mode. Contact CSS to discuss performance considerations.

  • The Oxford/Tennelec/Nucleus PCA II multichannel analyzer card on System V release 3.2, 4.x and linux platforms. It is also possible to use this board in a driverless, polled mode. However, dead-time correction will not be available in that case. The newer model PCA-3 board doesn't require a driver in any case.

  • On PC platforms using System V Release 3 UNIX, a special "nap" driver must be installed to implement sub-second sleeps. This driver is not needed on System V Release 4 platforms.

  • On SCO XENIX, SCO UNIX and AIX PS/2 platforms, a special driver must be installed to enable access to I/O ports. If any of the hardware devices you use require I/O port access, install this driver.

  • On linux platforms, spec is installed as a set-user-id root program, in order that the iopl() system call can be executed. Note, though, that the root privilege is only enabled for the duration of that call.


For the hardware controllers that require an interrupt on ISA-bus platforms, you have to carefully select from the limited interrupts available. With 8-bit boards, such as the DSP PC004 and the OMS motor controllers, there are only four interrupts available: 3, 4, 5 and 7. The conventional PC device assignments are COM2, COM1, LP2 and LP1 respectively. (Interrupts 0, 1, 2 and 6 are used by the clock, keyboard, slave interrupt controller and floppy controller.) When you install a new board that requires an interrupt vector, you may have to disable one of the above devices. They are generally eliminated in the order LP2, COM2, COM1, LP1.

If you run out of 8-bit interrupts, it is possible to wire the interrupt signal from an 8-bit board to an unused interrupt line in a 16-bit slot. Contact CSS for advice.


  Top
  Prev | Next