Unable to run NUT

Airw0lf

Member
Apr 11, 2021
76
5
13
it-visibility.net
I have 2 Proxmox servers - one for testing and one for production.
Both servers have a consumer grade systemboard being Asus TUF B550-Pro for the test server and the M edition for production.

I tried installing NUT on the test server and this works as expected.
I then tried the same on the production server - which is not working as expected.

When doing upsdrvctl start it says:
Network UPS Tools - UPS driver controller 2.8.0
Network UPS Tools - Generic HID driver 0.47 (2.8.0)
USB communication driver (libusb 1.0) 0.43
libusb1: Could not open any HID devices: insufficient permissions on everything
No matching HID UPS found
Driver failed to start (exit status=1)
Network UPS Tools - Generic HID driver 0.47 (2.8.0)

The output of lsusb, lsusb -a -s and nut-scanner -U are all working as expected and look very simular for both servers.
The system rights of the USB device and the folder /etc/nut is the same for both Proxmox servers.
I also tried different USB-ports and USB-cables.

Anyone an idea what could be happening here?
 
Last edited:
Hi! nut runs as user/group "nut", so in order to work it needs the correct access set on its usb device nodes. I'm doing that for my UPS with this file:

/etc/udev/rules.d/50-nut-ups.rules:
Code:
ATTR{idVendor}=="06da", ATTR{idProduct}=="0601", MODE="664", GROUP="nut"

You need to put in your UPS's vendor and product code, of course.
 
Hi! nut runs as user/group "nut", so in order to work it needs the correct access set on its usb device nodes. I'm doing that for my UPS with this file:

/etc/udev/rules.d/50-nut-ups.rules:
Code:
ATTR{idVendor}=="06da", ATTR{idProduct}=="0601", MODE="664", GROUP="nut"

You need to put in your UPS's vendor and product code, of course.
Hi, thanks for helping, that's one of the things I tried in this thread before posting here: https://forum.proxmox.com/threads/ups-nut-hid-broken-after-upgrading-to-v8-2.149132/

My syntax was a little different than yours, but I just tried yours and then ran
Code:
udevadm control --reload-rules
but it made no difference and I still get the same error.

Code:
cat /etc/udev/rules.d/99-usb_ups.rules
>> ATTR{idVendor}=="0463", ATTR{idProduct}=="ffff", MODE="0770", GROUP="nut"

NUT ran for 2 years+ on version 7 and only stopped working after upgrading to version 8.2 yesterday.
 
Hi, thanks for helping, that's one of the things I tried in this thread before posting here: https://forum.proxmox.com/threads/ups-nut-hid-broken-after-upgrading-to-v8-2.149132/

My syntax was a little different than yours, but I just tried yours and then ran
Code:
udevadm control --reload-rules
but it made no difference and I still get the same error.

Code:
cat /etc/udev/rules.d/99-usb_ups.rules
>> ATTR{idVendor}=="0463", ATTR{idProduct}=="ffff", MODE="0770", GROUP="nut"

NUT ran for 2 years+ on version 7 and only stopped working after upgrading to version 8.2 yesterday.
There's only one more thing I could think of: have you checked that all directories in the device-path for your usb port have "rx" access for the nut group or for "other"? In my case that would be /dev/bus/usb/003/002. There's no reason they wouldn't, but other than that I am out of ideas unfortunately. I've checked my logs and config files again, but other than the udev rules, I did not have to do any special setup.

I do have the line "bus = 003" in my ups.conf, but I cannot remember if if worked by autodetection or if I had to put it in there manually.
 
There's only one more thing I could think of: have you checked that all directories in the device-path for your usb port have "rx" access for the nut group or for "other"? In my case that would be /dev/bus/usb/003/002. There's no reason they wouldn't, but other than that I am out of ideas unfortunately. I've checked my logs and config files again, but other than the udev rules, I did not have to do any special setup.

I do have the line "bus = 003" in my ups.conf, but I cannot remember if if worked by autodetection or if I had to put it in there manually.
Thanks, have now reported it as an issue on the github site.

Also did a complete remove --purge and built from source the latest version, exactly the same error.
Also:

Code:
# ls -l  /dev/bus/usb/003/002
>> crw-rw-r-- 1 root nut 189, 257 Jun 19 11:18 /dev/bus/usb/003/002

Code:
chown nut:nut /dev/bus/usb/003/002

