hassio-addons / addon-nut

Network UPS Tools - Home Assistant Community Add-ons
https://addons.community
MIT License
190 stars 37 forks source link

NUT fails to start reporting insufficient permissions on libusb #322

Open halcyonz80 opened 1 year ago

halcyonz80 commented 1 year ago

Problem/Motivation

NUT fails to start on RiPi using standard HA image due to USB permissions

Expected behavior

NUT can scan the USB bus to find the UPS

Actual behavior

libusb1: Could not open any HID devices: insufficient permissions on everything

Steps to reproduce

Install the NUT addon to 10.4 and try to start it using basic config

halcyonz80 commented 1 year ago

23:04:57] INFO: Connected USB devices: Bus 001 Device 005: ID 0c45:7000 Microdia iPazzPort Bus 001 Device 006: ID ffff:0000 APC by S.E. SMV750CAI Bus 001 Device 004: ID 10c4:ea60 Silicon Labs CP210x UART Bridge Bus 001 Device 003: ID 0424:ec00 Microchip Technology, Inc. (formerly SMSC) SMSC9512/9514 Fast Ethernet Adapter Bus 001 Device 002: ID 0424:9514 Microchip Technology, Inc. (formerly SMSC) SMC9514 Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub [23:04:58] INFO: Generating /etc/nut/upsd.users... [23:05:00] INFO: Configuring user: ups_user [23:05:03] INFO: Password is NOT in the Have I Been Pwned database! Nice! [23:05:10] INFO: Configuring Device named myups... [23:05:11] INFO: Starting the UPS drivers... 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 Network UPS Tools - UPS driver controller 2.8.0 Driver failed to start (exit status=1) cont-init: info: /etc/cont-init.d/nut.sh exited 1

Xitee1 commented 1 year ago

I'm having the same problem

Xitee1 commented 1 year ago

I finally got it working. I needed to do a full power reset (shutting everything down & pull the power plug of HA, the UPS and the USB cable to the UPS & plugging everything back in). After everything has started again, the addon works without issues.

github-actions[bot] commented 1 year ago

There hasn't been any activity on this issue recently, so we clean up some of the older and inactive issues. Please make sure to update to the latest version and check if that solves the issue. Let us know if that works for you by leaving a comment πŸ‘ This issue has now been marked as stale and will be closed if no further activity occurs. Thanks!

o-l-o commented 1 year ago

I have exactly the same issue. In my case, the full restart described above didn't help. Here are logs from my system:

s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service base-addon-banner: starting
-----------------------------------------------------------
 Add-on: Network UPS Tools
 Manage battery backup (UPS) devices
-----------------------------------------------------------
 Add-on version: 0.12.1
 You are running the latest version of this add-on.
 System: Home Assistant OS 10.5  (armv7 / raspberrypi3)
 Home Assistant Core: 2023.9.2
 Home Assistant Supervisor: 2023.09.2
-----------------------------------------------------------
 Please, share the above information when looking for help
 or support in, e.g., GitHub, forums or the Discord chat.
-----------------------------------------------------------
s6-rc: info: service base-addon-banner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service base-addon-timezone: starting
s6-rc: info: service base-addon-log-level: starting
s6-rc: info: service fix-attrs successfully started
[17:04:24] INFO: Configuring timezone (Europe/Warsaw)...
s6-rc: info: service base-addon-log-level successfully started
s6-rc: info: service base-addon-timezone successfully started
s6-rc: info: service legacy-cont-init: starting
cont-init: info: running /etc/cont-init.d/nut.sh
[17:04:27] INFO: Setting mode to netserver...
[17:04:27] INFO: Connected USB devices:
Bus 001 Device 004: ID 152d:2329 JMicron Technology Corp. / JMicron USA Technology Corp. JM20329 SATA Bridge
Bus 001 Device 005: ID 0424:7800 Microchip Technology, Inc. (formerly SMSC) 
Bus 001 Device 003: ID 0424:2514 Microchip Technology, Inc. (formerly SMSC) USB 2.0 Hub
Bus 001 Device 002: ID 0424:2514 Microchip Technology, Inc. (formerly SMSC) USB 2.0 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
[17:04:28] INFO: Generating /etc/nut/upsd.users...
[17:04:29] INFO: Configuring user: nutty
[17:04:30] INFO: Password is NOT in the Have I Been Pwned database! Nice!
[17:04:33] INFO: Configuring Device named ever_eco...
[17:04:33] INFO: Starting the UPS drivers...
libusb1: Could not open any HID devices: insufficient permissions on everything
No matching HID UPS found
Network UPS Tools - Generic HID driver 0.47 (2.8.0)
USB communication driver (libusb 1.0) 0.43
Driver failed to start (exit status=1)
Network UPS Tools - UPS driver controller 2.8.0
cont-init: info: /etc/cont-init.d/nut.sh exited 1
cont-init: info: running /etc/cont-init.d/nutclient.sh
cont-init: info: /etc/cont-init.d/nutclient.sh exited 0
cont-init: warning: some scripts exited nonzero
s6-rc: warning: unable to start service legacy-cont-init: command exited 1
/run/s6/basedir/scripts/rc.init: warning: s6-rc failed to properly bring all the services up! Check your logs (in /run/uncaught-logs/current if you have in-container logging) for more information.
/run/s6/basedir/scripts/rc.init: fatal: stopping the container.
s6-rc: info: service fix-attrs: stopping
s6-rc: info: service base-addon-timezone: stopping
s6-rc: info: service base-addon-log-level: stopping
s6-rc: info: service fix-attrs successfully stopped
s6-rc: info: service base-addon-timezone successfully stopped
s6-rc: info: service base-addon-log-level successfully stopped
s6-rc: info: service base-addon-banner: stopping
s6-rc: info: service base-addon-banner successfully stopped
s6-rc: info: service s6rc-oneshot-runner: stopping
s6-rc: info: service s6rc-oneshot-runner successfully stopped
thewan056 commented 1 year ago

