Re: Attack of the clones - Keysight 82357B edition

Hernán Freschi <[email protected]> Sun, 10 Aug 2025 22:36:23 -0300
Newsgroups gmane.linux.hardware.gpib.general
Message-ID <CALruTQes7p-4Y887m1=1sJVM+kNqEmx9XCyjBwdFkEjvKnQ1Lw@mail.gmail.com>
Hi,
mine certainly does not look anything like that video. Here's a photo of
the insides of my 82357B https://i.imgur.com/iJXaqzg.jpeg. It's well built
but it doesn't really look like an official product. Certainly the part
number lasered off is rather unusual. I think in HP era a major hardware
change like this would probably be released as an 82357C hehe.

I did try it with Keysight's drivers and it worked "more or less". It
seemed to work with read/write commands. But I needed to open it in Board
mode to send a GET (Group Execute Trigger) command and it segfaulted when I
tried opening GPIB0::INTFC.

My guess is that this is a "functionally equivalent" clone that implements
good enough compatibility and that's it. It doesn't even try to use Cypress
chips and copy Keysight's firmware.

I tried shorting pins on the unpopulated header to see if I could make it
boot in bootloader mode, to see if it's at least detected as an FX2 chip,
but nothing changed.

On Sun, Aug 10, 2025 at 8:48 PM Jim Houston <[email protected]> wrote:

> Hi,
>
> I was lucky and my 82357B mostly worked.  I did have a problem using it
> with an HP3478A
> which took me down the rabbit hole of USB traces and logic analyzer
> traces to debug.
> That was 2 years ago so I have forgotten everything.
>
> I find it hard to imagine anyone going to the trouble to clone an
> 82357B.  It seems
> more likely that Keysight would quietly release a new revision which
> might not be
> compatible with the open source driver.
> I wonder if your 82357B works with the Keysight I/O libraries?  They
> have a Linux version.
> I played with this when I was chasing my problem.
>
> This youtube video titled "Inside the clone Agilent 82357B" looks
> exactly like my
> 82357B which I'm sure is genuine.
> https://www.youtube.com/watch?v=r3oedj3DCiU
>
> While I have been happy with Linux GPIB I would also recommend this
> project:
> https://github.com/xyphro/UsbGpib
>
> Jim Houston
>
> On 8/10/25 16:15, Hernán Freschi wrote:
> > I got an obvious fake 82357B from ebay. It's branded Keysight but when
> > I opened it up it has a lasered 64-pin TQFP IC and a few passives and
> > that's it.
> >
> > I tried it with the agilent_82357a driver. gpib_config succeeds but it
> > doesn't really work. All 3 LEDs remain lit.
> >
> > When plugged in, the USB ID is 0957:0718 Agilent Technologies, Inc.
> > 82357B GPIB Interface. So it's not booting as 0957:0518 awaiting for
> > firmware. I believe genuine ones will always boot as bootloader and
> > then firmware will be uploaded.
> >
> > I thought I may be able to upload a different firmware but without any
> > SMD markings, it's impossible to tell if this is even a Cypress device
> > that can be programmed with fxload.
> >
> > full lsusb dump:
> >
> > sudo lsusb -vd 0957:0718
> >
> > Bus 003 Device 003: ID 0957:0718 Agilent Technologies, Inc. 82357B
> > GPIB Interface
> > Device Descriptor:
> >   bLength                18
> >   bDescriptorType         1
> >   bcdUSB               2.00
> >   bDeviceClass            0
> >   bDeviceSubClass         0
> >   bDeviceProtocol         0
> >   bMaxPacketSize0        64
> >   idVendor           0x0957 Agilent Technologies, Inc.
> >   idProduct          0x0718 82357B GPIB Interface
> >   bcdDevice            0.00
> >   iManufacturer           1 Agilent Technologies, Inc.
> >   iProduct                2 82357B ()
> >   iSerial                 5 MY54153256
> >   bNumConfigurations      1
> >   Configuration Descriptor:
> >     bLength                 9
> >     bDescriptorType         2
> >     wTotalLength       0x0027
> >     bNumInterfaces          1
> >     bConfigurationValue     1
> >     iConfiguration          3 HIGHSPEED
> >     bmAttributes         0x80
> >       (Bus Powered)
> >     MaxPower              500mA
> >     Interface Descriptor:
> >       bLength                 9
> >       bDescriptorType         4
> >       bInterfaceNumber        0
> >       bAlternateSetting       0
> >       bNumEndpoints           3
> >       bInterfaceClass         0
> >       bInterfaceSubClass      0
> >       bInterfaceProtocol      0
> >       iInterface              0
> >       Endpoint Descriptor:
> >         bLength                 7
> >         bDescriptorType         5
> >         bEndpointAddress     0x82  EP 2 IN
> >         bmAttributes            2
> >           Transfer Type            Bulk
> >           Synch Type               None
> >           Usage Type               Data
> >         wMaxPacketSize     0x0200  1x 512 bytes
> >         bInterval               0
> >       Endpoint Descriptor:
> >         bLength                 7
> >         bDescriptorType         5
> >         bEndpointAddress     0x06  EP 6 OUT
> >         bmAttributes            2
> >           Transfer Type            Bulk
> >           Synch Type               None
> >           Usage Type               Data
> >         wMaxPacketSize     0x0200  1x 512 bytes
> >         bInterval               0
> >       Endpoint Descriptor:
> >         bLength                 7
> >         bDescriptorType         5
> >         bEndpointAddress     0x88  EP 8 IN
> >         bmAttributes            3
> >           Transfer Type            Interrupt
> >           Synch Type               None
> >           Usage Type               Data
> >         wMaxPacketSize     0x0008  1x 8 bytes
> >         bInterval               1
> > Device Qualifier (for other device speed):
> >   bLength                10
> >   bDescriptorType         6
> >   bcdUSB               2.00
> >   bDeviceClass            0
> >   bDeviceSubClass         0
> >   bDeviceProtocol         0
> >   bMaxPacketSize0        64
> >   bNumConfigurations      1
> > Device Status:     0x0000
> >   (Bus Powered)
> >
> > When trying to open the device in board mode:
> >
> > ibtest
> > Do you wish to open a (d)evice or an interface (b)oard?
> > (you probably want to open a device): d
> > enter primary gpib address for device you wish to open [0-30]: usb
> > trying to open pad = 0 on /dev/gpib0 ...
> > ibdev: address conflict with board pad
> > ibdev error
> >
> > ibsta = 0x100  < CMPL >
> > iberr= 4
> >
> > ibcntl = 0
> > Aborted (core dumped)
> >
> > When trying to write with the device unplugged from the GPIB bus:
> >
> > ibtest
> > Do you wish to open a (d)evice or an interface (b)oard?
> > (you probably want to open a device): d
> > enter primary gpib address for device you wish to open [0-30]: 12
> > trying to open pad = 12 on /dev/gpib0 ...
> >
> > : w
> > enter a string to send to your device: *IDN?
> > sending string: *IDN?
> >
> > gpib status is:
> > ibsta = 0x8000  < ERR >
> > iberr= 2
> > ENOL 2: No listeners
> >
> > ibcntl = 0
> >
> >
> > if I try with connecting it to the bus I'll get a TIMO error.
> >
> > Interestingly enough, when trying to open this device in board mode,
> > using Keysight-VISA I get a segfault
> >
> > Has anyone had any experiences with these particular clones?
> >
> >
> > _______________________________________________
> > 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
>

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