But it made no difference.

I also tried commenting out / adding each / several of the discovered params but the result is the same.

What I dont understand is that it finds and matches and claims the interface and then seems to time out after 5 seconds getting a descriptor, but there's no time out option settings.

Code:
   0.002364    [D2] Checking device 4 of 8 (0463/FFFF)
   0.816619    [D2] - VendorID: 0463
   0.816635    [D2] - ProductID: ffff
   0.816636    [D2] - Manufacturer: EATON
   0.816637    [D2] - Product: Ellipse ECO
   0.816638    [D2] - Serial Number: 000000000
   0.816640    [D2] - Bus: 003
   0.816642    [D2] - Bus Port: 001
   0.816644    [D2] - Device: 002
   0.816646    [D2] - Device release number: 0100
   0.816647    [D2] Trying to match device
   0.816649    [D2] match_function_subdriver (non-SHUT mode): matching a device...
   0.816655    [D3] match_function_regex: matching a device...
   0.816687    [D2] Device matches
   0.816690    [D2] Reading configuration descriptor 1 of 6
   0.816698    [D3] libusb_kernel_driver_active() returned 0: Success
   0.816715    [D2] Claimed interface 0 successfully
   0.816719    [D3] nut_usb_set_altinterface: skipped libusb_set_interface_alt_setting(udev, 0, 0)
   0.944967    [D2] Retrieved HID descriptor (expected 9, got 9)
   0.944981    [D3] HID descriptor, method 1: (9 bytes) => 09 21 10 10 21 01 22 8d 03
   0.944984    [D3] HID descriptor length (method 1) 909
   0.944987    [D4] i=0, extra[i]=09, extra[i+1]=21
   0.944991    [D3] HID descriptor, method 2: (9 bytes) => 09 21 10 10 21 01 22 8d 03
   0.944997    [D3] HID descriptor length (method 2) 909
   0.944999    [D2] HID descriptor length 909
   5.945148    [D2] Unable to get Report descriptor: Resource temporarily unavailable
 
Well I don't know why as I have rebooted several times, but I just rebooted and its all back to normal now.

Obviously something I did resolved it, but sadly I can not be sure what it was.

But thanks for helping.
 
I had the same problem.
Solved by creating the file /etc/udev/rules.d/50-nut-ups.rules :

Code:
SUBSYSTEM=="usb", ATTR{idVendor}=="10af", ATTR{idProduct}=="0000", MODE="0660", GROUP="nut"
 
I had the same problem.
Solved by creating the file /etc/udev/rules.d/50-nut-ups.rules :

Code:
SUBSYSTEM=="usb", ATTR{idVendor}=="10af", ATTR{idProduct}=="0000", MODE="0660", GROUP="nut"
Hi Hugo, numpty question....... where did you get the "MODE" number from please?
 
  • Like
Reactions: pm1961
Hi, please be gentle, newbie to both Proxmox and NUT. I'm having real problems getting my IBM2145UPS working with my Proxmox. Having followed a few threads and online tutorials, I just can't get it working. I'd appreciate a critique of my files attached. Thanks, Paul


IBM2145UPS
----------

root@pve3:~# lsusb

Bus 001 Device 045: ID 06da:0002 Phoenixtec Power Co., Ltd UPS

-----------------------------------------------------------------
net-scanner -U

[nutdev1]
driver = "nutdrv_qx"
port = "auto"
vendorid = "06DA"
productid = "0002"
product = "Powerware UPS"
vendor = "Powerware"
bus = "001"
------------------------------------------

/etc/udev/rules.d/nut-ups.rules

SUBSYSTEM=="usb", ATTR{idVendor}==06Da, ATTR{idProduct}=="0002", MODE="0660", GROUP="nut"

------------------------------------------------------------------------------------------

ups.conf

maxretry = 3
[nutdev1]
driver = nutdrv_qx
port = auto
desc = "ibm 2145 ups"
---------------------------------------

nut.conf

MODE=standalone

------------------------------------------

upsd.conf

LISTEN 127.0.0.1 3493
LISTEN : : 1 3493

------------------------------------------
upsd.users

[admin]
password = xxxx
admin master
--------------------------------------------
upsmon.conf

MONITOR nutdev1@localhost 1 admin xxxx master
POWERDOWNFLAG /etc/killpower
SHUTDOWNCMD "/sbin/shutdown -h now"
 

Attachments