Need help with linux-gpib on Raspberry Pi 4
Edevaldo Pereira da Silva Junior <[email protected]> Thu, 25 Mar 2021 00:25:23 -0500
| Newsgroups | gmane.linux.hardware.gpib.general |
|---|---|
| Message-ID | <CADP-gv+YRaCWc93ZbxLe7DioUVM7eKM8roV=da--3i-nshVR5A@mail.gmail.com> |
I tried to install the NI GPIB-USB-HS device and use it on a Raspberry Pi
4. But I cannot get to communicate with devices connected to it.
Compiling and installing linux-gpib seems to have worked well. I didn't see
any errors.
When I connect the device to the Pi and run dmesg I see:
*[ 3184.306689] usb 1-1.1: new high-speed USB device number 7 using
xhci_hcd[ 3184.547108] usb 1-1.1: config 1 interface 0 altsetting 0
endpoint 0x81 has an invalid bInterval 0, changing to 7[ 3184.547619] usb
1-1.1: New USB device found, idVendor=3923, idProduct=709b, bcdDevice=
1.01[ 3184.547632] usb 1-1.1: New USB device strings: Mfr=1, Product=2,
SerialNumber=3[ 3184.547645] usb 1-1.1: Product: GPIB-USB-HS[ 3184.547657]
usb 1-1.1: Manufacturer: National Instruments[ 3184.547668] usb 1-1.1:
SerialNumber: 0184AC93[ 3184.551672] ni_usb_gpib: probe succeeded for path:
usb-0000:01:00.0-1.1*
Typing lsusb I see:
*Bus 001 Device 007: ID 3923:709b National Instruments Corp. GPIB-USB-HS*
And "lsmod | grep gpib" results in:
*ni_usb_gpib 40960 0gpib_common 49152 1 ni_usb_gpib*
My /etc/gpib.conf looks:
*interface { minor = 0 /* board index, minor = 0 uses
/dev/gpib0, minor = 1 uses /dev/gpib1 */ board_type = "ni_usb_b" /*
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 = T30s /* 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 */ master = yes /*
interface board is system controller */}device { minor = 0 /*
minor number for interface this device is connected to */ pad = 17
/* Primary address */ name = "K2000" /* device mnemonic */
sad = 0 /* Secondary address */ eos = 0xa /* EOS
byte, 0xa is newline and 0xd is carriage return */ set-reos = yes /*
Terminate read if EOS */ set-bin = yes /* Compare EOS 8-bit */
set-xeos = no /* Assert EOI whenever EOS byte is sent */ set-eot =
yes /* Assert EOI with last byte on writes */}device { minor = 0
/* minor number for interface this device is connected to */ pad
= 16 /* Primary address */ name = "K2001M" /* device
mnemonic */ sad = 0 /* Secondary address */ eos = 0xa
/* EOS byte, 0xa is newline and 0xd is carriage return */ set-reos
= yes /* Terminate read if EOS */ set-bin = yes /* Compare EOS
8-bit */ set-xeos = no /* Assert EOI whenever EOS byte is sent */
set-eot = yes /* Assert EOI with last byte on writes */}*
But running "sudo gpib_config" results in:
*failed to configure boardtype: ni_pcifailed to configure boardmain:
Invalid argument*
If I run something like "sudo gpib_config -t ni_usb_b --sre --ifc" I get no
errors.
And after I run it "sudo ibtest" seems to start but I get get any response
from devices on the bus:
*Do you wish to open a (d)evice or an interface (b)oard? (you probably want
to open a device): denter primary gpib address for device you wish to open
[0-30]: 16trying to open pad = 16 on /dev/gpib0 ...You can:*
* w(a)it for an event*
* write (c)ommand bytes to bus (system controller only)*
* send (d)evice clear (device only)*
* change remote (e)nable line (system controller only)*
* (g)o to standby (release ATN line, system controller only)*
* send (i)nterface clear (system controller only)*
* ta(k)e control (assert ATN line, system controller only)*
* get bus (l)ine status (board only)*
* go to local (m)ode*
* change end (o)f transmission configuration*
* (q)uit*
* (r)ead string*
* perform (s)erial poll (device only)*
* change (t)imeout on io operations*
* request ser(v)ice (board only)*
* (w)rite data string*
* send group e(x)ecute trigger (device only)*
*: wenter a string to send to your device: *IDN?sending string: *IDN?gpib
status is: ibsta = 0xc100 < ERR TIMO CMPL >iberr= 6EABO 6: Operation
abortedibcntl = 0*
Any ideas on what I could try to fix the problem? The GPIB card works ok on
windows. I have no other linux machines to test it.
Thanks a lot!
Edevaldo
_______________________________________________
Linux-gpib-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-gpib-general