The same is now happening here. Before this I had no issues running this addon with my UPS. But then that UPS is now dead, so I went and bought a new UPS and now this addon doesn't work with the same above issue and logs.

francescopeloi commented 1 year ago

I am experiencing the same issue reported above, tried a full reboot that didn't help.

simposiummm commented 1 year ago

Also here I am experiencing the same issue reported above, tried a full reboot that didn't help.

marcinwhite commented 1 year ago

Same problem here. Latest version, rechecked after full reboot too.

Not sufficient permision for libusb1.

s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service base-addon-banner: starting
-----------------------------------------------------------
 Add-on: Network UPS Tools
 Manage battery backup (UPS) devices
-----------------------------------------------------------
 Add-on version: 0.12.1
 You are running the latest version of this add-on.
 System: Home Assistant OS 10.5  (amd64 / qemux86-64)
 Home Assistant Core: 2023.10.1
 Home Assistant Supervisor: 2023.10.0
-----------------------------------------------------------
 Please, share the above information when looking for help
 or support in, e.g., GitHub, forums or the Discord chat.
-----------------------------------------------------------
s6-rc: info: service base-addon-banner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service base-addon-timezone: starting
s6-rc: info: service base-addon-log-level: starting
s6-rc: info: service fix-attrs successfully started
[18:50:31] INFO: Configuring timezone (Europe/London)...
s6-rc: info: service base-addon-log-level successfully started
s6-rc: info: service base-addon-timezone successfully started
s6-rc: info: service legacy-cont-init: starting
cont-init: info: running /etc/cont-init.d/nut.sh
[18:50:32] INFO: Setting mode to netserver...
[18:50:32] INFO: Generating /etc/nut/upsd.users...
[18:50:32] INFO: Configuring user: admin
[18:50:33] INFO: Password is NOT in the Have I Been Pwned database! Nice!
[18:50:33] INFO: Configuring Device named myups...
[18:50:33] INFO: Starting the UPS drivers...
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 - UPS driver controller 2.8.0
cont-init: info: /etc/cont-init.d/nut.sh exited 1
cont-init: info: running /etc/cont-init.d/nutclient.sh
cont-init: info: /etc/cont-init.d/nutclient.sh exited 0
cont-init: warning: some scripts exited nonzero
s6-rc: warning: unable to start service legacy-cont-init: command exited 1
/run/s6/basedir/scripts/rc.init: warning: s6-rc failed to properly bring all the services up! Check your logs (in /run/uncaught-logs/current if you have in-container logging) for more information.
/run/s6/basedir/scripts/rc.init: fatal: stopping the container.
s6-rc: info: service fix-attrs: stopping
s6-rc: info: service base-addon-timezone: stopping
s6-rc: info: service base-addon-log-level: stopping
s6-rc: info: service fix-attrs successfully stopped
s6-rc: info: service base-addon-log-level successfully stopped
s6-rc: info: service base-addon-timezone successfully stopped
s6-rc: info: service base-addon-banner: stopping
s6-rc: info: service base-addon-banner successfully stopped
s6-rc: info: service s6rc-oneshot-runner: stopping
s6-rc: info: service s6rc-oneshot-runner successfully stopped
micksam7 commented 1 year ago

I've managed to work around this error by specifying a vendorid and productid in the "config" directive using data from lsusb:

Unplug UPS USB, run lsusb, plug UPS back in and find the new id:

[core-ssh ~]$ lsusb
Bus 002 Device 003: ID 051d:0002

Add to config:

- name: APCUPS
  driver: usbhid-ups
  port: auto
  config:
    - vendorid = 051d
    - productid = 0002

Your mileage may vary, though.

Man-in-Black commented 1 year ago

I also have the same problem and would be happy to see an solution. I tried the possible fixes above, but with no luck at all.

aebgit commented 1 year ago

Is there any progress on this issue? This AddOn is basically useless since >2 months now. (Homeassistant Yellow)

ge8020 commented 12 months ago

Same here. Addon will not start anymore due to: libusb1: Could not open any HID devices: insufficient permissions on everything

