VISA USB Troubleshooting
VISA (Virtual Instrument Software Architecture) is a standardized interface for communcating with test and measurement instruments, such as oscilloscopes and multimeters. Many possible connection types are possible including: GPIB, TCP/IP (ethernet), and USB. For USB connections, some changes may be required on your computer in order for Flojoy (and Python in general) to connect to the instrument. This guide will cover those changes. Other guides are in progress for other connection types.
Only proceed if you are sure your device does not appear with the following Python script (requires pyvisa
and pyvisa-py
packages):
Linux
For Unix systems, it may be required to allow non-root access to USB ports. You can do this for all device with the terminal command:
Or, you can allow root access on a per-device basis by following this tutorial: https://www.xmodulo.com/change-usb-device-permission-linux.html.
Windows
For Windows, the only change that should be required is to install a generic USB driver for the instrument. Note that if a specific driver is already installed (e.g. TekVISA), it must be overwritten. There are two ways to accomplish this:
- Download Zadig and replace/install the driver (mostly) automatically.
- Manually download the driver and install it in
Device Manager
.
In both methods ensure your device is plugged in and showing up in Device Manager
.
1. Zadig Method
- Install Zadig (v2.8 as of Sept-22-2023)
- Run
zadig-2.8.exe
- Find your device in the top dropdown menu.
- If a driver is already installed, you may need to press
Options
->
List All Devices
. - Choose
WinUSB
(> v6.1) to the right of the green arrow. - Press
Install Driver
. - You may need to restart your system for the changes to work.
You may also have to place the libusb-1.0.dll
file in C:/Windows/System32
as described below.
2. Manual Method
You must first download the file libusb-1.0.dll
:
- https://libusb.info/, go to
Downloads
,Latest Windows Binaries
- This should download
libusb-1.0.26-binaries.7z
. Extract or open this file. - In
/libusb-1.0.26-binaries/VS2015-x64/dll
copylibusb-1.0.dll
. - Place this in
C:/Windows/System32
.
You must then chose the driver to install for the device.
- First go to
Device Manager
(e.g. by using the start menu search bar) - Find the device. If no driver is install it will likely appear under
Other devices
.
- Right click on the device and select
Update Driver
. - In the new window press
Browse my computer for drivers
, - and then
Let me pick ...
at the bottom.
- Press
Universal Serial Bus devices
. - In the left box click
WinUSB Device
, - and in the right box click
WinUSB Device
. - Click
Next
and install the driver.
Mac
You likely will have to allow USB non-root access such as in the Linux section above. There may be other changes necessary as well.