Hi,
A couple of weeks ago, I used a NI GPIB-USB-HS to connect to OpeSUSE 15.3. This worked flawlessly from the very beginning even without ni_usb_b board configuration. I now have another one, which is not working (it is working on Windows, though). It is the very same model. So, no idea what's going on :/
~ ❯ sudo gpib_config
failed to bring board online
failed to configure board
main: Connection timed out
~ ❯ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 3923:709b National Instruments Corp. GPIB-USB-HS
Bus 001 Device 002: ID 413c:8505 Dell Computer Corp. Dell Universal Receiver
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
~ ❯ lsmod | grep gpib
ni_usb_gpib 45056 0
gpib_common 57344 3 ni_usb_gpib,tnt4882,nec7210
usbcore 311296 4 xhci_hcd,ni_usb_gpib,usbhid,xhci_pci
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 = "usb" / 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 /
master = yes / interface board is system controller /
}
~ ❯ sudo dmesg | grep gpib
[ 5.667063] systemd-sysv-generator[502]: SysV service '/etc/init.d/gpibenumsvc' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
[ 6.018962] gpib_common: loading out-of-tree module taints kernel.
[ 6.018994] gpib_common: module verification failed: signature and/or required key missing - tainting kernel
[ 6.026579] gpib: registered ni_isa interface
[ 6.026579] gpib: registered ni_isa_accel interface
[ 6.026580] gpib: registered ni_nat4882_isa interface
[ 6.026580] gpib: registered ni_nat4882_isa_accel interface
[ 6.026580] gpib: registered ni_nec_isa interface
[ 6.026580] gpib: registered ni_nec_isa_accel interface
[ 6.026581] gpib: registered ni_pci interface
[ 6.026581] gpib: registered ni_pci_accel interface
[ 24.103469] ni_usb_gpib driver loading
[ 24.103498] ni_usb_gpib: probe succeeded for path: usb-0000:00:14.0-9
[ 24.103572] usbcore: registered new interface driver ni_usb_gpib
[ 24.103575] gpib: registered ni_usb_b interface
[ 24.104635] ni_usb_gpib: attach
[ 24.104645] usb 1-9: bus 1 dev num 4 attached to gpib minor 0, NI usb interface 0
[ 25.133312] /home/robert/Downloads/linux-gpib-kernel-4.3.4/drivers/gpib/ni_usb/ni_usb_gpib.c: usb_control_msg returned -110
[ 26.157393] /home/robert/Downloads/linux-gpib-kernel-4.3.4/drivers/gpib/ni_usb/ni_usb_gpib.c: usb_control_msg returned -110
[ 27.181364] /home/robert/Downloads/linux-gpib-kernel-4.3.4/drivers/gpib/ni_usb/ni_usb_gpib.c: ni_usb_write_registers: ni_usb_receive_bulk_msg returned -110, bytes_read=0
[ 27.181370] /home/robert/Downloads/linux-gpib-kernel-4.3.4/drivers/gpib/ni_usb/ni_usb_gpib.c: ni_usb_shutdown_hardware: register write failed, retval=-110
[ 27.181498] gpib: interface attach failed
[ 27.211205] ni_usb_gpib: attach
[ 27.211207] usb 1-9: bus 1 dev num 4 attached to gpib minor 0, NI usb interface 0
[ 32.365116] ni_usb_gpib: usb_reset_configuration() failed.
[ 33.389211] /home/robert/Downloads/linux-gpib-kernel-4.3.4/drivers/gpib/ni_usb/ni_usb_gpib.c: usb_control_msg request 0x41 returned -110
[ 34.413138] /home/robert/Downloads/linux-gpib-kernel-4.3.4/drivers/gpib/ni_usb/ni_usb_gpib.c: usb_control_msg returned -110
[ 34.413146] /home/robert/Downloads/linux-gpib-kernel-4.3.4/drivers/gpib/ni_usb/ni_usb_gpib.c: failed to submit bulk out urb, retval=-2
[ 34.413150] /home/robert/Downloads/linux-gpib-kernel-4.3.4/drivers/gpib/ni_usb/ni_usb_gpib.c: ni_usb_write_registers: ni_usb_send_bulk_msg returned -2, bytes_written=0, i=16
[ 34.413152] /home/robert/Downloads/linux-gpib-kernel-4.3.4/drivers/gpib/ni_usb/ni_usb_gpib.c: ni_usb_shutdown_hardware: register write failed, retval=-2
[ 34.413155] gpib: interface attach failed
[ 34.428027] ni_usb_gpib: attach
[ 34.428030] usb 1-9: bus 1 dev num 4 attached to gpib minor 0, NI usb interface 0
[ 34.428033] ni_usb_gpib: usb_reset_configuration() failed.
[ 35.437135] /home/robert/Downloads/linux-gpib-kernel-4.3.4/drivers/gpib/ni_usb/ni_usb_gpib.c: usb_control_msg request 0x41 returned -110
[ 36.461335] /home/robert/Downloads/linux-gpib-kernel-4.3.4/drivers/gpib/ni_usb/ni_usb_gpib.c: usb_control_msg returned -110
[ 36.461342] /home/robert/Downloads/linux-gpib-kernel-4.3.4/drivers/gpib/ni_usb/ni_usb_gpib.c: failed to submit bulk out urb, retval=-2
[ 36.461346] /home/robert/Downloads/linux-gpib-kernel-4.3.4/drivers/gpib/ni_usb/ni_usb_gpib.c: ni_usb_write_registers: ni_usb_send_bulk_msg returned -2, bytes_written=0, i=16
[ 36.461348] /home/robert/Downloads/linux-gpib-kernel-4.3.4/drivers/gpib/ni_usb/ni_usb_gpib.c: ni_usb_shutdown_hardware: register write failed, retval=-2
[ 36.461350] gpib: interface attach failed
[ 81.235280] gpib: ioctl 3 invalid for offline board
[ 81.235284] gpib: ioctl 5 invalid for offline board
[ 81.235285] gpib: ioctl 5 invalid for offline board
Well, it appears to be completely failing to communicate with the
gpib-usb-hs over usb. Maybe the difference between your working and
broken one is the type of usb port hardware it is plugged in to (like
usb3 superspeed versus usb2 highspeed or some such)?
No, that’s all the same. The one working has a serial number starting with 15, the newer one with 17. Potentially the driver is different that is not supported by Linux gpib?
Cheers,
Robert
Related
Support Requests: #32
Possibly, you'd have to use a usb sniffer (I use wireshark) to compare
what the windows driver does with your 2 adapters to see if they are
initialized differently.
One thing that might be interesting is the "lsusb -v" output for the 2 adapters to see if they are using different endpoints.