OS 11.1 - Core 2023.11.3 on a Raspberry pi 4 GB

aquette commented 11 months ago

hey there, I'm the NUT upstream and author of this usbhid-ups driver, freshly landed into the Home Assistant world πŸ˜„

Could you please all report the output from the addon list_usb_devices config option. I'd like to be sure of my hypothesis :) For those who can: lsusb output from another Linux system if possible (when running HA on a raspberry).

As preliminary side notes:

Xitee1 commented 11 months ago

Hi @aquette here's my lsusb output from the addon:

Bus 002 Device 002: ID 152d:1561 JMicron Technology Corp. / JMicron USA Technology Corp. JMS561U two ports SATA 6Gb/s bridge
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 0463:ffff MGE UPS Systems UPS
Bus 001 Device 003: ID 10c4:ea60 Silicon Labs CP210x UART Bridge
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

And that's the output of lsusb executed on HA: chrome_XCnMIPx6lM

Note that my UPS still connects and survived all restarts after the power reset I did.

aquette commented 11 months ago

@Xitee1 I have the exact same (I work at Eaton πŸ˜„) and config (2h ago) went like a charm. Just driver+port... Just to be sure: have you set config/vendorid and productid?

It's true that I've not rebooted the RPI since deployed... Let me check Update: the raspberry reboot killed my first install πŸ˜… containerd loops on nut failure, then reboot the pi... Probably a collision with HAOS update... Needs more investigation and sdcard edits...

voltlog commented 11 months ago

I was trying to connect to my Serioux LD600LI UPS which shows up on lsusb as: Bus 001 Device 005: ID 0001:0000 and discovered by the HA NUT Addon at startup with list_usb_devices option enabled as: Bus 001 Device 005: ID 0001:0000 Fry's Electronics MEC0003 I was using this config:

- name: Serioux_LD600LI
  driver: usbhid-ups
  port: auto
  config:
    - vendorid = 0001
    - productid = 0000
    - desc = "Serioux LD600LI UPS"

I was getting the same error:

USB communication driver (libusb 1.0) 0.43
libusb1: Could not open any HID devices: insufficient permissions on everything

My guess is that because this is a cheap UPS, it doesn't feature a proper USB HID implementation and so the driver usbhid-ups is not the right option. So after going down the rabbit hole, I figured out this type of ups should connect with a megatec-usb driver which has been deprecated and replaced by blazer_usb driver which again was deprecated and replaced with nutdrv_qx driver. So after switching my config to this, everything works.

- name: Serioux_LD600LI
  driver: nutdrv_qx
  port: auto
  config:
    - vendorid = 0001
    - productid = 0000
    - desc = "Serioux LD600LI UPS"

image

aquette commented 11 months ago

@voltlog thanks for your feedback, you guessed well, such cheap units (generally with vendorid == "0000" or "0001" or any unofficial value) generally don't implement UBS/HID, but Qx protocols (Q1 and Q5). Qx was historically supported by blazer_* drivers (and many others before), but nutdrv_qx should be taking over and finalize unification. If possible, I would be interested in the result of #335 (result of "nut-scanner -U"). Depending on the results here, I'll be thinking how to improve that part too.

voltlog commented 11 months ago

@aquette I'm just running the latest addon version in HomeAssistant, I don't know how I could run the PR that you proposed and I can't run "nut-scanner -U" inside the container shell that HomeAssistant provides.

aquette commented 11 months ago

@voltlog the only possibility is to wait for the PR to be merged and addon updated. Otherwise, that needs you to become a developer ;) (advanced mode, HACS, local addons, ...)

Xitee1 commented 11 months ago

@Xitee1 I have the exact same (I work at Eaton πŸ˜„) and config (2h ago) went like a charm. Just driver+port... Just to be sure: have you set config/vendorid and productid?

I also just have driver + port in my config:

driver: usbhid-ups
port: auto
aquette commented 11 months ago

thanks for the confirmation @Xitee1 :)

to all, if possible, I would encourage you to test the new SmartNUT Add-on that I'm writing ;) https://github.com/aquette/addon-smartnut/blob/main/smartnut/DOCS.md

I'm interested in feedback, especially with the kind of device like @voltlog

voltlog commented 11 months ago

@aquette I installed the SmartNUT add-on, everything worked first go with auto detect and default settings, UPS was detected, info started flowing into MQTT. However for the time being I have switched back to using the classic NUT addon because it is more convenient to use in automations with the sensor entities that it creates in HA.

SmartNUT currently only pushes data to MQTT which is a little inconvenient for me because I have to manually create a config and define sensors based on the MQTT topics. Example output from SmartNUT below.

