14. Why do the client programs say Driver not connected when I try to run them?

Answer 1

This means that upsd can’t connect to the driver for some reason. Your ups.conf entry might be wrong, or the driver might not be running. Maybe your state path is not configured properly.

Check your syslog. upsd will complain regularly if it can’t connect to a driver, and it should say why it can’t connect.

Note: if you jumped in with both feet and didn’t follow the INSTALL.nut document, you probably started upsd by itself. You have to run upsdrvctl start (explicitly — on legacy systems only) to start the drivers after configuring ups.conf.

On operating systems with a supported service management framework, you might wrap your NUT drivers into individual services instances with upsdrvsvcctl resync and then manage those with commands like upsdrvsvcctl stop and upsdrvsvcctl start (note that on other systems this tool may be not pre-installed via packaging).

In fact, service instances prepared by the nut-driver-enumerator script and service based on contents of your ups.conf file and automatically maintained by the respective framework can conflict with manual execution of drivers, so upsdrvctl would emit a warning in NUT builds with that capability (can be silenced by exporting a NUT_QUIET_INIT_NDE_WARNING environment variable with any value).

Answer 2

Some USB UPS devices have unreliable USB to serial interfaces. In that case, it’s advised to unplug / plug the device and try again.

If that resolves the issue, you should consider resetting the USB hub the device is attached to before starting the nut driver, using usb_resetter script (for Linux) from https://github.com/netinvent/usb_resetter

See files under scripts/usb_resetter/ in NUT sources for more information.