Re: Counterfeit NI GPIB-USB-HS half-works?

Hernán Freschi <[email protected]> Thu, 12 Jun 2025 11:15:40 -0300
Newsgroups gmane.linux.hardware.gpib.general
Message-ID <CALruTQfiS_jHo7ATMUpu2BePd9=LhMyVPpLuxtsPn19ugWLsVA@mail.gmail.com>
Hi Dave
thanks. What exactly is the problem though? I've been going through the
code a bit and patched a couple of error messages, regarding these:
[    5.317767] usb 1-1.6: ni_usb_gpib: unexpected data: buffer[6]=0x19,
expected 0x2, 0xe, 0xf or 0x16
[    5.318304] usb 1-1.6: ni_usb_gpib: unexpected data: buffer[10]=0x59,
expected 0x96, 0x07 or 0x6e

I tested the following sequence with ibtest:

board mode, line status:
gpib status is:
ibsta = 0x178  < CMPL REM CIC ATN TACS >

switch to device mode, write *IDN?
fails and dmesg shows:

ni_usb_gpib: Addressing error retval 0 error code=3

go back to board mode in this situation:
gpib status is:
ibsta = 0x120  < CMPL CIC >

which i guess makes sense because Addressing error
is: NIUSB_ADDRESSING_ERROR occurs when you do a board read/write as CIC but
are not in LACS/TACS

why can't this be made to work with linux-gpib though? trying to understand
if I can patch the driver to make it work.



On Thu, Jun 12, 2025 at 9:06 AM dave penkler <[email protected]> wrote:

