Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

CHARON supports NI PCI/PCIe/GPIB boards in pass-through mode using a specific driver that can be built from sources located in "/opt/charon/drivers/ni_pci_gpib_ppt" directory. Upon loading the driver (".ko" loadable module) into OS kernel at runtime it creates "/dev/gpib<i>" device for each NI PCI/PCIe/GPIB board it finds. 

...

There is no need to install device drivers from National Instruments.

Building NI-PCI/GPIB PCI PassThrough device driver

...

StepDescription
1

Make sure that the required building tools and include files are installed. If they are absent install them:

yum groupinstall "Development Tools"

yum install kernel-headers kernel-devel

(info) Note:

The kernel version must match the version of the installed kernel-headers (i.e. this packages must have same versions. It can be verified via "rpm -q -a | grep kernel-" )

Check that the "kernel" and the "kernel-headers" have the same version, and ensure that system is booted from this kernel version (not from some older one and etc) with "uname -a" command.

2

Open xterm and change the default directory to "/opt/charon/drivers/ni_pci_gpib_ppt":

cd /opt/charon/drivers/ni_pci_gpib_ppt

3

Issue "make clean; make" commands to build kernel object:

make clean; make

(warning) It is prohibited to use a module built on a certain version of kernel on another one.

4Check that there are no compilation errors and the file "ni_pci_gpib_ppt.ko" has been built

...

classpagebreak

...

StepDescription
1Disable auto-loading of device drivers from National Instruments on boot (if available). Use the black list file "/etc/modprobe.d/blacklist.conf" to do that.
2

Copy the GPIB kernel module to the location of Linux kernel modules, for example:

Div
classsmall

# cp /opt/charon/drivers/ni_pci_gpib_ppt/ni_pci_gpib_ppt.ko /lib/modules/3.10.9-200.el74.x86_64/kernel/drivers/

(warning)


The particular path may be different, depending on the kernel version and Linux distribution.
3

Enable auto load of the module:

echo ni_pci_gpib_ppt > /etc/modules-load.d/ni_pci_gpib_ppt.conf

4

Regenerate new "initramfs" image with "mkinitrd":

# mkinitrd -f /boot/initramfs-3.10.9-200.el74.x86_64.img 3.10.9-200.el74.x86_64

(warning) The particular path may be different, depending on the kernel version and Linux distribution.

Include Page
KBCOMMON:DOC-GoToToc
KBCOMMON:DOC-GoToToc

Div
classpagebreak


Configuring CHARON

Once NI-PCI/GPIB PCI PassThrough device driver is compiled and loaded configure CHARON in the following way:

VAX configuration

load

IEQ11

IEA
set

IEA

host_bus_location[0]

=

"/dev/gpib<N>"


set

IEA

host_bus_location[1]

=

"/dev/gpib<M>"

Example:

load

IEQ11

IEA


set

IEA

host_bus_location[0]

=

"/dev/gpib0"


set

IEA

host_bus_location[1]

=

"/dev/gpib1"

PDP11 configuration

load

IEQ11

IEA

vector

=

0270

priority

=

6
set

IEA

host_bus_location[0]

=

"/dev/gpib<N>"
set

IEA

host_bus_location[1]

=

"/dev/gpib<M>"

Example:

load

IEQ11

IEA

vector

=

0270

priority

=

6


set

IEA

host_bus_location[0]

=

"/dev/gpib0"


set

IEA

host_bus_location[1]

=

"/dev/gpib1"

Include Page
KBCOMMON:DOC-GoToToc
KBCOMMON:DOC-GoToToc