Problem with device communication

Dirk <[email protected]> Mon, 11 Oct 2021 20:36:08 +0200
Newsgroups gmane.linux.hardware.gpib.general
Message-ID <[email protected]>
Hello,

several weeks ago i obtained a RaspberryPI GPIB Shield.

I followed the instructions at http://elektronomikon.org/install.html
but did minor changes to get version 4.3.4 working.

Installation went fine without any problems.

If i try to read something from my R&S URV5 power meter nothing happend.
I get the same result with my SMG signal generator.

Testing the system with "ibtest" (-> line status) shows unkown status of
bus lines.

At this point i have no idea what is wrong in my setup.

It would be great if someone can help me.

BR
Dirk



Following some additional information:

root@raspberrypi:/home/pi# cat /etc/debian_version
10.10
root@raspberrypi:/home/pi#

root@raspberrypi:/home/pi# uname -a
Linux raspberrypi 5.10.60-v7+ #1449 SMP Wed Aug 25 15:00:01 BST 2021
armv7l GNU/Linux
root@raspberrypi:/home/pi#

root@raspberrypi:/home/pi# dmesg
[...]
[   55.161921] gpib_common: loading out-of-tree module taints kernel.
[   55.164358] Linux-GPIB 4.3.4 Driver
[   55.182620] gpib: registered gpib_bitbang interface
root@raspberrypi:/home/pi#


root@raspberrypi:/home/pi# gpib_config -v
linux-gpib version = 4.3.4
root@raspberrypi:/home/pi#

root@raspberrypi:/home/pi# ibterm -d10
Attempting to open /dev/gpib0
pad = 10, sad = 0, timeout = 10, send_eoi = 1, eos_mode = 0x0000
ibterm>*IDN?
ibterm>
ibterm: Done.
root@raspberrypi:/home/pi#

root@raspberrypi:/home/pi# ibtest
Do you wish to open a (d)evice or an interface (b)oard?
         (you probably want to open a device): b
enter name of interface board (or device) you wish to open: violet
trying to open board named 'violet'
You can:
         w(a)it for an event
[...]
         send group e(x)ecute trigger (device only)
: l
DAV unknown
NDAC unknown
NRFD unknown
IFC unknown
REN unknown
SRQ unknown
ATN unknown
EOI unknown
gpib status is:
ibsta = 0x1160  < SRQI CMPL REM CIC >
iberr= 0

ibcntl = 0
You can:
         w(a)it for an event
[...]
         send group e(x)ecute trigger (device only)
:


root@raspberrypi:/home/pi# cat /usr/local/etc/gpib.conf
[...]
/* This section configures the configurable driver characteristics
  * for an interface board, such as board address, and interrupt level.
  * minor = 0 configures /dev/gpib0, minor = 1 configures /dev/gpib1, etc.
  */

interface {
         minor = 0       /* board index, minor = 0 uses /dev/gpib0,
minor = 1 uses /dev/gpib1, etc. */
         board_type = "gpib_bitbang"     /* type of interface board
being used */
         name = "violet" /* optional name, allows you to get a board
descriptor using ibfind() */
         pad = 0 /* primary address of interface             */
         sad = 0 /* secondary address of interface           */
         timeout = T3s   /* timeout for commands */

         eos = 0x0d      /* EOS Byte, 0xa is newline and 0xd is carriage
return */
         set-reos = yes  /* Terminate read if EOS */
         set-bin = no    /* Compare EOS 8-bit */
         set-xeos = no   /* Assert EOI whenever EOS byte is sent */
         set-eot = yes   /* Assert EOI with last byte on writes */

/* settings for boards that lack plug-n-play capability */
         base = 0        /* Base io ADDRESS                  */
         irq  = 0        /* Interrupt request level */
         dma  = 0        /* DMA channel (zero disables)      */

/* pci_bus and pci_slot can be used to distinguish two pci boards
supported by the same driver */
/*      pci_bus = 0 */
/*      pci_slot = 7 */

         master = yes    /* interface board is system controller */
}

/* Now the device sections define the device characteristics for each
device.
  * These are only used if you want to open the device using ibfind()
(instead
  * of ibdev() )
  */

device {
         minor = 0
         name = "urv"
         pad = 10
         sad = 0
}


device {
         minor = 0       /* minor number for interface board this device
is connected to */
         name = "smg"    /* device mnemonic */
         pad = 28        /* The Primary Address */
         sad = 0 /* Secondary Address */

         eos = 0xa       /* EOS Byte */
         set-reos = yes /* Terminate read if EOS */
         set-bin = no /* Compare EOS 8-bit */
}

root@raspberrypi:/home/pi#