From 04:00 PM CDT – 08:00 PM CDT (09:00 PM UTC – 01:00 AM UTC) Tuesday, April 16, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

GPIB driver fails to install fully on Solaris 10.

I'm trying to install the GPIB driver a PCI card on a Sun Ultra 80 workstation running Solaris 10, but are having problems. The device file /dev/gpib is not created and none of my problems will run, although the libraries are installed, so they link properly.

The same driver (version 2.3) from the same Labview 7.1 installation CD was previously installed on the same machine, with no problems.  But since the driver was last installed, the operating system has been upgraded from Solaris 9 to Solaris 10.

I've tried a boot -r, but with no sucess.

# uname -a
SunOS sparrow 5.10 Generic_118822-23 sun4u sparc SUNW,Ultra-80

Someone on a newsgroup felt the output from prtconf -D would be useful, so part of this is shown below.

sparrow /export/home/drkirkby % prtconf -D
System Configuration:  Sun Microsystems  sun4u
Memory size: 4096 Megabytes
System Peripherals (Software Nodes):
<snip>
     pci, instance #1 (driver name: pcipsy)
         pci1093,c801, instance #0 (driver name: ib)

<snip>

He said "Looking at the PCI ID Repository, 1093,c801 corresponds to a National Instruments PCI-GPIB card.  Looks like the  ib driver attached to the hardware. "

Here you can see pkginfo thinks it is installed OK.

sparrow /export/home/drkirkby % pkginfo -l NIpcigpib
    PKGINST:  NIpcigpib
       NAME:  NI-488.2 Software for Solaris 2.x PCI-GPIB
   CATEGORY:  system
       ARCH:  sparc
    VERSION:  2.3
    BASEDIR:  /opt/NICgpib
     VENDOR:  National Instruments Corp.
       DESC:  PCI-GPIB Software for Sun SPARC/Ultra platforms running Solaris 2.x
     PSTAMP:  06/27/03
   INSTDATE:  Dec 26 2005 10:35
    HOTLINE:  (512) 795-8248
     STATUS:  completely installed
<snip>

The 'ib' driver can be seen in /usr/kernel/drv/sparcv9
# ls -l  /usr/kernel/drv/sparcv9/ib
-rw-r--r--   1 root     sys       291000 Dec 26 21:28 /usr/kernel/drv/sparcv9/ib

But there is no /dev/gpib.

# ls -l /dev/gpib*
/dev/gpib*: No such file or directory

When I try to run a test program, it fails to find the file /dev/gpib. Any programs that I have written myself fail to run.

sparrow /usr/bin % ./ibtsta

National Instruments GPIB Software Installation Test, Part A
Copyright (c) 1999 National Instruments Corp.    Version 1.5
All rights reserved.


Part A of this test:

              - checks the installation and operation of the GPIB
                software.

              - requires no interaction with the user.

              - assumes there is a GPIB board in your system,
                with special files /dev/gpib and /dev/gpib0.

              - takes only a few seconds to complete.


           *** DISCONNECT ALL GPIB CABLES FROM THE BOARD 'gpib0' ***


Press return to begin tests:



Checking driver installation...

The special file /dev/gpib cannot be found.

Sorry, the test cannot continue.
Please refer to the Getting Started guide to correct any
problems, then run this test again.

Any ideas? I've looked at the install scripts for the driver and can see nothing that checks for the particualar version of the operating system. The only check seems to be if the system is 64-bit, which this is.



Message Edited by drkirkby on 12-26-2005 04:08 PM

0 Kudos
Message 1 of 15
(7,117 Views)

Hi, did you run ibconf?  Also, here's the Installation Guide manual, so you can double-check that you haven't missed anything:  Installing Your PCI-GPIB, PXI-GPIB, or PMC-GPIB and NI-488.2 for Solaris Installation Guide.

Repost if you are still having problems.

0 Kudos
Message 2 of 15
(7,081 Views)
Hi,

Thank you for replying.

# ibconf

-------------------------------------------------------------------------------
    National Instruments NI-488.2 Software Configuration Utility, Ver 2.3.
    Copyright (c) 2003 National Instruments Corp.      All rights reserved.
-------------------------------------------------------------------------------

                                               ==========
                         ==========         ===========
                       =================   ==========
                          =================  =======
                             ================  ====
                               ================  ==
                              =  ================
                              ===  ================
                              =====  ===============
                             ========  ========
                            =========   ==
                           ==========
                           =======
                           ====
                            =
----------------------------------------+--------------------------------------
File: /usr/kernel/drv/ib                |  /dev/gpib not found
----------------------------------------+--------------------------------------

As you can see, ibconf can't find the file /dev/gpib, so gives up.

I have tried spoofing the operating sytem version, so a call to 'uname' indicates the OS is Solaris 9 (where it installed OK before) and not Solaris 10 (as it actually is). That did not help. pkgadd  installed it  and indicated the installation was fine, but again the driver was useless. I've removed it again,  installed the driver again (this time without spoofing the OS), but still no luck.