Using protocol: Megatec 0.06
Can't autodetect number of battery packs [-1/13.70]
Battery runtime will not be calculated (runtimecal not set)
Network UPS Tools - UPS driver controller 2.8.0
Published => t: homeassistant/nut/nutdev1/battery.voltage, m: "13.60"
Published => t: homeassistant/nut/nutdev1/device.type, m: "ups"
Published => t: homeassistant/nut/nutdev1/ups.beeper.status, m: "disabled"
Published => t: homeassistant/nut/nutdev1/ups.delay.shutdown, m: "30"
Published => t: homeassistant/nut/nutdev1/ups.delay.start, m: "180"
Published => t: homeassistant/nut/nutdev1/ups.firmware, m: "V3.8"
Published => t: homeassistant/nut/nutdev1/ups.load, m: "11"
Published => t: homeassistant/nut/nutdev1/ups.productid, m: "0000"
Published => t: homeassistant/nut/nutdev1/ups.status, m: "OL"
Published => t: homeassistant/nut/nutdev1/ups.temperature, m: "29.0"
Published => t: homeassistant/nut/nutdev1/ups.type, m: "offline / line interactive"
Published => t: homeassistant/nut/nutdev1/ups.vendorid, m: "0001"
Processing device: nutdev1: no update...
Processing device: nutdev1: no update...
Processing device: nutdev1: got updates...
Published => t: homeassistant/nut/nutdev1/battery.voltage, m: "13.70"
Published => t: homeassistant/nut/nutdev1/ups.load, m: "12"
aquette commented 11 months ago

Awesome @voltlog , you're my first tester. Thanks a lot! πŸ˜„ I would be interested in diffing data, since you need additional params iirc.

Also, SmartNUT is indeed not yet production ready, so stick with the current addon for now. As for going with sensor and config on mqtt, this is part of the next steps. Stay tuned...

kanflo commented 10 months ago

For those of you struggling with the libusb permission error, have you tried replacing usbhid-ups with nutdrv_qx? Noticing my UPS enumerated as a HID device, I opted for the usbhid driver which was a trip down the rabbit hole. I have a PowerWalker VI 600-300 SCL and it works like a charm with the nutdrv_qx driver.

brandonjamesmarshall commented 10 months ago

I was having this issue, "insufficient permissions on everything" error, running Home Assistant Yellow. A complete system reboot (not a restart of HASS) resolved it!

pgroenbech commented 10 months ago

Same on hassio x64.

[23:19:16] INFO: Starting the UPS drivers... libusb1: Could not open any HID devices: insufficient permissions on everything No matching HID UPS found Network UPS Tools - Generic HID driver 0.47 (2.8.0) USB communication driver (libusb 1.0) 0.43 Driver failed to start (exit status=1) Network UPS Tools - UPS driver controller 2.8.0 cont-init: info: /etc/cont-init.d/nut.sh exited 1 cont-init: info: running /etc/cont-init.d/nutclient.sh

sinclairpaul commented 10 months ago

@pgroenbech

This generally means that the driver is incorrect, or the port is wrong, I would suggest using the lsusb option in the addon to see your device is detected, and then ensure that it is supported via the NUT documentation.

pgroenbech commented 10 months ago

@pgroenbech

This generally means that the driver is incorrect, or the port is wrong, I would suggest using the lsusb option in the addon to see your device is detected, and then ensure that it is supported via the NUT documentation.

Than you very much - i'm ashamed to say the cable was loose (in the ups). I'd checked everything (including driver etc.) but that - lsusb revealed that usb connection/disconnection changed nothing.

doff-1 commented 9 months ago

I'm having the same issue, I think at least. I've just installed Home Assistant (not a single automation yet) on a pc (standard image, no VM) and I'm struggling to get the ups in home assistant. The ups is an on-line GE VH series 700VA UPS

With the basic config:

basic config

``` users: - username: NUTuser password: NUTpassword instcmds: - all actions: [] devices: - name: myups driver: usbhid-ups port: auto config: [] mode: netserver shutdown_host: "false" ```

I get this in the log:

log from basic config

``` ----------------------------------------------------------- Add-on: Network UPS Tools Manage battery backup (UPS) devices ----------------------------------------------------------- Add-on version: 0.13.0 You are running the latest version of this add-on. System: Home Assistant OS 11.5 (amd64 / generic-x86-64) Home Assistant Core: 2024.2.1 Home Assistant Supervisor: 2024.01.1 ----------------------------------------------------------- Please, share the above information when looking for help or support in, e.g., GitHub, forums or the Discord chat. ----------------------------------------------------------- s6-rc: info: service base-addon-banner successfully started s6-rc: info: service fix-attrs: starting s6-rc: info: service base-addon-timezone: starting s6-rc: info: service base-addon-log-level: starting s6-rc: info: service fix-attrs successfully started [14:01:34] INFO: Configuring timezone (Europe/Oslo)... s6-rc: info: service base-addon-log-level successfully started s6-rc: info: service base-addon-timezone successfully started s6-rc: info: service legacy-cont-init: starting cont-init: info: running /etc/cont-init.d/nut.sh [14:01:35] INFO: Setting mode to netserver... [14:01:35] INFO: Generating /etc/nut/upsd.users... [14:01:35] INFO: Configuring user: NUTuser [14:01:35] INFO: Password is NOT in the Have I Been Pwned database! Nice! [14:01:36] INFO: Configuring Device named myups... [14:01:36] INFO: Starting the UPS drivers... 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 Network UPS Tools - UPS driver controller 2.8.0 Driver failed to start (exit status=1) cont-init: info: /etc/cont-init.d/nut.sh exited 1 cont-init: info: running /etc/cont-init.d/nutclient.sh cont-init: info: /etc/cont-init.d/nutclient.sh exited 0 cont-init: warning: some scripts exited nonzero s6-rc: warning: unable to start service legacy-cont-init: command exited 1 /run/s6/basedir/scripts/rc.init: warning: s6-rc failed to properly bring all the services up! Check your logs (in /run/uncaught-logs/current if you have in-container logging) for more information. /run/s6/basedir/scripts/rc.init: fatal: stopping the container. s6-rc: info: service fix-attrs: stopping s6-rc: info: service base-addon-timezone: stopping s6-rc: info: service base-addon-log-level: stopping s6-rc: info: service base-addon-timezone successfully stopped s6-rc: info: service base-addon-log-level successfully stopped s6-rc: info: service fix-attrs successfully stopped s6-rc: info: service base-addon-banner: stopping s6-rc: info: service base-addon-banner successfully stopped s6-rc: info: service s6rc-oneshot-runner: stopping s6-rc: info: service s6rc-oneshot-runner successfully stopped ```

