[Nut-upsuser] NUT no longer works after 2.7 -> 2.8 upgrade

Bill Gee bgee at campercaver.net
Wed Nov 30 01:25:19 GMT 2022


I got it to run, but what a mess ...

Yes, I am running systemctl daemon-reload and systemctl restart 
nut-server after each change I make.

I created /usr/lib/tmpfiles.d/nut-client.conf   The owner is root:root 
and permissions are 0644.  The contents are

# State file (e.g. upsd to driver) and pidfile location for NUT:
D /var/run/nut 0770 root nut - -
X /var/run/nut

I uncommented the STATEPATH line in /etc/ups/upsd.conf.

I created a directory /var/state/ups, set to 777 permissions.  Changed 
the STATEPATH line in upsd.conf.  No success.

I looked at /usr/lib/systemd/system/nut-driver at .service but could not 
see any changes to be made.  The bug report at RedHat mentions that a 
file identified in ExecStartPre does not exist, but I could not duplicate.

I tried running this as root:

NUT_STATEPATH=/var/state/ups NUT_ALTPIDPATH=/var/state/ups 
/usr/sbin/usbhid-ups -u nut -g nut -s cyberpower -x port=auto

And it works.  I tried it with only one or the other of the two 
environment variables, but did not work.  It has to have both.

===============
Bill Gee


On 11/29/22 17:43, Jim Klimov wrote:
> As recently noted in the lists, this was tracked
> down to a Fedora 37 packaging bug: 
> https://bugzilla.redhat.com/show_bug.cgi 
> <https://bugzilla.redhat.com/show_bug.cgi>?id=2127269
> 
>  > The nut user does not have write permissions at /run.
> Note that /run is linked as /var/run and the nut user DOES have write
> permissions there.
> 
> These two statements do not fit together :) Permissions on symlink do 
> not matter, only the ultimate object's rights do (root-owned /run). The 
> packaging error is that (/var)/run/nut should have been used for drivers 
> and upsd, or /var/state/ups as it should also exist and be accessible to 
> these. For a quick fix you can set 
> Environment=NUT_ALTPIDPATH=/var/state/ups for their systemd units or 
> respective custom drop-in files.
> 
> Jim
> 
> On Tue, Nov 29, 2022, 14:06 Bill Gee <bgee at campercaver.net 
> <mailto:bgee at campercaver.net>> wrote:
> 
>     Yesterday I upgraded one of my systems from Fedora 36 to Fedora 37. 
>     NUT
>     was upgraded to version 2.8.0.  It no longer runs.
> 
>     At first I thought it was because of the XFCE Power Manager program.
>     That program finds the UPS with no problem.  I thought maybe the two
>     programs were competing for the UPS port.  I shut down the XFCE power
>     manager, but that did not help NUT.
> 
>     Based on the diagnostics given below, I think this is a permissions
>     problem at /run.  The nut user does not have write permissions at /run.
>     Note that /run is linked as /var/run and the nut user DOES have write
>     permissions there.
> 
>     How can I correct this?
> 
>     =======================================
>     [root at mythtv ups]# systemctl status nut-server
>     nut-server.service - Network UPS Tools - power devices information
>     server
>            Loaded: loaded (/usr/lib/systemd/system/nut-server.service;
>     enabled; preset: disabled)
>            Active: active (running) since Tue 2022-11-29 06:18:13 CST;
>     19min ago
>          Main PID: 11908 (upsd)
>             Tasks: 1 (limit: 9482)
>            Memory: 736.0K
>               CPU: 27ms
>            CGroup: /system.slice/nut-server.service
>                    └─11908 /usr/sbin/upsd -F
> 
>     Nov 29 06:18:13 mythtv.billgee.local upsd[11908]: Can't connect to UPS
>     [cyberpower] (usbhid-ups-cyberpower): No such fi>
>     Nov 29 06:18:13 mythtv.billgee.local nut-server[11908]: Can't
>     connect to
>     UPS [cyberpower] (usbhid-ups-cyberpower): No s>
>     Nov 29 06:18:13 mythtv.billgee.local nut-server[11908]: Running as
>     foreground process, not saving a PID file
>     Nov 29 06:18:13 mythtv.billgee.local upsd[11908]: Running as foreground
>     process, not saving a PID file
>     Nov 29 06:23:13 mythtv.billgee.local nut-server[11908]: Can't
>     connect to
>     UPS [cyberpower] (usbhid-ups-cyberpower): No such file or directory>
>     Nov 29 06:23:13 mythtv.billgee.local upsd[11908]: Can't connect to UPS
>     [cyberpower] (usbhid-ups-cyberpower): No such file or directory>
> 
>     [root at mythtv ups]# usbhid-ups -a cyberpower
>     Network UPS Tools - Generic HID driver 0.47 (2.8.0)
>     USB communication driver (libusb 1.0) 0.43
>     writepid: fopen /var/run/usbhid-ups-cyberpower.pid: Permission denied
>     Using subdriver: CyberPower HID 0.6
>     cps_adjust_battery_scale: battery readings will be scaled by 2/3
> 
>     Fatal error: unable to create listener socket
> 
>     bind /var/run/usbhid-ups-cyberpower failed: Permission denied
> 
>     Exiting.
> 
>     [root at mythtv ups]# ll /var/run/usb*
>     ls: cannot access '/var/run/usb*': No such file or directory
> 
>     [root at mythtv ups]# ll -d /var/run
>     lrwxrwxrwx. 1 root root 6 Aug 31  2014 /var/run -> ../run
> 
>     [root at mythtv ups]# ll -d /run
>     drwxr-xr-x 55 root root 1500 Nov 28 08:22 /run
> 
>     [root at mythtv ups]# tail /etc/ups/ups.conf
>     [cyberpower]
>               driver=usbhid-ups
>               desc="CyberPower CP1500"
>               port=auto
>               vendorid=0764
>     ==================================================
> 
> 
>     Thanks!
>     -- 
>     ===============
>     Bill Gee
> 
>     _______________________________________________
>     Nut-upsuser mailing list
>     Nut-upsuser at alioth-lists.debian.net
>     <mailto:Nut-upsuser at alioth-lists.debian.net>
>     https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsuser
>     <https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsuser>
> 



More information about the Nut-upsuser mailing list