Author Topic: ugpibd: a simple way to use GPIB devices from Linux and macOS  (Read 271 times)

0 Members and 1 Guest are viewing this topic.

Offline bdbbdbTopic starter

  • Newbie
  • Posts: 7
  • Country: us
ugpibd: a simple way to use GPIB devices from Linux and macOS
« on: September 01, 2026, 07:45:15 pm »
Hi folks,

I wanted to share a project I've been working on, which is designed to solve the problem of how difficult it is to get USB GPIB adapters working under Linux (and how it's effectively impossible on macOS).

I've ported the GPL'd kernel drivers from linux-gpib to usermode Rust and exposed them via network protocols (HiSLIP and VXI-11). This basically eliminates the "build a new kernel" / "keep your out-of-tree kernel drivers updated" step from what it takes to get this all working, and hopefully makes it easy for folks, myself included, to build new automations and other exciting stuff with the benches full of gear we've got lying around.

Going from a fresh Raspberry Pi OS to having a working VXI-11 server you can hit from pyvisa-py is a single, copy-pasteable step, and takes about 30 seconds. Same for macOS. It also includes a nice little CLI for sending/receiving SCPI commands locally.

You can check it out, including simple instructions for installing the software and connecting from pyvisa-py, here: https://github.com/berg/ugpibd

It supports the HP/Agilent/Keysight 82357A and 82357B, NI's GPIB-USB-HS and GPIB-USB-HS+. Clones should work fine; I assume at least half of my zoo of adapters are clones.

I have tested it against lots of different gear from HP/A/K, SRS, Advantest, and Wavecrest, including lots of weird stuff like multiple devices on the same bus, external triggers, SRQ, events, etc. It also works fine with NI, R&S, and Keysight VISA libraries over VXI-11.

I welcome bug reports or feature requests as issues on the github repo. Happy to answer any questions here, too.

(And, yes, the software's been built with AI tools, as is most software these days. It'd be really difficult to port the drivers, in particular, without doing so! But I've tried to pay a lot of attention to making it robust, by building a pretty extensive test suite and harness, setting up build infrastructure and packaging so it's easy to install, testing it with real hardware against actual gear, etc.)
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf

 

-->