lsusb shows my ups in the list: ➜ ~ lsusb Bus 001 Device 001: ID 1d6b:0002 Bus 001 Device 003: ID 0bda:0129 Bus 001 Device 005: ID 067b:2303 Bus 002 Device 001: ID 1d6b:0003 Bus 001 Device 004: ID 0bda:8821 Bus 001 Device 005: ID 067b:2303 Is my UPS Trying a more specific config:

specific config

``` users: - username: NUTuser password: NUTpassword instcmds: - all actions: [] devices: - name: geups driver: nutdrv_qx port: auto vendorid: 067b productid: 2303 config: [] mode: netserver shutdown_host: false ```

I get this result in the log:

log from specific config

``` ----------------------------------------------------------- Add-on: Network UPS Tools Manage battery backup (UPS) devices ----------------------------------------------------------- Add-on version: 0.13.0 You are running the latest version of this add-on. System: Home Assistant OS 11.5 (amd64 / generic-x86-64) Home Assistant Core: 2024.2.1 Home Assistant Supervisor: 2024.01.1 ----------------------------------------------------------- Please, share the above information when looking for help or support in, e.g., GitHub, forums or the Discord chat. ----------------------------------------------------------- s6-rc: info: service base-addon-banner successfully started s6-rc: info: service fix-attrs: starting s6-rc: info: service base-addon-timezone: starting s6-rc: info: service base-addon-log-level: starting s6-rc: info: service fix-attrs successfully started [13:45:07] INFO: Configuring timezone (Europe/Oslo)... s6-rc: info: service base-addon-log-level successfully started s6-rc: info: service base-addon-timezone successfully started s6-rc: info: service legacy-cont-init: starting cont-init: info: running /etc/cont-init.d/nut.sh [13:45:08] INFO: Setting mode to netserver... [13:45:08] INFO: Generating /etc/nut/upsd.users... [13:45:08] INFO: Configuring user: NUTuser [13:45:09] INFO: Password is NOT in the Have I Been Pwned database! Nice! [13:45:10] INFO: Configuring Device named geups... [13:45:10] INFO: Starting the UPS drivers... Network UPS Tools - Generic Q* USB/Serial driver 0.32 (2.8.0) USB communication driver (libusb 1.0) 0.43 libusb1: Could not open any HID devices: insufficient permissions on everything No supported devices found. Please check your device availability with 'lsusb' and make sure you have an up-to-date version of NUT. If this does not help, try running the driver with at least 'subdriver', 'vendorid' and 'productid' options specified. Please refer to the man page for details about these options (man 8 nutdrv_qx). Driver failed to start (exit status=1) cont-init: info: /etc/cont-init.d/nut.sh exited 1 cont-init: info: running /etc/cont-init.d/nutclient.sh Network UPS Tools - UPS driver controller 2.8.0 cont-init: info: /etc/cont-init.d/nutclient.sh exited 0 cont-init: warning: some scripts exited nonzero s6-rc: warning: unable to start service legacy-cont-init: command exited 1 /run/s6/basedir/scripts/rc.init: warning: s6-rc failed to properly bring all the services up! Check your logs (in /run/uncaught-logs/current if you have in-container logging) for more information. /run/s6/basedir/scripts/rc.init: fatal: stopping the container. s6-rc: info: service fix-attrs: stopping s6-rc: info: service base-addon-timezone: stopping s6-rc: info: service base-addon-log-level: stopping s6-rc: info: service base-addon-timezone successfully stopped s6-rc: info: service fix-attrs successfully stopped s6-rc: info: service base-addon-log-level successfully stopped s6-rc: info: service base-addon-banner: stopping s6-rc: info: service base-addon-banner successfully stopped s6-rc: info: service s6rc-oneshot-runner: stopping s6-rc: info: service s6rc-oneshot-runner successfully stopped ```

