|
From: David G. <dav...@po...> - 2026-06-04 17:33:19
|
On 6/4/26 10:12 AM, dave penkler wrote:
> Hi,
> The strace run looks perfect.
> Can we try ibtest ?
> open (b)oard
> primary
> (t)ake control
> (l)ine status
>
> and see the output.
>
> Also let's try with irq lines in the gpib.config commented out.
>
> cheers,
> /d
Ok, done.
$ cat /etc/gpib.conf
/* /etc/gpib.conf */
interface {
minor = 0 /* board index, minor = 0 uses /dev/gpib0, minor = 1 uses
/dev/gpib1, etc. */
board_type = "ni_pci" /* type of interface board being used */
name = "primary" /* 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 = 0x0a /* 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 */
//irq = 20
/* pci_bus and pci_slot can be used to distinguish two pci boards
supported by the same driver */
pci_bus = 5
pci_slot = 5
master = yes /* interface board is system controller */
}
interface {
minor = 1 /* board index, minor = 0 uses /dev/gpib0, minor = 1 uses
/dev/gpib1, etc. */
board_type = "ni_pci" /* type of interface board being used */
name = "secondary" /* 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 = 0x0a /* 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 */
//irq = 21
/* pci_bus and pci_slot can be used to distinguish two pci boards
supported by the same driver */
pci_bus = 5
pci_slot = 6
master = yes /* interface board is system controller */
}
$ cat /etc/udev/rules.d/97-gpib.rules
#
SUBSYSTEM=="pci", ACTION=="add", KERNELS=="0000:05:05.0",\
RUN+="/sbin/modprobe tnt4882",\
RUN+="/usr/sbin/gpib_config --minor 0"
#
SUBSYSTEM=="pci", ACTION=="add", KERNELS=="0000:05:06.0",\
RUN+="/sbin/modprobe tnt4882",\
RUN+="/usr/sbin/gpib_config --minor 1"
$ lspci -k
...
05:05.0 Communication controller: National Instruments PCI-GPIB (rev 01)
Kernel driver in use: tnt4882
Kernel modules: tnt4882
I rebooted to be certain. I also remove the second card on slot 6 to be
sure.
: k
Enter '1' to assert ATN synchronously, or '0' for asynchronously [1]: 1
Taking control synchronously...
gpib status is:
ibsta = 0x8000 < ERR >
iberr= 1
ECIC 1: Board not controller in charge
|