> Hi Hernán,
> It looks like you have an unsupported clone. This line in the dmesg is
> relevant:
> [    4.830150] usb 1-1.6: config 1 interface 0 altsetting 0 endpoint 0x81
> has an invalid bInterval 0, changing to 7
> Unfortunately this board cannot be made to work with linux-gpib.
> cheers,
> -Dave
>
> On Wed, 11 Jun 2025 at 22:41, Hernán Freschi <[email protected]> wrote:
>
>> Hello. I installed the latest version from master (4c820721), but when
>> trying to use it, it half works, and it does a lot of other weird stuff.
>> I'm using a counterfeit GPIB-USB-HS from eBay (I assume it's counterfeit
>> because it costed $70). The device is not detected as counterfeit by NI
>> drivers on Windows, and works fine there. I can communicate with the GPIB
>> device. But not on Linux. I don't get any prompts to update its firmware
>> either.
>> This is dmesg on a fresh boot:
>>
>> $ sudo dmesg|grep gpib
>> [    4.912608] gpib_common: loading out-of-tree module taints kernel.
>> [    4.912658] gpib_common: module verification failed: signature and/or
>> required key missing - tainting kernel
>> [    4.915244] gpib_common: Linux-GPIB 4.3.7 core driver loaded
>> [    4.937190] usb 1-1.6: ni_usb_gpib: probe succeeded for path:
>> usb-0000:00:1a.0-1.6
>> [    4.937228] usbcore: registered new interface driver ni_usb_gpib
>> [    5.317767] usb 1-1.6: ni_usb_gpib: unexpected data: buffer[6]=0x19,
>> expected 0x2, 0xe, 0xf or 0x16
>> [    5.318304] usb 1-1.6: ni_usb_gpib: unexpected data: buffer[10]=0x59,
>> expected 0x96, 0x07 or 0x6e
>> [    5.324141] usb 1-1.6: ni_usb_gpib: bus 1 dev num 7 attached to gpib0,
>> intf 0
>> [  155.040427] usb 1-1.6: ni_usb_gpib: unexpected data: buffer[6]=0x19,
>> expected 0x2, 0xe, 0xf or 0x16
>> [  155.040443] usb 1-1.6: ni_usb_gpib: unexpected data: buffer[10]=0x59,
>> expected 0x96, 0x07 or 0x6e
>> [  155.046186] usb 1-1.6: ni_usb_gpib: bus 1 dev num 7 attached to gpib0,
>> intf 0
>> also:[    4.717800] usb 1-1.6: new high-speed USB device number 7 using
>> ehci-pci
>> [    4.830150] usb 1-1.6: config 1 interface 0 altsetting 0 endpoint 0x81
>> has an invalid bInterval 0, changing to 7
>> [    4.830649] usb 1-1.6: New USB device found, idVendor=3923,
>> idProduct=709b, bcdDevice= 1.01
>> [    4.830654] usb 1-1.6: New USB device strings: Mfr=1, Product=2,
>> SerialNumber=3
>> [    4.830657] usb 1-1.6: Product: GPIB-USB-HS
>> [    4.830659] usb 1-1.6: Manufacturer: National Instruments
>> [    4.830660] usb 1-1.6: SerialNumber: 019A335E
>> [    4.937190] usb 1-1.6: ni_usb_gpib: probe succeeded for path:
>> usb-0000:00:1a.0-1.6
>> [    5.317767] usb 1-1.6: ni_usb_gpib: unexpected data: buffer[6]=0x19,
>> expected 0x2, 0xe, 0xf or 0x16
>> [    5.318304] usb 1-1.6: ni_usb_gpib: unexpected data: buffer[10]=0x59,
>> expected 0x96, 0x07 or 0x6e
>> [    5.324141] usb 1-1.6: ni_usb_gpib: bus 1 dev num 7 attached to gpib0,
>> intf 0
>> [  155.040427] usb 1-1.6: ni_usb_gpib: unexpected data: buffer[6]=0x19,
>> expected 0x2, 0xe, 0xf or 0x16
>> [  155.040443] usb 1-1.6: ni_usb_gpib: unexpected data: buffer[10]=0x59,
>> expected 0x96, 0x07 or 0x6e
>> [  155.046186] usb 1-1.6: ni_usb_gpib: bus 1 dev num 7 attached to gpib0,
>> intf 0
>> Here are the issues:
>> 1) It appears my device (HP 34401A) receives the commands, but linux-gpib
>> doesn't get any acknowledgement. The device goes into remote mode if I send
>> *IDN?, but I get an error message
>>
>> : w
>> enter a string to send to your device: *RST
>> sending string: *RST
>>
>> gpib status is:
>> ibsta = 0x8000  < ERR >
>> iberr= 0
>> EDVR 0: OS error
>>
>> ibcntl = 6
>> ..: r
>> enter maximum number of bytes to read [1024]: 199
>> trying to read 199 bytes from device...
>> received string: ''
>> Number of bytes read: 0
>> gpib status is:
>> ibsta = 0xc000  < ERR TIMO >
>> iberr= 6
>> EABO 6: Operation aborted
>>
>> ibcntl = 0
>> this line appears in dmesg:[  164.340630] usb 3-1.6: ni_usb_gpib:
>> Addressing error retval 0 error code=3
>> That's as far as the first issue goes. Then:
>> 2) After some time, it stops working completely. The error message
>> changes to:gpib status is:
>> ibsta = 0x8000  < ERR >
>> iberr= 0
>> EDVR 0: OS error
>>
>> ibcntl = 14and dmesg is flooded with
>> [ 2980.442771] ni_usb_gpib: parse error: wrong start id
>> [ 2980.442775] ni_usb_gpib: parse error: wrong end id
>> [ 2980.442777] ni_usb_gpib: parse error: wrong count=0 for
>> NIUSB_REGISTER_READ_DATA_END
>> [ 2980.442779] ni_usb_gpib: unexpected data: raw_data[6]=0xff, expected 0
>> [ 2980.442781] ni_usb_gpib: unexpected data: raw_data[7]=0xff, expected 0
>> [ 2980.442784] 0c 00 68 00 00 00 ff ff                          ..h.....
>> also, something breaks completely in my computer's USB controller and a
>> reset won't fix it. When it goes into that mode, the computer even refuses
>> to boot when the USB adapter is plugged. The machine needs to be completely
>> turned off for it to work again. When it's in this state, gpib_config won't
>> work even after a reboot, and lsusb hangs if the device is plugged in.
>> Unplugging it and plugging it back in doesn't fix the issue, the computer
>> needs to be powered down.
>> Regards
>>
>>
>> _______________________________________________
>> Linux-gpib-general mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/linux-gpib-general
>>
>

_______________________________________________
Linux-gpib-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-gpib-general