Considering the "libusb1: Could not open any HID devices: insufficient permissions on everything" message seems to be a constant, I tried specifying the port like this: port: /dev/ttyUSB0 and got this log:

Log with specified port

``` ----------------------------------------------------------- Add-on: Network UPS Tools Manage battery backup (UPS) devices ----------------------------------------------------------- Add-on version: 0.13.0 You are running the latest version of this add-on. System: Home Assistant OS 11.5 (amd64 / generic-x86-64) Home Assistant Core: 2024.2.1 Home Assistant Supervisor: 2024.01.1 ----------------------------------------------------------- Please, share the above information when looking for help or support in, e.g., GitHub, forums or the Discord chat. ----------------------------------------------------------- s6-rc: info: service base-addon-banner successfully started s6-rc: info: service fix-attrs: starting s6-rc: info: service base-addon-timezone: starting s6-rc: info: service base-addon-log-level: starting s6-rc: info: service fix-attrs successfully started [13:52:38] INFO: Configuring timezone (Europe/Oslo)... s6-rc: info: service base-addon-log-level successfully started s6-rc: info: service base-addon-timezone successfully started s6-rc: info: service legacy-cont-init: starting cont-init: info: running /etc/cont-init.d/nut.sh [13:52:39] INFO: Setting mode to netserver... [13:52:39] INFO: Generating /etc/nut/upsd.users... [13:52:39] INFO: Configuring user: NUTuser [13:52:40] INFO: Password is NOT in the Have I Been Pwned database! Nice! [13:52:41] INFO: Configuring Device named geups... [13:52:41] INFO: Starting the UPS drivers... Device not supported! Device not supported! Network UPS Tools - Generic Q* USB/Serial driver 0.32 (2.8.0) USB communication driver (libusb 1.0) 0.43 Driver failed to start (exit status=1) Network UPS Tools - UPS driver controller 2.8.0 cont-init: info: /etc/cont-init.d/nut.sh exited 1 cont-init: info: running /etc/cont-init.d/nutclient.sh cont-init: info: /etc/cont-init.d/nutclient.sh exited 0 cont-init: warning: some scripts exited nonzero s6-rc: warning: unable to start service legacy-cont-init: command exited 1 /run/s6/basedir/scripts/rc.init: warning: s6-rc failed to properly bring all the services up! Check your logs (in /run/uncaught-logs/current if you have in-container logging) for more information. /run/s6/basedir/scripts/rc.init: fatal: stopping the container. s6-rc: info: service fix-attrs: stopping s6-rc: info: service base-addon-timezone: stopping s6-rc: info: service base-addon-log-level: stopping s6-rc: info: service fix-attrs successfully stopped s6-rc: info: service base-addon-timezone successfully stopped s6-rc: info: service base-addon-log-level successfully stopped s6-rc: info: service base-addon-banner: stopping s6-rc: info: service base-addon-banner successfully stopped s6-rc: info: service s6rc-oneshot-runner: stopping s6-rc: info: service s6rc-oneshot-runner successfully stopped ```

The two lines with "Device not supported!" might imply the ups is unsupported, but considering I found someone in the NUT mailing list having a working GE ups with the blazer_usb driver I find it unlikly the ups is really unsupported. NUT mailing list

PS: I get the same result with both the blazer_usb driver and nutdrv_qx driver.

I'm getting the vibe that this is all down to some permission error. I just installed this system, so it cant't be that I've messed up anything quite yet. I downloaded the ssh plugin because I can't get the ups connected to home assistant, not the other way round.

I'd like to get this working, and I want to help any way I can. I'm a novice on the commandline so I kinda need to be fed with teaspoon instructions thoug.

diego0078 commented 9 months ago

Hello every body i found solution: ProblΓ©m Is bad settings port Try this Open terminΓ‘l Identify yours USB to UPS(lsusb, cd /dev ) Copy to settings

