Oh Keysight! How are the mighty fallen - Page 1
Forum section: electronics / testgear

author: perdrix
author_rank: Frequent Contributor
timestamp: March 11, 2020, 12:32:24 pm
content: I finally decided to dump my 82357B USB-GPIB and buy an NI one. The hardware is fine - it's the darned software that is the problem!The latest version of the Keysight IO Libraries Suite is terminally broken for the 488.2 APIs even though this code should have been stable for decades.What happens is that when you try enumerate the GPIB adapters using ibfind(), it works for GPIB0 (the 82357B), but when you call it for GPIB1, it runs off into the weeds and the application is eventually terminated with a Stack Overflow. Running under the debugger, you see many hundreds of errors like this:>Exception thrown at 0x761E4192 in prologix.exe: Microsoft C++ exception: int at memory location 0x00AFE144.all without returning to the user code. Eventually this causes the stack overflow which finally terminates the program.This is a serious problem that should never have got out of the door, and is symptomatic of the trend to multi gigabyte "shovelware" (*) being produced by a bunch of incompetents (I won't grace them with the title Software Engineers). To quote John Miles:QuoteYes I know the NI software isn't perfect, but it's better than this rubbish.PS I tried to login to the Keysight forums to report this but they'd lost my credentials somewhere along the way and when I re-registered at Keysight, I find that their forum website won't let me in saying there's a Jive SSO error!(*) What you pick up with a shovel in a farmyard ...David

author: nctnico
author_rank: Super Contributor
timestamp: March 11, 2020, 12:35:10 pm
content: Why are you even using the provided software? Just open de USB device directly using something libusb (and I'm sure someone has written a nice API by now) and pipe the commands through the interface yourself.

author: KE5FX
author_rank: Super Contributor
timestamp: March 11, 2020, 12:44:35 pm
content: Quote from: nctnico on March 11, 2020, 12:35:10 pmThat's right up there with the infamous Hacker News comment regarding the announcement of Dropbox:QuoteAlthough I do agree in principle. Somebody who has the necessary time on their hands could do the world a favor by replacing all that crapware with a 100 KB .DLL that implements the NI488.2 API on the 82357B.

author: nctnico
author_rank: Super Contributor
timestamp: March 11, 2020, 12:55:00 pm
content: With any other device I'd agree but a USB GPIB adapter is nothing more than a serial port from a functional point of view. At the application side you are feeding it text commands and you receive responses in text.

author: jjoonathan
author_rank: Frequent Contributor
timestamp: March 11, 2020, 01:19:00 pm
content: Hey, The Keysight IO libraries have improved since last year (or was it two years ago) when they didn't just intermittently not work, they also slogged their host so badly that even simple tasks like text editing became frustrating (second-long full system lockups every 10 seconds or so, across two different hosts ~1 year apart, and no, it wasn't antivirus at fault).My solution: I sold the USB->GPIB and bought an Ethernet->GPIB. Then another. Usually USB has a huge setup, reliability, and compatibility edge over ethernet, but for GPIB adapters it seems to be the opposite. There's a standardized Ethernet->GPIB interface (VXI11) with wide support from lightweight open source libraries. You don't need gigabytes of poorly tested proprietary junk to use VXI11, just pip install (or whatever, depending on language) and you're off to the races.Do make sure the Ethernet->GPIB adapter supports VXI11 (some don't) and DHCP (some don't -- yes, really, some date to the days of BOOTP). I use 2 Tektronix AD007s and they work great.

author: TheSteve
author_rank: Unknown
timestamp: March 11, 2020, 04:14:07 pm
content: It seems you also have a prologix adapter in the mix, or at least something to help control one. "prologix.exe" isn't from NI or Keysight.

author: Kosmic
author_rank: Super Contributor
timestamp: March 11, 2020, 05:10:38 pm
content: Quote from: nctnico on March 11, 2020, 12:35:10 pmBecause this way you can decouple your software from the hardware (GPIB adapter) ? Using a VISA driver has tons of avantages. It's also a lot easier to use than sending your commands directly.I ported my software from prologix to the VISA interface (using a Keysight adapter) and I'm not going back.

author: Kosmic
author_rank: Super Contributor
timestamp: March 11, 2020, 05:15:46 pm
content: Quote from: TheSteve on March 11, 2020, 04:14:07 pmGood catchKeysight and NI adapters and softwares and normally working well together. Look like it's not the case for prologix.

author: nctnico
author_rank: Super Contributor
timestamp: March 11, 2020, 05:20:24 pm
content: Quote from: Kosmic on March 11, 2020, 05:10:38 pmIf it works it works but try to distribute software which needs the VISA software package and you'll be in trouble. I've been down that route a couple of times but nowadays I simply don't bother with instruments / software which can only be used through VISA. I've wasted enough of my time. If I need to control an instrument I communicate with it directly. GPIB is a thing of the past anyway. USB and ethernet (LXI) or even good old RS232 ports are widely available. It does take some extra development effort at first but being able to install an application on a new computer and have it running in 5 minutes without needing to fuss with any settings earns a lot of goodwill from a customer.

author: khs
author_rank: Regular Contributor
timestamp: March 11, 2020, 06:55:14 pm
content: Quote from: TheSteve on March 11, 2020, 04:14:07 pmFor me it looks Keysight and prologix use the same USB interface chip (FTDI??).

author: TheSteve
author_rank: Unknown
timestamp: March 11, 2020, 07:25:56 pm
content: I don't believe Keysight uses a regular usb to serial converter. I think the app may also be related to gpib config instead of the prologix gpib adapters after further research. Either way though it has certainly added another variable into the mix.

author: KE5FX
author_rank: Super Contributor
timestamp: March 11, 2020, 08:09:38 pm
content: Quote from: TheSteve on March 11, 2020, 04:14:07 pmTherein lies a (boring) tale: prologix.exe is the filename for the program in the GPIB Toolkit that you use to select a Prologix adapter for use with the rest of the applications. It simply maintains an .INI file that the other programs use to determine the desired hardware interface, The program was added when the Prologix adapters came out, so it made sense to call it prologix.exe.It also made sense to allow it to be used to select any supported GPIB adapter including NI adapters. This scratched two itches. One was that it was originally difficult to configure the toolkit to work with NI adapters other than GPIB0, so the menu was helpful there. The other was that Windows had recently introduced virtualization of directories under the Program Files hierarchy, causing grief for older software packages like the GPIB Toolkit that stored .INI files there for use by multiple executables. If you tweaked the .INI file in a text editor, you could drive yourself mental wondering why your changes never seemed to take effect. So I moved the .INI files to a more appropriate place (according to Microsoft), buried several levels deep in an obscure directory whose location kept changing from one Windows release to the next, and added a helpful 'Edit CONNECT.INI' button to prologix.exe to allow the user to access it quickly when manual changes were needed.TL,DR: you use prologix.exe to select GPIB cards other than Prologix. Under the hood, NI/Keysight/Prologix GPIB adapters have essentially nothing in common, so the software has to provide an abstraction layer, and that's part of it.