Readme for Agilent M9181, M9182, M9183 PXI Digital Multimeter Linux Driver,
with legacy compatibility for Signametrics SMX2055, SMX2060, SMX2064 PXI Digital
Multimeters, SM2060 and SM2064 PCI Multimeters, and SMX4030 and SMX4032 Switch Cards.

1.0 Installation:
------------------

1.1 Uninstall signamet kernel module
    The M918X kernel module is compatible with all the Signametrics products listed at the top
    of this document.  However, the old Signametrics kernel driver must be removed for this
    driver to properly function.  If you have not been using Signametrics products on 
    this sytem, skip this step.  
  
    Administrative privileges are required.

    > su

    Check for currently loaded signamet driver.  

    # lsmod | grep signamet

    If present, unload it.

    # /etc/init.d/signamet stop

    Now, uninstall it.

    # chkconfig --del signamet
    # rm /etc/init.d/signamet

    

1.2 Compile and Install M918X kernel module 

    Compiling the M918X.ko kernel module requires the standard development tools,
    such as make and gcc.  It also requires kernel sources to be
    present at the standard location /usr/src/linux.  

    compiling M918X:

    > cd ./M918X_1.X.X/drv
    > make

    installing M918X (requires admin privileges):
    
    > su
    # make install

    The module "M918X" should have started and is visible if you view the
    currently loaded modules with lsmod.  You'll need sysv-rc-conf installed 
    for the above script to execute.  Run "> sudo apt-get install sysv-rc-conf"
    if necessary.     

    File nodes have been created at /dev/M918X_0, /dev/M918X_1, etc.  


1.3 Install User Libraries

    See the file README-user for information on installing the user libraries 
    and how to make calls to those libraries.  

    M9181, M9182, M9183 PXI Multimeters:    
    SM2060, SM2064, SMX2055, SMX2060, SMX2064 PCI and PXI Multimeters:
    ./M918X-1.X.X/README-user

    SMX4030, SMX4032 Switch Cards:    
    ./M918X-1.X.X/SMX403X/README


2.0 NOTES:
------------------

2.1  Development System

    This driver was developed on:
       Redhat Enterprise Linux 5 
       Linux version 2.6.18-308

2.2  SELinux issues

    it may be necessary to turn off SELinux to use the driver.  
    This can be done by editing  /etc/sysconfig/selinux 

    SELINUX=disabled

    you can temporarily turn off SELinux with
    
    > /usr/sbin/setenforce 0

2.3 Troubleshooting
    
    The following commands may be useful in troubleshooting. 
    Some of them may require administrative privileges.  

    Print system log to screen:
    > tail -f /var/log/messages
    on ubuntu:
    > tail -f /var/log/syslog   

    List information on PCI devices on the system:
    > lcpci -v

    The kernel module should appear here when loaded:
    > lsmod | grep M918X

    Each device should show up as entry in this file:
    > cat /proc/devices | grep M918X

    Successfully setup Signametrics devices show up as device files:
    > ll /dev/M918X*

    Check that the libraries being used by your process are the correct
    versions of the shared libary.  
    > less/<pid>/maps