My sets here `users:

wqrwefdgfv commented 9 months ago

same problem

users:
  - username: test
    password: test123458148
    instcmds:
      - all
    actions: []
devices:
  - name: myups
    driver: usbhid-ups
    port: auto
    vendorid: 0d9f
    productid: 4
    config: []
mode: netserver
shutdown_host: false
list_usb_devices: true

log:

s6-rc: info: service base-addon-log-level successfully started
s6-rc: info: service base-addon-timezone successfully started
s6-rc: info: service legacy-cont-init: starting
cont-init: info: running /etc/cont-init.d/nut.sh
[09:08:54] INFO: Setting mode to netserver...
[09:08:55] INFO: Connected USB devices:
Bus 001 Device 005: ID 0627:0001 Adomax Technology Co., Ltd QEMU Tablet
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 003: ID 0d9f:0004 Powercom Co., Ltd HID UPS Battery
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 002: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 003: ID 1a86:55d4 QinHeng Electronics SONOFF Zigbee 3.0 USB Dongle Plus V2
Bus 002 Device 002: ID 10c4:ea60 Silicon Labs CP210x UART Bridge
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
[09:08:55] INFO: Generating /etc/nut/upsd.users...
[09:08:56] INFO: Configuring user: test
[09:08:57] INFO: Password is NOT in the Have I Been Pwned database! Nice!
[09:09:00] INFO: Configuring Device named myups...
[09:09:00] INFO: Starting the UPS drivers...
Can't claim USB device [0d9f:0004]@0/0: Other error
Driver failed to start (exit status=1)
Network UPS Tools - Generic HID driver 0.47 (2.8.0)
USB communication driver (libusb 1.0) 0.43
Network UPS Tools - UPS driver controller 2.8.0
cont-init: info: /etc/cont-init.d/nut.sh exited 1
cont-init: info: running /etc/cont-init.d/nutclient.sh
cont-init: info: /etc/cont-init.d/nutclient.sh exited 0
cont-init: warning: some scripts exited nonzero
s6-rc: warning: unable to start service legacy-cont-init: command exited 1
/run/s6/basedir/scripts/rc.init: warning: s6-rc failed to properly bring all the services up! Check your logs (in /run/uncaught-logs/current if you have in-container logging) for more information.
/run/s6/basedir/scripts/rc.init: fatal: stopping the container.
s6-rc: info: service fix-attrs: stopping
s6-rc: info: service base-addon-timezone: stopping
s6-rc: info: service base-addon-log-level: stopping
s6-rc: info: service fix-attrs successfully stopped
s6-rc: info: service base-addon-timezone successfully stopped
s6-rc: info: service base-addon-log-level successfully stopped
s6-rc: info: service base-addon-banner: stopping
s6-rc: info: service base-addon-banner successfully stopped
s6-rc: info: service s6rc-oneshot-runner: stopping
s6-rc: info: service s6rc-oneshot-runner successfully stopped
GiacomoTognetti commented 9 months ago

same here. I tried everything but nothing seems to work. Any help?

binarydepth commented 8 months ago

I am a Megatec drivber user too, while it was deprecated it also said that you can still use this driver if it works for you. The behaviour is that the USB device is not listed by lsusb on session start.

I am on Manjaro and followed the Arch Wiki on NUT. Maybe this step below about UDEV is causing the issue.

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

SUBSYSTEM=="usb", ATTR{idVendor}=="XXXX", ATTR{idProduct}=="YYYY", GROUP="nut"

EDIT:

I took it out but the issue persisted where I had to unplug the UPS USB cable. I think nut-scanner is reporting the wrong USB data.

Now, I have to run upsdrvctl start on session start and it works from there with updated ups.conf, my conf

lsusb:

Bus 005 Device 002: ID 0001:0000 Fry's Electronics

UPS.CONF

driver = "blazer_usb"
langid_fix="0x409"
    port = "auto"
    vendorid = "0001"
    productid = "0000"
    bus = "005"
    device = "002"
    busport = "002"//this part is confusing tbh so I ommited it at the begining 
epserra commented 8 months ago

Good morning, I think I have the same problem, the environment is UPS Salicru, Proxmox, HAOS virtual machine, virtual machine with Docker and virtual machine with Windows 11. What I have seen is that when the connection with the UPS is lost the USb bus has changed Day 03/11/2024 Bus 003 Device 005: ID 06da:ffff Phoenixtec Power Co., Ltd Offline UPS Day 03/12/2024 Bus 003 Device 007: ID 06da:ffff Phoenixtec Power Co., Ltd Offline UPS

Any suggestions? Note: Doing IPL solves the situation for a few days

github-actions[bot] commented 7 months ago

There hasn't been any activity on this issue recently, so we clean up some of the older and inactive issues. Please make sure to update to the latest version and check if that solves the issue. Let us know if that works for you by leaving a comment πŸ‘ This issue has now been marked as stale and will be closed if no further activity occurs. Thanks!

ghost commented 7 months ago

Well it does look like it is still a problem. This just started happening on mine too....

[16:26:14] INFO: Starting the UPS drivers... libusb1: Could not open any HID devices: insufficient permissions on everything No matching HID UPS found Network UPS Tools - Generic HID driver 0.47 (2.8.0) USB communication driver (libusb 1.0) 0.43 Driver failed to start (exit status=1) Network UPS Tools - UPS driver controller 2.8.0 cont-init: info: /etc/cont-init.d/nut.sh exited 1 cont-init: info: running /etc/cont-init.d/nutclient.sh cont-init: info: /etc/cont-init.d/nutclient.sh exited 0 cont-init: warning: some scripts exited nonzero s6-rc: warning: unable to start service legacy-cont-init: command exited 1 /run/s6/basedir/scripts/rc.init: warning: s6-rc failed to properly bring all the services up! Check your logs (in /run/uncaught-logs/current if you have in-container logging) for more information. /run/s6/basedir/scripts/rc.init: fatal: stopping the container. s6-rc: info: service fix-attrs: stopping s6-rc: info: service base-addon-timezone: stopping s6-rc: info: service base-addon-log-level: stopping s6-rc: info: service fix-attrs successfully stopped s6-rc: info: service base-addon-timezone successfully stopped s6-rc: info: service base-addon-log-level successfully stopped s6-rc: info: service base-addon-banner: stopping s6-rc: info: service base-addon-banner successfully stopped s6-rc: info: service s6rc-oneshot-runner: stopping s6-rc: info: service s6rc-oneshot-runner successfully stopped

Going to try a full shutdown and reboot...

nitefly80 commented 7 months ago

Having the same issue... It works for some time after a full shutdown then the addon stops. When I start it again I get this: libusb1: Could not open any HID devices: insufficient permissions on everything

epserra commented 7 months ago

Well, for me the problem continues, I think the possible error is in Proxmox, which for some reason that I don't know changes ports and the program does not have enough privileges to access the new USB configuration. A minute ago I had to perform an IPL (reset) on Proxmox to see the UPS information in home Assistant again

agaliste commented 6 months ago

The exact same error continues for me also, even when trying different drivers. I'm using the Home Assistant OS for the Raspberry Pi 5.

schariwari commented 6 months ago

Same Issue here; Legrand KEOS was running pretty well on a raspberry4, then I switched to an Intel-64-based mini-PC (both running the "HA-OS") and I do not get the stuff running again. The usbhid-ups is not working nor does the nutdrv_qx . Also various reboot/power-offs did not help...

Any hint would be very appreciated

pspot2 commented 5 months ago

I was trying to connect to my Serioux LD600LI UPS which shows up on lsusb as: Bus 001 Device 005: ID 0001:0000 and discovered by the HA NUT Addon at startup with list_usb_devices option enabled as: Bus 001 Device 005: ID 0001:0000 Fry's Electronics MEC0003 I was using this config:

- name: Serioux_LD600LI
  driver: usbhid-ups
  port: auto
  config:
    - vendorid = 0001
    - productid = 0000
    - desc = "Serioux LD600LI UPS"

I was getting the same error:

USB communication driver (libusb 1.0) 0.43
libusb1: Could not open any HID devices: insufficient permissions on everything

My guess is that because this is a cheap UPS, it doesn't feature a proper USB HID implementation and so the driver usbhid-ups is not the right option. So after going down the rabbit hole, I figured out this type of ups should connect with a megatec-usb driver which has been deprecated and replaced by blazer_usb driver which again was deprecated and replaced with nutdrv_qx driver. So after switching my config to this, everything works.

- name: Serioux_LD600LI
  driver: nutdrv_qx
  port: auto
  config:
    - vendorid = 0001
    - productid = 0000
    - desc = "Serioux LD600LI UPS"

Thanks for this hint. I was running into the same error message. By changing the driver to nutdrv_qx I was able to get my PowerWalker VI 800 CSW to work. Request for a HCL entry: click

doff-1 commented 4 months ago

@pspot2 Thanks, I've tried your setup now, both with my vendor and product id:

  • name: geups driver: nutdrv_qx port: auto config:
    • vendorid = 067b
    • productid = 2303
    • desc = "GE VH series 700VA UPS"

I still get the same error message, so I tried again with your 0001:0000 but I always get the same "libusb1: Could not open any HID devices: insufficient permissions on everything"

I find it peculiar how the plugin works for some people, while other get permission errors.

Maxklos commented 4 months ago

Problem still persist with version v0.13.1

github-actions[bot] commented 3 months ago

There hasn't been any activity on this issue recently, so we clean up some of the older and inactive issues. Please make sure to update to the latest version and check if that solves the issue. Let us know if that works for you by leaving a comment πŸ‘ This issue has now been marked as stale and will be closed if no further activity occurs. Thanks!

schariwari commented 3 months ago

still no function :-(

epserra commented 3 months ago

Well, NUT has continued to fail with the same lack of privilege symptom, I have just finished installing the latest Proxmox update. Let's see how it behaves in a few days. I also tried the following values ​​in the configuration: config: vendorid = 06da productid = ffff without result

aquette commented 3 months ago

I'm definitely interested in the result of your test! I still suspect an hypervisor / kernel / udev issue... But can't see the light and where the issue us, to fix it, without a a setup underhand

trudheim commented 3 months ago

Hi,

I run Nut on plain Debian 12.6 and I have a Powerwalker UPS that the server is plugged into. I get these permission issues in logwatch output frequently. After reading this issue, I started digging a bit. 'lsusb' did not show the UPS. Unplugging the usb cable and re-plugging it and then running 'lsusb' shows the device and Nut picks up that data is no longer stale.

It leads me to think that this may be relating to some kind of power-management, where something is determined to be idle and put to sleep, and then it does not recover from that.

To test the theory: cat /sys/module/usbcore/parameters/autosuspend

For me, it was set to '2'. To disable it: echo -1 > /sys/module/usbcore/parameters/autosuspend

I have now added the 'echo -1' part to my /etc/rc.local and I will monitor this thing with UPS device disappearing. If in a week the UPS still have not disconnected, I will consider USB AutoSuspend the culprit.

/Sirius

aquette commented 3 months ago

What are the USB vendor and product id?