Hence I am still stuck. Any other suggestions appreciated.

/dev/gpib would be a link to something in /devices. Does anyone know what that is? I might be able to make the link manually,

0 Kudos
Message 3 of 15
(7,064 Views)
Would you mind uninstalling and installing the driver again, and posting the screen information from the install up here?
Message 4 of 15
(7,043 Views)
Hi,

I've uninstalled it with pkgrm, then here is the install.

# cat /etc/motd
Sun Microsystems Inc.   SunOS 5.10      Generic January 2005
# uname -a
SunOS sparrow 5.10 Generic_118822-23 sun4u sparc SUNW,Ultra-80
# pwd
/cdrom/labview-7.1-pds/GPIB
# ./INSTALL-GPIB
One moment...

The following packages are available:
  1  NICsbgpib     NI-488.2 Software for Solaris 2.x SB-GPIB
                   (sparc) 2.3
  2  NICscsia      NI-488.2 Software for Solaris 2.x GPIB-SCSI-A
                   (sparc) 2.3
  3  NIenet        NI-488.2M GPIB-ENET Handler version 1.4 for Solaris 2.x
                   (sparc) 1.4
  4  NIpcigpib     NI-488.2 Software for Solaris 2.x PCI-GPIB
                   (sparc) 2.3

Select package(s) you wish to process (or 'all' to process
all packages). (default: all) [?,??,q]: 4

Processing package instance <NIpcigpib> from </cdrom/labview-7.1-pds/GPIB>
## Installing package <NIpcigpib> in global zone

NI-488.2 Software for Solaris 2.x PCI-GPIB(sparc) 2.3

Copyright (c) 2003 National Instruments Corp.
All rights reserved



NATIONAL INSTRUMENTS SOFTWARE LICENSE AGREEMENT


INSTALLATION NOTICE: THIS IS A CONTRACT. BEFORE YOU DOWNLOAD THE SOFTWARE
<cut all the license info out>
� 2001-2003 National Instruments Corporation. All Rights Reserved.

370406C-01
April 2003


Do you agree with this license? [y/n] : [y,n,?] y

    NI-488.2 Software for Solaris 2.6 and above

    This installer will automatically remove older, non-package
    formatted versions of the driver, ib, from /usr/kernel/drv
    and /kernel/drv. Also, if module ib is already bound, this
    installer will execute 'rem_drv ib'.
    This installer will also automatically remove older version
    of the software update package installed in the system.


Do you want to continue with the installation? Default is y [y,n,?] y

Where should the include file ugpib.h be installed? Default is
/usr/include/sys [?,q]

Where should the utilities ibconf, ibic, ibtsta, and ibtstb be installed?
Default is /usr/bin [?,q]

Where should libgpib.a and libgpib.so be installed? Default is /usr/lib [?,q]
## Executing checkinstall script.
Using </opt/NICgpib> as the package base directory.
## Processing package information.
## Processing system information.
   1 package pathname is already properly installed.
## Verifying package dependencies.
## Verifying disk space requirements.

Installing NI-488.2 Software for Solaris 2.x PCI-GPIB as <NIpcigpib>

## Executing preinstall script.
## Installing part 1 of 1.
/opt/NICgpib/cib.c
/opt/NICgpib/cib.h
/opt/NICgpib/ib_32
/opt/NICgpib/ib_64
/opt/NICgpib/ibconf
/opt/NICgpib/ibic
/opt/NICgpib/ibkeypci
/opt/NICgpib/ibtsta
/opt/NICgpib/ibtstb
/opt/NICgpib/libgpib32.a
/opt/NICgpib/libgpib32.so
/opt/NICgpib/libgpib64.a
/opt/NICgpib/libgpib64.so
/opt/NICgpib/ugpib.h
[ verifying class <none> ]
Modifying /etc/devlink.tab
[ verifying class <sed> ]
## Executing postinstall script.
Installing 64 bit kernel driver
ibkeypci: Scanning NI-488 resource file /etc/ibrc
ibconf: Scanning NI-488 driver file /usr/kernel/drv/ib
ibconf: Scanning NI-488 resource file /etc/ibrc

Installation of <NIpcigpib> was successful.
# ls /dev/gpib
/dev/gpib: No such file or directory

As you can see, the device file /dev/gpib does not exist, and as I have posted before, the test programs abort as soon as they can't find the file /dev/gpib.
0 Kudos
Message 5 of 15
(7,032 Views)

Hi, do you see a banner with the information on the top of page 11 from the Installation Guide at the end of the install or in the console when you boot up the system?  I am not sure if you cut that out accidentally from your pasting of the install. 

NI-488.2 GPIB Device Driver, Version 2.3
Copyright (c) 2003 National Instruments Corp.
All Rights Reserved.

National Instruments PCI-GPIB (gpibx, slot y, S/N nnn) XXXXXXX

