Accessing USB instruments with pyvisa on Linux

USB-Based instruments that do not appear to the host as a virtual com port (VCP) usually use libusb for communication. The pyvisa-py driver for pyvisa can communicate with these instruments. However, you must first create a udev rule (and possibly a user group.)

If you see the device in lsusb, but not the pyvisa ResourceManager, you need to add (or modify a udev rule):

# backup 99-com.rules (if it exists)
cp /etc/udev/rules.d/99-com.rules /etc/udev/rules.d/99-com.rules.BAK

# (create and) edit the file
nano /etc/udev/rules.d/99-com.rules

# Add the following line
SUBSYSTEM=="usb", MODE="0666", GROUP="usbusers"

# create a usbusers group
sudo groupadd usbusers

# add your account to the new group
sudo usermod -a -G usbusers USERNAME

# restart udev
/etc/init.d/udev restart
(Although, you are probably better off rebooting.)