30. My USB UPS is supported but doesn’t work!

On Linux, udev rules are provided to set the correct permissions on device file. This allows the NUT driver to communicate with the UPS, through this device file.

However, the driver may still fail to start and support the device, with a message like:

failed to claim USB device: could not claim interface 0: Operation not permitted

Operation not permitted is a message pointing to a privilege issue. The most frequent issue is that udev has not actually applied the rule:

In this case, just unplug and plug back the USB cord, then restart NUT. Instead of unplugging, you might also be able to run udevadm trigger --subsystem-match=usb --action=change to fix permissions.

There was a mistake in the naming of the NUT udev rules file which resulted in the rules being overridden by another udev configuration file. While this has been fixed in the Git master branch, your distribution may still be affected. Details are available in the following GitHub issue: https://github.com/networkupstools/nut/issues/140

There may also be a conflict with an already running instance of the driver, e.g. when a systemd unit instance nut-driver@yourdevicename.service was automatically created and started by the nut-driver-enumerator, and then you try to follow older revisions of the NUT documentation or blogs, and start another copy with upsdrvctl (which should only be used on legacy systems nowadays).