0 Kudos
Message 6 of 15
(7,011 Views)
Hi,

Prior to upgrading to Solaris 10, I used to see that banner every time the machine booted.

Since I installed Solaris 10 and have the problems, the banner is not seen.I thought I'd mentioned that earlier, but see it was on a newsgroup where I asked for some advice. Sorry for not mentioning it.

A couple of nights back I did a "live upgrade" of the Solaris 10 installation to the Solaris 10 update one (1/06 release). So now:

sparrow /export/home/drkirkby % cat /etc/release
                       Solaris 10 1/06 s10s_u1wos_19a SPARC
           Copyright 2005 Sun Microsystems, Inc.  All Rights Reserved.
                        Use is subject to license terms.
                           Assembled 07 December 2005

sparrow /export/home % uname -a
SunOS sparrow 5.10 Generic_118822-25 sun4u sparc SUNW,Ultra-80

That has made no difference to the GPIB issue. The driver still reports it is sucessfuly installed when I do an installation, but still does not seem to be communicating with the hardware. Yet, someone else had worked out from the prtconf -D output that the ib driver had attached to a GPIB board.

Has this GPIB driver been tested with Solaris 10 on many systems? I suspect the driver may have been released before Solaris 10 was.


Message Edited by drkirkby on 01-03-2006 07:56 PM

0 Kudos
Message 7 of 15
(7,011 Views)
Hello,
 
You're correct, this driver was released before Solaris 10 and so it does not "officially" support it.  Sun has been pretty careful about maintaining backwards compatibility even for device drivers in the past, but there may be some issues.  It's strange that everything appears normal aside from the "missing" banner and files.  We are evaluating what it would take for formal support of Solaris 10 at this point, but I know that doesn't help you with your problem at the moment.  If in the course of our experimentation here we find something that is useful to you, I'll pass it along.
 
Scott B.
GPIB Software
0 Kudos
Message 8 of 15
(6,985 Views)
Hi,
the problem is now solved with the help of someone from Sun (Casper Dik) via a newsgroup. See the thread "
Can I used liveupgrade to downgrade?"

http://groups.google.co.uk/group/comp.unix.solaris/browse_thread/thread/2ec4781570adb8fe/8e033fe00ce7e223?lnk=st&q=can+I+used+live-upgrade+to+downgrade&rnum=1&hl=en#8e033fe00ce7e223


Why it never worked the first time is not obvious to me, but perhaps Casper will come back and comment.

When uninstalling the package with pkgrm, the file /kernel/drv/sparcv9/ib exists.  After removing the file with
rm -f /kernel/drv/sparcv9/ib
it was then possible to install the driver properly and it worked.

I note there is a message:

    This installer will automatically remove older, non-package
    formatted versions of the driver, ib, from /usr/kernel/drv
    and /kernel/drv. Also, if module ib is already bound, this
    installer will execute 'rem_drv ib'.


There is no mention of  removing the /kernel/drv/sparcv9/ib. Yet after installation, there is no file
/kernel/drv/sparcv9/ib, but the hardware does work. The date on the file before I manually removed it suggests it was put there when I first installed the driver under Solaris 10.

Anyway, to clarify the working combination here.

Sun Ultra 80,. 4 x 450 MHz, 4 GB RAM
Solaris 10 update 1, release in 1/06
kernel version 118822-25.

Also the same hardware, with Solaris 9 worked OK.

The non-working combination was

Sun Ultra 80,. 4 x 450 MHz, 4 GB RAMEdit As HTML
Solaris 10 (first real release, ignoring betas), released in 3/05
kernel version 118822-25.


I hope that is helpful.

0 Kudos
Message 9 of 15
(6,969 Views)
You might find this useful for future reference.

Someone at Sun (Casper Dik, email, Casper [DOTT] Dik [ATT] Sun.COM) has got to the bottom of the problem, and we now know the exact reason it is happening.

Sun had a package 'SUNWib' for some time and introduced a driver in Solaris 10 which is part of that package. Sun's driver is called 'ib' - the same as used by National Instrument for the GPIB driver.  Sun's 'ib' driver did not exist in Solaris 9.

My machine was picking up the driver in the SUNWib package, not the National Instruments one.

I've removed the SUNWib package since I am unlikely to need it, although it creates several error messages at boot time since quite a few packages depend on SUNWib.

Perhaps Sun and National Instruments could get together on this.

If there is any chance of you creating me a package, where the driver has a different name? That would allow me to restore the SUNWib package and prevent the error messages?  I assume that would not be too much hassle for you and should allow others to use it on Solaris 10, since this seems doomed to failure if there is a conflicting driver name.

If you want to try that and release it to me as a beta package I'll try it.

I have another question. The driver ib_64 seems to be copied to /usr/kernel/drv/sparcv9/ib, but there about 6 bytes which appear to differ between the ib_64 on the CD and /usr/kernel/drv/sparcv9/ib. Is that intensional?


0 Kudos
Message 10 of 15
(6,955 Views)