Checking now - There is a file called /etc/systemd/system/nut-driver at .service.d/environ.conf. Its contents are =========================[root at mythtv nut-driver at .service.d]# ll total 8 -rw-r--r-- 1 root root 49 Nov 29 18:14 environ.conf -rw-r--r-- 1 root root 81 Nov 30 18:58 nut-driver-enumerator-generated-checksum.conf [root at mythtv nut-driver at .service.d]# cat environ.conf [Service] Environment=NUT_STATEPATH=/var/run/nut ========================= Which explains, I think, much of the problem. I do not remember putting that file in place. However, it is dated 29 Nov, just a couple of days ago, so it was probably me who did it. Should I delete the file? Or change it to use /run/nut? And that raises another interesting question: Since /var/run and /run are effectively the same thing, why does /run work and /var/run not work? ==============Bill Gee On 12/1/22 16:38, Simon Wilson via Nut-upsuser wrote:> Working nut-driver, working nut-server. That's a lot further than you > were on Tuesday. > > It's a little odd that nut-driver worked without STATEPATH being > uncommented in upsd.conf but nut-server needed the change. > @Jim, without digging into source, any reason why that would be the case? > @Bill, you didn't end up doing an 'environ.conf'-style drop-in file at > '/etc/systemd/system/nut-driver at .service.d/' did you (as that would > explain the difference between the two services)? > > You will need to enable nut.target to have things start on boot, and > reboot to make sure everything starts OK. > > Simon > > ----- Message from Bill Gee <bgee at campercaver.net> --------- > ? ?Date: Thu, 1 Dec 2022 10:43:04 -0600 > ? ?From: Bill Gee <bgee at campercaver.net> > Subject: Re: [Nut-upsuser] NUT no longer works after 2.7 -> 2.8 upgrade > ? ? ?To: nut-upsuser at alioth-lists.debian.net > >> My email client (Thunderbird) does not truncate, but it does wrap. >> The truncations come from the way systemctl runs its output through a >> pager. When I copy-paste from the bash session, it truncates at the >> right edge of the window.? ?I need to use the --full and --no-pager >> options to get the full text, which will be wrapped as needed. >> >> Here is the output from upsd -DD: >> >> ==================================>> [root at mythtv ~]# upsd -DD >> Network UPS Tools upsd 2.8.0 >> ? 0.000000? ? ?fopen /var/run/upsd.pid: No such file or directory >> ? 0.000030? ? ?Could not find PID file '/var/run/upsd.pid' to see if >> previous upsd instance is already running! >> >> ? 0.000250? ? ?[D1] debug level is '2' >> ? 0.000335? ? ?listening on ::1 port 3493 >> ? 0.000375? ? ?listening on 127.0.0.1 port 3493 >> ? 0.001417? ? ?/var/run is world readable >> ? 0.001557? ? ?Can't connect to UPS [cyberpower] >> (usbhid-ups-cyberpower): No such file or directory >> ? 0.002315? ? ?Running as foreground process, not saving a PID file >> ? 0.002337? ? ?[D1] mainloop: UPS [cyberpower] is not currently connected >> ? 0.002377? ? ?[D1] mainloop: UPS [cyberpower] is now connected as FD -1 >> ? 0.002399? ? ?[D2] mainloop: polling 2 filedescriptors >> ? 2.003794? ? ?[D2] mainloop: no data available >> ? 2.003842? ? ?[D1] mainloop: UPS [cyberpower] is not currently connected >> ? 2.003897? ? ?[D1] mainloop: UPS [cyberpower] is now connected as FD -1 >> ? 2.003917? ? ?[D2] mainloop: polling 2 filedescriptors >> ? 4.005963? ? ?[D2] mainloop: no data available >> ? 4.006009? ? ?[D1] mainloop: UPS [cyberpower] is not currently connected >> ? 4.006054? ? ?[D1] mainloop: UPS [cyberpower] is now connected as FD -1 >> ? 4.006073? ? ?[D2] mainloop: polling 2 filedescriptors >> ? 6.008122? ? ?[D2] mainloop: no data available >> =============================>> >> Just for grins, I edited /etc/ups/upsd.conf to uncomment the STATEPATH >> line.? I set it to /run/nut.? When I ran upsd -DD again, it was still >> looking at /var/run.? However!? It successfully connected to the >> cyberpower device.? Upsc returns good information. >> >> ================================>> [root at mythtv ups]# upsd -DD >> Network UPS Tools upsd 2.8.0 >> ? 0.000000? ? ?fopen /var/run/upsd.pid: No such file or directory >> ? 0.000037? ? ?Could not find PID file '/var/run/upsd.pid' to see if >> previous upsd instance is already running! >> >> ? 0.000271? ? ?[D1] debug level is '2' >> ? 0.000357? ? ?listening on ::1 port 3493 >> ? 0.000395? ? ?listening on 127.0.0.1 port 3493 >> ? 0.001550? ? ?Connected to UPS [cyberpower]: usbhid-ups-cyberpower >> ? 0.002323? ? ?Running as foreground process, not saving a PID file >> ? 0.002347? ? ?[D2] mainloop: polling 3 filedescriptors >> ? 0.002423? ? ?[D2] mainloop: polling 3 filedescriptors >> ? 0.002493? ? ?[D2] mainloop: polling 3 filedescriptors >> ? 0.002570? ? ?[D2] mainloop: polling 3 filedescriptors >> ? 0.002648? ? ?[D2] mainloop: polling 3 filedescriptors >> ? 0.002701? ? ?[D2] mainloop: polling 3 filedescriptors >> ? 2.004311? ? ?[D2] mainloop: no data available >> ? 2.004352? ? ?[D2] mainloop: polling 3 filedescriptors >> ? 4.006061? ? ?[D2] mainloop: no data available >> >> [root at mythtv ups]# systemctl --full --no-pager status nut-server >> ? nut-server.service - Network UPS Tools - power devices information >> server >> ? ? Loaded: loaded (/usr/lib/systemd/system/nut-server.service; >> disabled; preset: disabled) >> ? ? Active: active (running) since Thu 2022-12-01 10:35:01 CST; 18s ago >> ? Main PID: 3445 (upsd) >> ? ? ?Tasks: 1 (limit: 9482) >> ? ? Memory: 732.0K >> ? ? ? ?CPU: 4ms >> ? ? CGroup: /system.slice/nut-server.service >> ? ? ? ? ? ? ??3445 /usr/sbin/upsd -F >> >> Dec 01 10:35:01 mythtv.billgee.local nut-server[3445]: fopen >> /var/run/upsd.pid: No such file or directory >> Dec 01 10:35:01 mythtv.billgee.local nut-server[3445]: Could not find >> PID file '/var/run/upsd.pid' to see if previous upsd instance is >> already running! >> Dec 01 10:35:01 mythtv.billgee.local nut-server[3445]: listening on >> ::1 port 3493 >> Dec 01 10:35:01 mythtv.billgee.local nut-server[3445]: listening on >> 127.0.0.1 port 3493 >> Dec 01 10:35:01 mythtv.billgee.local upsd[3445]: listening on ::1 port >> 3493 >> Dec 01 10:35:01 mythtv.billgee.local upsd[3445]: listening on >> 127.0.0.1 port 3493 >> Dec 01 10:35:01 mythtv.billgee.local nut-server[3445]: Connected to >> UPS [cyberpower]: usbhid-ups-cyberpower >> Dec 01 10:35:01 mythtv.billgee.local upsd[3445]: Connected to UPS >> [cyberpower]: usbhid-ups-cyberpower >> Dec 01 10:35:01 mythtv.billgee.local upsd[3445]: Running as foreground >> process, not saving a PID file >> Dec 01 10:35:01 mythtv.billgee.local nut-server[3445]: Running as >> foreground process, not saving a PID file >> >> [root at mythtv ups]# upsc cyberpower at localhost >> battery.charge: 100 >> battery.charge.low: 10 >> battery.charge.warning: 20 >> battery.mfr.date: CPS >> battery.runtime: 2100 >> battery.runtime.low: 300 >> battery.type: PbAcid >> battery.voltage: 13.3 >> battery.voltage.nominal: 12 >> device.mfr: CPS >> device.model: UPS CP1000AVRLCD >> device.type: ups >> driver.name: usbhid-ups >> [-- snip --] >> >> ==============>> Bill Gee >> >> On 12/1/22 06:41, Simon Wilson via Nut-upsuser wrote: >>> Hi Bill, well at least you now have a fully operating, >>> starts-on-reboot driver - so that is progress. One thing we need to >>> know which I asked but you've not answered: >>> "Did you need to add the environment drop-in file? At which step did >>> it work?" The answer to that may change next step. >>> >>> nut-server *should* just work if there is a driver available and >>> running. >>> >>> OK, run: >>> >>> ?systemctl disable nut-server (stop it trying to run automatically) >>> ?upsd -DD >>> >>> And then Ctrl-C to stop it once you have got output to screen with >>> startup messages. >>> >>> Then copy back here the output from upsd -DD, preferably without >>> truncating lines which your mail client seems to do :( >>> >>> I'm pretty sure that nut-server is using /var/run as its STATEPATH. >>> Can you also include your upsd.conf, minus commented lines. >>> >>> Simon. >>> >>> ----- Message from Bill Gee <bgee at campercaver.net> --------- >>> ?? Date: Thu, 1 Dec 2022 06:14:10 -0600 >>> ?? From: Bill Gee <bgee at campercaver.net> >>> Subject: Re: [Nut-upsuser] NUT no longer works after 2.7 -> 2.8 upgrade >>> ???? To: nut-upsuser at alioth-lists.debian.net >>> >>>> Hi Simon - >>>> >>>> I modified /usr/lib/tmpfiles.d/nut-client to use /run instead of >>>> /var/run.? I checked the startup status of the nut services. >>>> >>>> ================>>>> [root at mythtv ~]# systemctl list-unit-files | grep -i nut >>>> nut-driver-enumerator.path? enabled???????? disabled >>>> nut-driver-enumerator.service? enabled???????? disabled >>>> nut-driver at .service? indirect??????? disabled >>>> nut-monitor.service? disabled??????? disabled >>>> nut-server.service? enabled???????? disabled >>>> nut-driver.target? disabled??????? disabled >>>> nut.target? disabled??????? disabled >>>> =========================>>>> >>>> I did a shutdown/reboot on the system.? The usbhid driver loaded >>>> without errors and did not complain about /var/run.? /run/nut exists >>>> and contains the expected two files. >>>> >>>> nut-server also started since it is set to "enabled", but failed to >>>> connect to the driver.? It complains about "no such file or >>>> directory". What file is it looking for?? I ran journalctl on it but >>>> got nothing more than what systemctl status reports. >>>> >>>> ==========================>>>> [root at mythtv ~]# systemctl status nut-driver at cyberpower >>>> ? nut-driver at cyberpower.service - Network UPS Tools - device driver >>>> for NUT device 'cyberpower' >>>> ???? Loaded: loaded (/usr/lib/systemd/system/nut-driver at .service; >>>> enabled; preset: disabled) >>>> ??? Drop-In: /etc/systemd/system/nut-driver at .service.d >>>> ???????????? ??environ.conf >>>> ???????????? /etc/systemd/system/nut-driver at cyberpower.service.d >>>> ???????????? ??nut-driver-enumerator-generated-checksum.conf, >>>> nut-driver-enumerator-generated.conf >>>> ???? Active: active (running) since Thu 2022-12-01 05:56:04 CST; >>>> 9min ago >>>> ??? Process: 712 ExecStartPre=/usr/bin/systemd-tmpfiles --create >>>> /usr/lib/tmpfiles.d/nut-client.conf (code=exited, stat> >>>> ??? Process: 719 ExecStart=/bin/sh -c >>>> NUTDEV="`/usr/libexec/nut-driver-enumerator.sh >>>> --get-device-for-service cyberpowe> >>>> ?? Main PID: 791 (usbhid-ups) >>>> ????? Tasks: 1 (limit: 9482) >>>> ???? Memory: 2.9M >>>> ??????? CPU: 113ms >>>> ???? CGroup: >>>> /system.slice/system-nut\x2ddriver.slice/nut-driver at cyberpower.service >>>> ???????????? ??791 /usr/sbin/usbhid-ups -a cyberpower >>>> >>>> Dec 01 05:56:04 mythtv.billgee.local nut-driver at cyberpower[787]: >>>> Using subdriver: CyberPower HID 0.6 >>>> Dec 01 05:56:04 mythtv.billgee.local nut-driver at cyberpower[787]: >>>> Network UPS Tools - Generic HID driver 0.47 (2.8.0) >>>> Dec 01 05:56:04 mythtv.billgee.local nut-driver at cyberpower[787]: USB >>>> communication driver (libusb 1.0) 0.43 >>>> Dec 01 05:56:04 mythtv.billgee.local nut-driver at cyberpower[787]: >>>> cps_adjust_battery_scale: battery readings will be sca> >>>> Dec 01 05:56:04 mythtv.billgee.local nut-driver at cyberpower[719]: >>>> Network UPS Tools - UPS driver controller 2.8.0 >>>> Dec 01 05:56:04 mythtv.billgee.local usbhid-ups[791]: Startup >>>> successful >>>> >>>> [root at mythtv ~]# 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 Thu 2022-12-01 05:56:07 CST; >>>> 9min ago >>>> ?? Main PID: 809 (upsd) >>>> ????? Tasks: 1 (limit: 9482) >>>> ???? Memory: 1000.0K >>>> ??????? CPU: 15ms >>>> ???? CGroup: /system.slice/nut-server.service >>>> ???????????? ??809 /usr/sbin/upsd -F >>>> >>>> Dec 01 05:56:08 mythtv.billgee.local upsd[809]: listening on ::1 >>>> port 3493 >>>> Dec 01 05:56:08 mythtv.billgee.local upsd[809]: listening on >>>> 127.0.0.1 port 3493 >>>> Dec 01 05:56:08 mythtv.billgee.local nut-server[809]: /var/run is >>>> world readable >>>> Dec 01 05:56:08 mythtv.billgee.local nut-server[809]: Can't connect >>>> to UPS [cyberpower] (usbhid-ups-cyberpower): No suc> >>>> Dec 01 05:56:08 mythtv.billgee.local upsd[809]: /var/run is world >>>> readable >>>> Dec 01 05:56:08 mythtv.billgee.local upsd[809]: Can't connect to UPS >>>> [cyberpower] (usbhid-ups-cyberpower): No such file> >>>> Dec 01 05:56:10 mythtv.billgee.local nut-server[809]: Running as >>>> foreground process, not saving a PID file >>>> Dec 01 05:56:10 mythtv.billgee.local upsd[809]: Running as >>>> foreground process, not saving a PID file >>>> Dec 01 06:01:08 mythtv.billgee.local nut-server[809]: Can't connect >>>> to UPS [cyberpower] (usbhid-ups-cyberpower): No suc> >>>> Dec 01 06:01:08 mythtv.billgee.local upsd[809]: Can't connect to UPS >>>> [cyberpower] (usbhid-ups-cyberpower): No such file> >>>> ===============================>>>> >>>> ==============>>>> Bill Gee >>>> >>>> On 11/30/22 21:14, Simon Wilson via Nut-upsuser wrote: >>>>> ----- Message from Bill Gee <bgee at campercaver.net> --------- >>>>> ?? Date: Wed, 30 Nov 2022 19:26:46 -0600 >>>>> ?? From: Bill Gee <bgee at campercaver.net> >>>>> Subject: Re: [Nut-upsuser] NUT no longer works after 2.7 -> 2.8 >>>>> upgrade >>>>> ???? To: nut-upsuser at alioth-lists.debian.net >>>>> >>>>>> Hi Simon - >>>>>> >>>>>> I ran through the steps you gave below.? To quote Gilbert&Sullivan >>>>>> ... "Modified Rapture!"? I suppose I should try a reboot to make >>>>>> sure everything starts properly. >>>>> >>>>> Not yet with the reboot. Baby steps... :) you have a driver running >>>>> from the service file! Celebrations are in order. >>>>> >>>>> Did you need to add the environment drop-in file? At which step did >>>>> it work? >>>>> >>>>>> But first, there is a problem with upsc. Also nut-server complains >>>>>> that it cannot connect to the device. >>>>> >>>>> Ok, that's next... your comments are wrong way around :) nut-server >>>>> not starting is why upsc doesn't give you anything. >>>>> >>>>>> /run/nut exists and contains two files. >>>>>> >>>>>> Here are some outputs: >>>>>> >>>>>> =====================================>>>>>> [root at mythtv ~]# journalctl -u nut-driver at cyberpower.service -f >>>>>> Nov 30 19:00:20 mythtv.billgee.local systemd[1]: Starting >>>>>> nut-driver at cyberpower.service - Network UPS Tools - device driver >>>>>> for NUT device 'cyberpower'... >>>>>> Nov 30 19:00:20 mythtv.billgee.local systemd-tmpfiles[28689]: >>>>>> /usr/lib/tmpfiles.d/nut-client.conf:2: Line references path below >>>>>> legacy directory /var/run/, updating /var/run/nut ? /run/nut; >>>>>> please update the tmpfiles.d/ drop-in file accordingly. >>>>> >>>>> That line is the "noise" error I mentioned. Edit >>>>> /usr/lib/tmpfiles.d/nut-client.conf to read /run/nut, not /var/run/nut >>>>> >>>>>> Nov 30 19:00:20 mythtv.billgee.local systemd-tmpfiles[28689]: >>>>>> /usr/lib/tmpfiles.d/nut-client.conf:3: Line references path below >>>>>> legacy directory /var/run/, updating /var/run/nut ? /run/nut; >>>>>> please update the tmpfiles.d/ drop-in file accordingly. >>>>> >>>>> Ditto, although you probably don't need line 3 in the file anyway. >>>>> >>>>>> Nov 30 19:00:21 mythtv.billgee.local nut-driver at cyberpower[28719]: >>>>>> Using subdriver: CyberPower HID 0.6 >>>>>> Nov 30 19:00:21 mythtv.billgee.local nut-driver at cyberpower[28719]: >>>>>> Network UPS Tools - Generic HID driver 0.47 (2.8.0) >>>>>> Nov 30 19:00:21 mythtv.billgee.local nut-driver at cyberpower[28719]: >>>>>> USB communication driver (libusb 1.0) 0.43 >>>>>> Nov 30 19:00:21 mythtv.billgee.local nut-driver at cyberpower[28719]: >>>>>> cps_adjust_battery_scale: battery readings will be scaled by 2/3 >>>>>> Nov 30 19:00:21 mythtv.billgee.local usbhid-ups[28769]: Startup >>>>>> successful >>>>>> Nov 30 19:00:21 mythtv.billgee.local nut-driver at cyberpower[28691]: >>>>>> Network UPS Tools - UPS driver controller 2.8.0 >>>>>> Nov 30 19:00:21 mythtv.billgee.local systemd[1]: Started >>>>>> nut-driver at cyberpower.service - Network UPS Tools - device driver >>>>>> for NUT device 'cyberpower'. >>>>>> >>>>>> [root at mythtv ups]# ll /run/nut >>>>>> total 4 >>>>>> srw-rw---- 1 nut nut 0 Nov 30 19:00 usbhid-ups-cyberpower >>>>>> -rw-r--r-- 1 nut nut 6 Nov 30 19:00 usbhid-ups-cyberpower.pid >>>>>> >>>>>> [root at mythtv ups]# systemctl --no-pager --full 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 Wed 2022-11-30 19:06:53 CST; >>>>>> 13min ago >>>>>> ?? Main PID: 28918 (upsd) >>>>>> ????? Tasks: 1 (limit: 9482) >>>>>> ???? Memory: 736.0K >>>>>> ??????? CPU: 20ms >>>>>> ???? CGroup: /system.slice/nut-server.service >>>>>> ???????????? ??28918 /usr/sbin/upsd -F >>>>>> >>>>>> Nov 30 19:06:53 mythtv.billgee.local nut-server[28918]: /var/run >>>>>> is world readable >>>>>> Nov 30 19:06:53 mythtv.billgee.local upsd[28918]: /var/run is >>>>>> world readable >>>>>> Nov 30 19:06:53 mythtv.billgee.local upsd[28918]: Can't connect to >>>>>> UPS [cyberpower] (usbhid-ups-cyberpower): Connection refused >>>>>> Nov 30 19:06:53 mythtv.billgee.local nut-server[28918]: Can't >>>>>> connect to UPS [cyberpower] (usbhid-ups-cyberpower): Connection >>>>>> refused >>>>>> Nov 30 19:06:53 mythtv.billgee.local nut-server[28918]: Running as >>>>>> foreground process, not saving a PID file >>>>>> Nov 30 19:06:53 mythtv.billgee.local upsd[28918]: Running as >>>>>> foreground process, not saving a PID file >>>>>> Nov 30 19:11:53 mythtv.billgee.local nut-server[28918]: Can't >>>>>> connect to UPS [cyberpower] (usbhid-ups-cyberpower): Connection >>>>>> refused >>>>>> Nov 30 19:11:53 mythtv.billgee.local upsd[28918]: Can't connect to >>>>>> UPS [cyberpower] (usbhid-ups-cyberpower): Connection refused >>>>>> Nov 30 19:16:53 mythtv.billgee.local nut-server[28918]: Can't >>>>>> connect to UPS [cyberpower] (usbhid-ups-cyberpower): Connection >>>>>> refused >>>>>> Nov 30 19:16:53 mythtv.billgee.local upsd[28918]: Can't connect to >>>>>> UPS [cyberpower] (usbhid-ups-cyberpower): Connection refused >>>>>> >>>>>> [root at mythtv ups]# ps ax | grep ups >>>>>> ??? 768 ???????? Ss???? 0:00 /usr/sbin/cupsd -l >>>>>> ??? 773 ???????? Ss???? 0:00 sshd: /usr/sbin/sshd -D [listener] 0 >>>>>> of 10-100 startups >>>>>> ? 28769 ???????? Ss???? 0:00 /usr/sbin/usbhid-ups -a cyberpower >>>>>> ? 28918 ???????? Ss???? 0:00 /usr/sbin/upsd -F >>>>>> ? 28929 pts/1??? S+???? 0:00 grep --color=auto ups >>>>>> >>>>>> [root at mythtv ups]# upsc cyberpower at localhost >>>>>> Error: Driver not connected >>>>> >>>>> upsc won't work without nut-server running, so this is expected >>>>> based on the above failure to start nut-server. >>>>> >>>>>> >>>>> >>>>> So... next. >>>>> >>>>> Fix nut-client.conf contents, and make sure that you can start / >>>>> restart the driver as needed with no errors. Set >>>>> nut-driver at cyberpower.service to enabled for autostart, so with >>>>> ONLY the enumerator services and nut-driver at cyberpower.service >>>>> enabled, you should see something like the following for 'systemctl >>>>> list-unit-files | grep -i nut': >>>>> >>>>> [root at emp80 ups]# systemctl list-unit-files | grep -i nut >>>>> nut-driver-enumerator.path >>>>> ?? enabled >>>>> nut-driver-enumerator.service >>>>> ??? enabled >>>>> nut-driver at .service >>>>> ??? indirect >>>>> nut-monitor.service >>>>> ??? disabled >>>>> nut-server.service >>>>> ?? disabled >>>>> nut-driver.target >>>>> ??? disabled >>>>> nut.target >>>>> ?? disabled >>>>> >>>>> Stop any running nut processes, and reboot. On reboot the only >>>>> thing that should autostart is nut-driver at cyberpower.service (from >>>>> the 'indirect' call via nut-driver at .service). upsc will still not >>>>> work. >>>>> >>>>> Monitor the driver for a while 'journalctl -u >>>>> nut-driver at cyberpower.service -f' and make sure it is stable and >>>>> stays connected - google searches show some flakiness with some >>>>> cyberpower UPSs. >>>>> >>>>> Once you are confident that the driver is reliable, starting OK and >>>>> staying up then move on to nut-server. >>>>> >>>>> I'll check in this evening and we can do some more digging on that. >>>>> >>>>> Simon >>>>> >>>>>> ==============>>>>>> Bill Gee >>>>>> >>>>>> On 11/30/22 07:21, Simon Wilson via Nut-upsuser wrote: >>>>>>> Comments inline. >>>>>>> >>>>>>> ----- Message from Bill Gee <bgee at campercaver.net> --------- >>>>>>> ?? Date: Wed, 30 Nov 2022 06:04:14 -0600 >>>>>>> ?? From: Bill Gee <bgee at campercaver.net> >>>>>>> Subject: Re: [Nut-upsuser] NUT no longer works after 2.7 -> 2.8 >>>>>>> upgrade >>>>>>> ???? To: nut-upsuser at alioth-lists.debian.net >>>>>>> >>>>>>>> Hi Simon -- >>>>>>>> >>>>>>>> Yes, I am pretty sure this is the RedHat packaging problem.? I >>>>>>>> sure hope they get it squared away.? I have only one system >>>>>>>> using nut and that is because all my other systems have APC >>>>>>>> battery backup and run apcupsd. Apcupsd may be old, grey and >>>>>>>> unmaintained, but it Just Works. >>>>>>>> >>>>>>>> You mention that the STATEPATH line in upsd.conf will override >>>>>>>> other settings.? It does not appear to be the case for me.? The >>>>>>>> only way I could get the driver to run was by setting >>>>>>>> NUT_STATEPATH on the command line.? Perhaps that is an issue >>>>>>>> with the driver and not nut-server? >>>>>>>> >>>>>>>> In answer to your questions: >>>>>>>> >>>>>>>> 1) /usr/lib/systemd/system/nut-driver at .service exists.? I have >>>>>>>> made no changes to it so far.? Here are the contents, >>>>>>>> unfortunately line-wrapped by Thunderbird. >>>>>>>> >>>>>>>> ===============================>>>>>>>> [root at mythtv system]# grep -v '^#' nut-driver at .service >>>>>>>> [Unit] >>>>>>>> Description=Network UPS Tools - device driver for %I >>>>>>>> After=local-fs.target >>>>>>>> >>>>>>>> PartOf=nut-driver.target >>>>>>>> >>>>>>>> [Service] >>>>>>>> EnvironmentFile=-/etc/ups/nut.conf >>>>>>>> SyslogIdentifier=%N >>>>>>>> ExecStartPre=-/usr/bin/systemd-tmpfiles --create >>>>>>>> /usr/lib/tmpfiles.d/nut-client.conf >>>>>>>> ExecStart=/bin/sh -c >>>>>>>> 'NUTDEV="`/usr/libexec/nut-driver-enumerator.sh >>>>>>>> --get-device-for-service %i`" && [ -n "$NUTDEV" ] || { echo >>>>>>>> "FATAL: Could not find a NUT device section for service unit %i" >>>>>>>> >&2 ; exit 1 ; } ; /usr/sbin/upsdrvctl start "$NUTDEV"' >>>>>>>> ExecStop=/bin/sh -c >>>>>>>> 'NUTDEV="`/usr/libexec/nut-driver-enumerator.sh >>>>>>>> --get-device-for-service %i`" && [ -n "$NUTDEV" ] || { echo >>>>>>>> "FATAL: Could not find a NUT device section for service unit %i" >>>>>>>> >&2 ; exit 1 ; } ; /usr/sbin/upsdrvctl stop "$NUTDEV"' >>>>>>>> StartLimitInterval=0 >>>>>>>> Restart=always >>>>>>>> RestartSec=15s >>>>>>>> Type=forking >>>>>>>> >>>>>>>> [Install] >>>>>>>> WantedBy=nut-driver.target >>>>>>>> ==================================>>>>>>> >>>>>>> OK, so that's the same as mine. It's ExecStartPre task is to >>>>>>> create the pid folder from your answer to the third (unasked) >>>>>>> question :) which is that outlined in >>>>>>> /usr/lib/tmpfiles.d/nut-client.conf >>>>>>> >>>>>>> You have /var/run/nut 0770 root nut - so systemd should ensure >>>>>>> that exists. >>>>>>> >>>>>>> By the way, having it with "/var/run/nut" will trigger a 'noise' >>>>>>> error about the "/var" path - change it to just be /run/nut in >>>>>>> nut-client.conf. >>>>>>> >>>>>>> As a test, what happens if you: >>>>>>> >>>>>>> - make sure nut.conf has MODE=standalone >>>>>>> - make sure ALL nut services are stopped, i.e. 'ps -ax | grep >>>>>>> ups' should give you only the grep process as an answer >>>>>>> - delete /run/nut folder (it will get re-created automatically) >>>>>>> - take /etc/ups/upsd.conf back to have commented out STATEPATH as >>>>>>> distributed in the package >>>>>>> - run "systemctl enable nut-driver-enumerator.path >>>>>>> nut-driver-enumerator.service --now" - this will enable and start >>>>>>> the services that monitor ups.conf for changes and then write the >>>>>>> actual driver service file; the second one also runs early in >>>>>>> boot and ensures that the service file exists and is correct. >>>>>>> - run 'nut-scanner -U' and copy its output into ups.conf instead >>>>>>> of your current definition with name heading [cyberpower], save >>>>>>> and exit: this will trigger the above enumerators to run and >>>>>>> re-do the nut-driver at cyberpower.service file >>>>>>> >>>>>>> Based on an out of the box install, you have at this point done >>>>>>> enough that the driver should run (*should*!!!!) >>>>>>> >>>>>>> - run "journalctl -u nut-driver at cyberpower.service -f" in one >>>>>>> terminal while you run "systemctl start >>>>>>> nut-driver at cyberpower.service" in another - what does journalctl >>>>>>> output? >>>>>>> >>>>>>> Assuming it does not start (based on what you have said below), >>>>>>> show the messages. >>>>>>> >>>>>>> If it still does not start as configured above, but you \can/ run >>>>>>> /usr/sbin/usbhid-ups with your environment variables specified >>>>>>> like you had done before, and it *does* run, then do the >>>>>>> following steps to create a systemd drop-in file for the >>>>>>> variable, but make the steps use /run/nut instead of >>>>>>> /var/run/nut: >>>>>>> https://bugzilla.redhat.com/show_bug.cgi?id=2127269#c8? (comment >>>>>>> 8, formatted for ease of reading). You want to get back to the >>>>>>> RH/Fedora default of using /run/nut, not /var/state/ups >>>>>>> >>>>>>> ? 1. uncomment the "STATEPATH /var/run/nut" as already mentioned >>>>>>> ? 2. create: /etc/systemd/system/nut-driver at .service.d/environ.conf >>>>>>> ?? with these two lines: >>>>>>> >>>>>>> ??? [Service] >>>>>>> ??? Environment=NUT_STATEPATH=/var/run/nut >>>>>>> >>>>>>> ? 3. and finally do: systemctl daemon-reload >>>>>>> >>>>>>> ...then try and run systemctl start nut-driver at cyberpower.service >>>>>>> again, while monitoring journalctl. >>>>>>> >>>>>>> If that does not work - then I'm out of ideas at this point >>>>>>> lol... :-D >>>>>>> >>>>>>> 'set' has nothing BTW on my working system related to nut. >>>>>>> >>>>>>>> 2) In /etc/ups/upsd.conf, the original STATEPATH line is >>>>>>>> >>>>>>>> STATEPATH /var/run/nut >>>>>>>> >>>>>>>> Right now the original line is commented and I added another >>>>>>>> line to point at /var/state/ups. >>>>>>>> >>>>>>>> 3) You only asked two questions, but I sense a third might be >>>>>>>> important.? Originally the system had >>>>>>>> /usr/lib/tmpfiles.d/nut-common.conf.? I have modified that file >>>>>>>> and no longer have the original.? I copied that file to >>>>>>>> nut-client.conf, and both have the same contents: >>>>>>>> >>>>>>>> ======================>>>>>>>> # State file (e.g. upsd to driver) and pidfile location for NUT: >>>>>>>> D /var/run/nut 0770 root nut - - >>>>>>>> X /var/run/nut >>>>>>>> =======================>>>>>>>> >>>>>>>> 4) And one more unasked question!? :-)? When I look at the >>>>>>>> environment variables on the system, I see this: >>>>>>>> >>>>>>>> =======================>>>>>>>> [root at mythtv tmpfiles.d]# set | grep -i nut >>>>>>>> _=/etc/ups/nut.conf >>>>>>>> =======================>>>>>>>> >>>>>>>> Bill Gee >>>>>>>> >>>>>>>> On 11/30/22 01:20, Simon Wilson via Nut-upsuser wrote: >>>>>>>>> ----- Message from Bill Gee <bgee at campercaver.net> --------- >>>>>>>>> ?? Date: Tue, 29 Nov 2022 19:25:19 -0600 >>>>>>>>> ?? From: Bill Gee <bgee at campercaver.net> >>>>>>>>> Subject: Re: [Nut-upsuser] NUT no longer works after 2.7 -> 2.8 >>>>>>>>> upgrade >>>>>>>>> ???? To: Jim Klimov <jimklimov+nut at gmail.com> >>>>>>>>> ???? Cc: Arnaud Quette via Nut-upsuser >>>>>>>>> <nut-upsuser at alioth-lists.debian.net> >>>>>>>>> >>>>>>>>>> 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. >>>>>>>>> >>>>>>>>> Hi Bill, >>>>>>>>> >>>>>>>>> Drivers and upsd share defaults (see 'man nutupsdrv'). >>>>>>>>> >>>>>>>>> Your original error message ("writepid: fopen >>>>>>>>> /var/run/usbhid-ups-cyberpower.pid: Permission denied") would >>>>>>>>> seem to indicate, same as the Red Hat bug, that your driver's >>>>>>>>> default pid path is /var/run. >>>>>>>>> >>>>>>>>> The driver by default uses STATEPATH (which can be over-ridden >>>>>>>>> in upsd.conf) to store pid files. The driver .service file is >>>>>>>>> supposed to make sure that path exists by running the >>>>>>>>> ExecStartPre line, which gets its instructions from the >>>>>>>>> referenced ".conf" file from /usr/lib/tmpfiles.d. The .service >>>>>>>>> file then calls 'upsdrvctl start' to start your usbhid-ups >>>>>>>>> driver, as defined in ups.conf. Those all need to align... >>>>>>>>> >>>>>>>>> 2 x questions: >>>>>>>>> >>>>>>>>> 1. Without its comments, what are the active lines (as >>>>>>>>> installed, without any changes) in >>>>>>>>> /usr/lib/systemd/system/nut-driver at .service (or wherever that >>>>>>>>> service file is located on your system)? >>>>>>>>> 2. in your upsd.conf (also as installed, without any changes), >>>>>>>>> what is the commented out STATEPATH you later mention >>>>>>>>> uncommenting? >>>>>>>>> >>>>>>>>>> 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 >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> Nut-upsuser mailing list >>>>>>>> Nut-upsuser at alioth-lists.debian.net >>>>>>>> https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsuser >>>>>>> >>>>>>> ----- End message from Bill Gee <bgee at campercaver.net> ----- >>>>>>> >>>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> Nut-upsuser mailing list >>>>>> Nut-upsuser at alioth-lists.debian.net >>>>>> https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsuser >>>>> >>>>> ----- End message from Bill Gee <bgee at campercaver.net> ----- >>>>> >>>>> >>>> >>>> _______________________________________________ >>>> Nut-upsuser mailing list >>>> Nut-upsuser at alioth-lists.debian.net >>>> https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsuser >>> >>> ----- End message from Bill Gee <bgee at campercaver.net> ----- >>> >>> >> >> _______________________________________________ >> Nut-upsuser mailing list >> Nut-upsuser at alioth-lists.debian.nethttps://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsuser > > ----- End message from Bill Gee <bgee at campercaver.net> ----- >
Simon Wilson
2022-Dec-02 00:35 UTC
[Nut-upsuser] NUT no longer works after 2.7 -> 2.8 upgrade
Resending as original was too big for list acceptance. Hi Bill, /etc/systemd/system/nut-driver at .service.d/environ.conf sets the nut-driver service's environment variable, such that it sees a workable NUT_STATEPATH of /var/run/nut when upsdrvctl is run by the service, regardless of what is set in upsd.conf, and explains why the driver worked yesterday but upsd didn't. Tests which may be interesting: 1. First test:- move nut-driver's environ.conf file to somewhere else temporarily; leave upsd.conf STATEPATH uncommented saying /run/nut; restart nut-driver at cyberpower.service; and see if it runs. This tests to see if it *needs* the drop-in service file *or* will work with only STATEPATH explicitly set in upsd.conf to /run/nut. If this prevents the driver from working, put the environ.conf file back (but edit it, it should say /run/nut, not /var/run/nut) 2. Second test:- copy the edited /etc/systemd/system/nut-driver at .service.d/environ.conf to /etc/systemd/system/nut-server.service.d/environ.conf. So you should at that point have both locations with a file saying [Service] Environment=NUT_STATEPATH=/run/nut Then comment out STATEPATH line (back to default) in upsd.conf and restart nut-server - does it still start, and does it still pop a "Could not find PID file '/var/run/upsd.pid'" message? That tests whether the drop-in file is a better, more consistent fix for now (until the packages are resolved). Calling the nut-server process with that variable set for upsd *even before it reads upsd.conf* may remove the first error 'Could not find PID file '/var/run/upsd.pid'' And definitely document any changes you make to your setup as subsequent package releases will likely change all of this :) Couple more comments inline below. Simon ----- Message from Bill Gee <bgee at campercaver.net> --------- ? ?Date: Thu, 1 Dec 2022 16:49:14 -0600 ? ?From: Bill Gee <bgee at campercaver.net> Subject: Re: [Nut-upsuser] NUT no longer works after 2.7 -> 2.8 upgrade ? ? ?To: nut-upsuser at alioth-lists.debian.net> Checking now - There is a file called > /etc/systemd/system/nut-driver at .service.d/environ.conf.? Its > contents are > > =========================> [root at mythtv nut-driver at .service.d]# ll > total 8 > -rw-r--r-- 1 root root 49 Nov 29 18:14 environ.conf > -rw-r--r-- 1 root root 81 Nov 30 18:58 > nut-driver-enumerator-generated-checksum.conf > > [root at mythtv nut-driver at .service.d]# cat environ.conf > [Service] > Environment=NUT_STATEPATH=/var/run/nut > > =========================> > Which explains, I think, much of the problem.? I do not remember > putting that file in place.? However, it is dated 29 Nov, just a > couple of days ago, so it was probably me who did it.It's not a default file, so yes it was you - this was a suggestion I made earlier in the week (although I suggested it should say /run/nut not /var/run/nut), and with it there explains why the driver works before you uncommented STATEPATH in upsd.conf.> > Should I delete the file?? Or change it to use /run/nut?See comments on tests at the top of this email.> > And that raises another interesting question:? Since /var/run and > /run are effectively the same thing, why does /run work and /var/run > not work?What makes you think one works and the other does not? They *are* functionally the same thing (excepting a harmless warning message about using /var).> > ==============> Bill Gee > > On 12/1/22 16:38, Simon Wilson via Nut-upsuser wrote: >> Working nut-driver, working nut-server. That's a lot further than >> you were on Tuesday. >> >> It's a little odd that nut-driver worked without STATEPATH being >> uncommented in upsd.conf but nut-server needed the change. >> @Jim, without digging into source, any reason why that would be the case? >> @Bill, you didn't end up doing an 'environ.conf'-style drop-in file >> at '/etc/systemd/system/nut-driver at .service.d/' did you (as that >> would explain the difference between the two services)? >> >> You will need to enable nut.target to have things start on boot, >> and reboot to make sure everything starts OK. >> >> Simon >> >> ----- Message from Bill Gee <bgee at campercaver.net> --------- >> ? ?Date: Thu, 1 Dec 2022 10:43:04 -0600 >> ? ?From: Bill Gee <bgee at campercaver.net> >> Subject: Re: [Nut-upsuser] NUT no longer works after 2.7 -> 2.8 upgrade >> ? ? ?To: nut-upsuser at alioth-lists.debian.net >> >>> My email client (Thunderbird) does not truncate, but it does >>> wrap.? The truncations come from the way systemctl runs its output >>> through a pager. When I copy-paste from the bash session, it >>> truncates at the right edge of the window.? ?I need to use the >>> --full and --no-pager options to get the full text, which will be >>> wrapped as needed. >>> >>> Here is the output from upsd -DD: >>> >>> ==================================>>> [root at mythtv ~]# upsd -DD >>> Network UPS Tools upsd 2.8.0 >>> ? 0.000000? ? ?fopen /var/run/upsd.pid: No such file or directory >>> ? 0.000030? ? ?Could not find PID file '/var/run/upsd.pid' to see >>> if previous upsd instance is already running! >>> >>> ? 0.000250? ? ?[D1] debug level is '2' >>> ? 0.000335? ? ?listening on ::1 port 3493 >>> ? 0.000375? ? ?listening on 127.0.0.1 port 3493 >>> ? 0.001417? ? ?/var/run is world readable >>> ? 0.001557? ? ?Can't connect to UPS [cyberpower] >>> (usbhid-ups-cyberpower): No such file or directory >>> ? 0.002315? ? ?Running as foreground process, not saving a PID file >>> ? 0.002337? ? ?[D1] mainloop: UPS [cyberpower] is not currently connected >>> ? 0.002377? ? ?[D1] mainloop: UPS [cyberpower] is now connected as FD -1 >>> ? 0.002399? ? ?[D2] mainloop: polling 2 filedescriptors >>> ? 2.003794? ? ?[D2] mainloop: no data available >>> ? 2.003842? ? ?[D1] mainloop: UPS [cyberpower] is not currently connected >>> ? 2.003897? ? ?[D1] mainloop: UPS [cyberpower] is now connected as FD -1 >>> ? 2.003917? ? ?[D2] mainloop: polling 2 filedescriptors >>> ? 4.005963? ? ?[D2] mainloop: no data available >>> ? 4.006009? ? ?[D1] mainloop: UPS [cyberpower] is not currently connected >>> ? 4.006054? ? ?[D1] mainloop: UPS [cyberpower] is now connected as FD -1 >>> ? 4.006073? ? ?[D2] mainloop: polling 2 filedescriptors >>> ? 6.008122? ? ?[D2] mainloop: no data available >>> =============================>>> >>> Just for grins, I edited /etc/ups/upsd.conf to uncomment the >>> STATEPATH line.? I set it to /run/nut.? When I ran upsd -DD again, >>> it was still looking at /var/run.? However!? It successfully >>> connected to the cyberpower device.? Upsc returns good information. >>> >>> ================================>>> [root at mythtv ups]# upsd -DD >>> Network UPS Tools upsd 2.8.0 >>> ? 0.000000? ? ?fopen /var/run/upsd.pid: No such file or directory >>> ? 0.000037? ? ?Could not find PID file '/var/run/upsd.pid' to see >>> if previous upsd instance is already running! >>> >>> ? 0.000271? ? ?[D1] debug level is '2' >>> ? 0.000357? ? ?listening on ::1 port 3493 >>> ? 0.000395? ? ?listening on 127.0.0.1 port 3493 >>> ? 0.001550? ? ?Connected to UPS [cyberpower]: usbhid-ups-cyberpower >>> ? 0.002323? ? ?Running as foreground process, not saving a PID file >>> ? 0.002347? ? ?[D2] mainloop: polling 3 filedescriptors >>> ? 0.002423? ? ?[D2] mainloop: polling 3 filedescriptors >>> ? 0.002493? ? ?[D2] mainloop: polling 3 filedescriptors >>> ? 0.002570? ? ?[D2] mainloop: polling 3 filedescriptors >>> ? 0.002648? ? ?[D2] mainloop: polling 3 filedescriptors >>> ? 0.002701? ? ?[D2] mainloop: polling 3 filedescriptors >>> ? 2.004311? ? ?[D2] mainloop: no data available >>> ? 2.004352? ? ?[D2] mainloop: polling 3 filedescriptors >>> ? 4.006061? ? ?[D2] mainloop: no data available >>> >>> [root at mythtv ups]# systemctl --full --no-pager status nut-server >>> ? nut-server.service - Network UPS Tools - power devices information server >>> ? ? Loaded: loaded (/usr/lib/systemd/system/nut-server.service; >>> disabled; preset: disabled) >>> ? ? Active: active (running) since Thu 2022-12-01 10:35:01 CST; 18s ago >>> ? Main PID: 3445 (upsd) >>> ? ? ?Tasks: 1 (limit: 9482) >>> ? ? Memory: 732.0K >>> ? ? ? ?CPU: 4ms >>> ? ? CGroup: /system.slice/nut-server.service >>> ? ? ? ? ? ? ??3445 /usr/sbin/upsd -F >>> >>> Dec 01 10:35:01 mythtv.billgee.local nut-server[3445]: fopen >>> /var/run/upsd.pid: No such file or directory >>> Dec 01 10:35:01 mythtv.billgee.local nut-server[3445]: Could not >>> find PID file '/var/run/upsd.pid' to see if previous upsd instance >>> is already running! >>> Dec 01 10:35:01 mythtv.billgee.local nut-server[3445]: listening >>> on ::1 port 3493 >>> Dec 01 10:35:01 mythtv.billgee.local nut-server[3445]: listening >>> on 127.0.0.1 port 3493 >>> Dec 01 10:35:01 mythtv.billgee.local upsd[3445]: listening on ::1 port 3493 >>> Dec 01 10:35:01 mythtv.billgee.local upsd[3445]: listening on >>> 127.0.0.1 port 3493 >>> Dec 01 10:35:01 mythtv.billgee.local nut-server[3445]: Connected >>> to UPS [cyberpower]: usbhid-ups-cyberpower >>> Dec 01 10:35:01 mythtv.billgee.local upsd[3445]: Connected to UPS >>> [cyberpower]: usbhid-ups-cyberpower >>> Dec 01 10:35:01 mythtv.billgee.local upsd[3445]: Running as >>> foreground process, not saving a PID file >>> Dec 01 10:35:01 mythtv.billgee.local nut-server[3445]: Running as >>> foreground process, not saving a PID file >>> >>> [root at mythtv ups]# upsc cyberpower at localhost >>> battery.charge: 100 >>> battery.charge.low: 10 >>> battery.charge.warning: 20 >>> battery.mfr.date: CPS >>> battery.runtime: 2100 >>> battery.runtime.low: 300 >>> battery.type: PbAcid >>> battery.voltage: 13.3 >>> battery.voltage.nominal: 12 >>> device.mfr: CPS >>> device.model: UPS CP1000AVRLCD >>> device.type: ups >>> driver.name: usbhid-ups >>> [-- snip --] >>> >>> ==============>>> Bill Gee >>> >>> On 12/1/22 06:41, Simon Wilson via Nut-upsuser wrote: >>>> Hi Bill, well at least you now have a fully operating, >>>> starts-on-reboot driver - so that is progress. One thing we need >>>> to know which I asked but you've not answered: >>>> "Did you need to add the environment drop-in file? At which step >>>> did it work?" The answer to that may change next step. >>>> >>>> nut-server *should* just work if there is a driver available and running. >>>> >>>> OK, run: >>>> >>>> ?systemctl disable nut-server (stop it trying to run automatically) >>>> ?upsd -DD >>>> >>>> And then Ctrl-C to stop it once you have got output to screen >>>> with startup messages. >>>> >>>> Then copy back here the output from upsd -DD, preferably without >>>> truncating lines which your mail client seems to do :( >>>> >>>> I'm pretty sure that nut-server is using /var/run as its >>>> STATEPATH. Can you also include your upsd.conf, minus commented >>>> lines. >>>> >>>> Simon. >>>> >>>> ----- Message from Bill Gee <bgee at campercaver.net> --------- >>>> ?? Date: Thu, 1 Dec 2022 06:14:10 -0600 >>>> ?? From: Bill Gee <bgee at campercaver.net> >>>> Subject: Re: [Nut-upsuser] NUT no longer works after 2.7 -> 2.8 upgrade >>>> ???? To: nut-upsuser at alioth-lists.debian.net >>>> >>>>> Hi Simon - >>>>> >>>>> I modified /usr/lib/tmpfiles.d/nut-client to use /run instead of >>>>> /var/run.? I checked the startup status of the nut services. >>>>> >>>>> ================>>>>> [root at mythtv ~]# systemctl list-unit-files | grep -i nut >>>>> nut-driver-enumerator.path? enabled???????? disabled >>>>> nut-driver-enumerator.service? enabled???????? disabled >>>>> nut-driver at .service? indirect??????? disabled >>>>> nut-monitor.service? disabled??????? disabled >>>>> nut-server.service? enabled???????? disabled >>>>> nut-driver.target? disabled??????? disabled >>>>> nut.target? disabled??????? disabled >>>>> =========================>>>>> >>>>> I did a shutdown/reboot on the system.? The usbhid driver loaded >>>>> without errors and did not complain about /var/run.? /run/nut >>>>> exists and contains the expected two files. >>>>> >>>>> nut-server also started since it is set to "enabled", but failed >>>>> to connect to the driver.? It complains about "no such file or >>>>> directory". What file is it looking for?? I ran journalctl on it >>>>> but got nothing more than what systemctl status reports. >>>>> >>>>> ==========================>>>>> [root at mythtv ~]# systemctl status nut-driver at cyberpower >>>>> ? nut-driver at cyberpower.service - Network UPS Tools - device >>>>> driver for NUT device 'cyberpower' >>>>> ???? Loaded: loaded >>>>> (/usr/lib/systemd/system/nut-driver at .service; enabled; preset: >>>>> disabled) >>>>> ??? Drop-In: /etc/systemd/system/nut-driver at .service.d >>>>> ???????????? ??environ.conf >>>>> ???????????? /etc/systemd/system/nut-driver at cyberpower.service.d >>>>> ???????????? ??nut-driver-enumerator-generated-checksum.conf, >>>>> nut-driver-enumerator-generated.conf >>>>> ???? Active: active (running) since Thu 2022-12-01 05:56:04 CST; 9min ago >>>>> ??? Process: 712 ExecStartPre=/usr/bin/systemd-tmpfiles --create >>>>> /usr/lib/tmpfiles.d/nut-client.conf (code=exited, stat> >>>>> ??? Process: 719 ExecStart=/bin/sh -c >>>>> NUTDEV="`/usr/libexec/nut-driver-enumerator.sh >>>>> --get-device-for-service cyberpowe> >>>>> ?? Main PID: 791 (usbhid-ups) >>>>> ????? Tasks: 1 (limit: 9482) >>>>> ???? Memory: 2.9M >>>>> ??????? CPU: 113ms >>>>> ???? CGroup: >>>>> /system.slice/system-nut\x2ddriver.slice/nut-driver at cyberpower.service >>>>> ???????????? ??791 /usr/sbin/usbhid-ups -a cyberpower >>>>> >>>>> Dec 01 05:56:04 mythtv.billgee.local nut-driver at cyberpower[787]: >>>>> Using subdriver: CyberPower HID 0.6 >>>>> Dec 01 05:56:04 mythtv.billgee.local nut-driver at cyberpower[787]: >>>>> Network UPS Tools - Generic HID driver 0.47 (2.8.0) >>>>> Dec 01 05:56:04 mythtv.billgee.local nut-driver at cyberpower[787]: >>>>> USB communication driver (libusb 1.0) 0.43 >>>>> Dec 01 05:56:04 mythtv.billgee.local nut-driver at cyberpower[787]: >>>>> cps_adjust_battery_scale: battery readings will be sca> >>>>> Dec 01 05:56:04 mythtv.billgee.local nut-driver at cyberpower[719]: >>>>> Network UPS Tools - UPS driver controller 2.8.0 >>>>> Dec 01 05:56:04 mythtv.billgee.local usbhid-ups[791]: Startup successful >>>>> >>>>> [root at mythtv ~]# 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 Thu 2022-12-01 05:56:07 CST; 9min ago >>>>> ?? Main PID: 809 (upsd) >>>>> ????? Tasks: 1 (limit: 9482) >>>>> ???? Memory: 1000.0K >>>>> ??????? CPU: 15ms >>>>> ???? CGroup: /system.slice/nut-server.service >>>>> ???????????? ??809 /usr/sbin/upsd -F >>>>> >>>>> Dec 01 05:56:08 mythtv.billgee.local upsd[809]: listening on ::1 >>>>> port 3493 >>>>> Dec 01 05:56:08 mythtv.billgee.local upsd[809]: listening on >>>>> 127.0.0.1 port 3493 >>>>> Dec 01 05:56:08 mythtv.billgee.local nut-server[809]: /var/run >>>>> is world readable >>>>> Dec 01 05:56:08 mythtv.billgee.local nut-server[809]: Can't >>>>> connect to UPS [cyberpower] (usbhid-ups-cyberpower): No suc> >>>>> Dec 01 05:56:08 mythtv.billgee.local upsd[809]: /var/run is >>>>> world readable >>>>> Dec 01 05:56:08 mythtv.billgee.local upsd[809]: Can't connect to >>>>> UPS [cyberpower] (usbhid-ups-cyberpower): No such file> >>>>> Dec 01 05:56:10 mythtv.billgee.local nut-server[809]: Running as >>>>> foreground process, not saving a PID file >>>>> Dec 01 05:56:10 mythtv.billgee.local upsd[809]: Running as >>>>> foreground process, not saving a PID file >>>>> Dec 01 06:01:08 mythtv.billgee.local nut-server[809]: Can't >>>>> connect to UPS [cyberpower] (usbhid-ups-cyberpower): No suc> >>>>> Dec 01 06:01:08 mythtv.billgee.local upsd[809]: Can't connect to >>>>> UPS [cyberpower] (usbhid-ups-cyberpower): No such file> >>>>> ===============================>>>>> >>>>> ==============>>>>> Bill Gee >>>>> >>>>> On 11/30/22 21:14, Simon Wilson via Nut-upsuser wrote: >>>>>> ----- Message from Bill Gee <bgee at campercaver.net> --------- >>>>>> ?? Date: Wed, 30 Nov 2022 19:26:46 -0600 >>>>>> ?? From: Bill Gee <bgee at campercaver.net> >>>>>> Subject: Re: [Nut-upsuser] NUT no longer works after 2.7 -> 2.8 upgrade >>>>>> ???? To: nut-upsuser at alioth-lists.debian.net >>>>>> >>>>>>> Hi Simon - >>>>>>> >>>>>>> I ran through the steps you gave below.? To quote >>>>>>> Gilbert&Sullivan ... "Modified Rapture!"? I suppose I should >>>>>>> try a reboot to make sure everything starts properly. >>>>>> >>>>>> Not yet with the reboot. Baby steps... :) you have a driver >>>>>> running from the service file! Celebrations are in order. >>>>>> >>>>>> Did you need to add the environment drop-in file? At which step >>>>>> did it work? >>>>>> >>>>>>> But first, there is a problem with upsc. Also nut-server >>>>>>> complains that it cannot connect to the device. >>>>>> >>>>>> Ok, that's next... your comments are wrong way around :) >>>>>> nut-server not starting is why upsc doesn't give you anything. >>>>>> >>>>>>> /run/nut exists and contains two files. >>>>>>> >>>>>>> Here are some outputs: >>>>>>> >>>>>>> =====================================>>>>>>> [root at mythtv ~]# journalctl -u nut-driver at cyberpower.service -f >>>>>>> Nov 30 19:00:20 mythtv.billgee.local systemd[1]: Starting >>>>>>> nut-driver at cyberpower.service - Network UPS Tools - device >>>>>>> driver for NUT device 'cyberpower'... >>>>>>> Nov 30 19:00:20 mythtv.billgee.local systemd-tmpfiles[28689]: >>>>>>> /usr/lib/tmpfiles.d/nut-client.conf:2: Line references path >>>>>>> below legacy directory /var/run/, updating /var/run/nut ? >>>>>>> /run/nut; please update the tmpfiles.d/ drop-in file >>>>>>> accordingly. >>>>>> >>>>>> That line is the "noise" error I mentioned. Edit >>>>>> /usr/lib/tmpfiles.d/nut-client.conf to read /run/nut, not >>>>>> /var/run/nut >>>>>> >>>>>>> Nov 30 19:00:20 mythtv.billgee.local systemd-tmpfiles[28689]: >>>>>>> /usr/lib/tmpfiles.d/nut-client.conf:3: Line references path >>>>>>> below legacy directory /var/run/, updating /var/run/nut ? >>>>>>> /run/nut; please update the tmpfiles.d/ drop-in file >>>>>>> accordingly. >>>>>> >>>>>> Ditto, although you probably don't need line 3 in the file anyway. >>>>>> >>>>>>> Nov 30 19:00:21 mythtv.billgee.local >>>>>>> nut-driver at cyberpower[28719]: Using subdriver: CyberPower HID >>>>>>> 0.6 >>>>>>> Nov 30 19:00:21 mythtv.billgee.local >>>>>>> nut-driver at cyberpower[28719]: Network UPS Tools - Generic HID >>>>>>> driver 0.47 (2.8.0) >>>>>>> Nov 30 19:00:21 mythtv.billgee.local >>>>>>> nut-driver at cyberpower[28719]: USB communication driver (libusb >>>>>>> 1.0) 0.43 >>>>>>> Nov 30 19:00:21 mythtv.billgee.local >>>>>>> nut-driver at cyberpower[28719]: cps_adjust_battery_scale: >>>>>>> battery readings will be scaled by 2/3 >>>>>>> Nov 30 19:00:21 mythtv.billgee.local usbhid-ups[28769]: >>>>>>> Startup successful >>>>>>> Nov 30 19:00:21 mythtv.billgee.local >>>>>>> nut-driver at cyberpower[28691]: Network UPS Tools - UPS driver >>>>>>> controller 2.8.0 >>>>>>> Nov 30 19:00:21 mythtv.billgee.local systemd[1]: Started >>>>>>> nut-driver at cyberpower.service - Network UPS Tools - device >>>>>>> driver for NUT device 'cyberpower'. >>>>>>> >>>>>>> [root at mythtv ups]# ll /run/nut >>>>>>> total 4 >>>>>>> srw-rw---- 1 nut nut 0 Nov 30 19:00 usbhid-ups-cyberpower >>>>>>> -rw-r--r-- 1 nut nut 6 Nov 30 19:00 usbhid-ups-cyberpower.pid >>>>>>> >>>>>>> [root at mythtv ups]# systemctl --no-pager --full 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 Wed 2022-11-30 19:06:53 >>>>>>> CST; 13min ago >>>>>>> ?? Main PID: 28918 (upsd) >>>>>>> ????? Tasks: 1 (limit: 9482) >>>>>>> ???? Memory: 736.0K >>>>>>> ??????? CPU: 20ms >>>>>>> ???? CGroup: /system.slice/nut-server.service >>>>>>> ???????????? ??28918 /usr/sbin/upsd -F >>>>>>> >>>>>>> Nov 30 19:06:53 mythtv.billgee.local nut-server[28918]: >>>>>>> /var/run is world readable >>>>>>> Nov 30 19:06:53 mythtv.billgee.local upsd[28918]: /var/run is >>>>>>> world readable >>>>>>> Nov 30 19:06:53 mythtv.billgee.local upsd[28918]: Can't >>>>>>> connect to UPS [cyberpower] (usbhid-ups-cyberpower): >>>>>>> Connection refused >>>>>>> Nov 30 19:06:53 mythtv.billgee.local nut-server[28918]: Can't >>>>>>> connect to UPS [cyberpower] (usbhid-ups-cyberpower): >>>>>>> Connection refused >>>>>>> Nov 30 19:06:53 mythtv.billgee.local nut-server[28918]: >>>>>>> Running as foreground process, not saving a PID file >>>>>>> Nov 30 19:06:53 mythtv.billgee.local upsd[28918]: Running as >>>>>>> foreground process, not saving a PID file >>>>>>> Nov 30 19:11:53 mythtv.billgee.local nut-server[28918]: Can't >>>>>>> connect to UPS [cyberpower] (usbhid-ups-cyberpower): >>>>>>> Connection refused >>>>>>> Nov 30 19:11:53 mythtv.billgee.local upsd[28918]: Can't >>>>>>> connect to UPS [cyberpower] (usbhid-ups-cyberpower): >>>>>>> Connection refused >>>>>>> Nov 30 19:16:53 mythtv.billgee.local nut-server[28918]: Can't >>>>>>> connect to UPS [cyberpower] (usbhid-ups-cyberpower): >>>>>>> Connection refused >>>>>>> Nov 30 19:16:53 mythtv.billgee.local upsd[28918]: Can't >>>>>>> connect to UPS [cyberpower] (usbhid-ups-cyberpower): >>>>>>> Connection refused >>>>>>> >>>>>>> [root at mythtv ups]# ps ax | grep ups >>>>>>> ??? 768 ???????? Ss???? 0:00 /usr/sbin/cupsd -l >>>>>>> ??? 773 ???????? Ss???? 0:00 sshd: /usr/sbin/sshd -D >>>>>>> [listener] 0 of 10-100 startups >>>>>>> ? 28769 ???????? Ss???? 0:00 /usr/sbin/usbhid-ups -a cyberpower >>>>>>> ? 28918 ???????? Ss???? 0:00 /usr/sbin/upsd -F >>>>>>> ? 28929 pts/1??? S+???? 0:00 grep --color=auto ups >>>>>>> >>>>>>> [root at mythtv ups]# upsc cyberpower at localhost >>>>>>> Error: Driver not connected >>>>>> >>>>>> upsc won't work without nut-server running, so this is expected >>>>>> based on the above failure to start nut-server. >>>>>> >>>>>>> ? >>>>>> >>>>>> So... next. >>>>>> >>>>>> Fix nut-client.conf contents, and make sure that you can start >>>>>> / restart the driver as needed with no errors. Set >>>>>> nut-driver at cyberpower.service to enabled for autostart, so with >>>>>> ONLY the enumerator services and nut-driver at cyberpower.service >>>>>> enabled, you should see something like the following for >>>>>> 'systemctl list-unit-files | grep -i nut': >>>>>> >>>>>> [root at emp80 ups]# systemctl list-unit-files | grep -i nut >>>>>> nut-driver-enumerator.path? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? >>>>>> ? ? ?? enabled >>>>>> nut-driver-enumerator.service? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? >>>>>> ? ? ??? enabled >>>>>> nut-driver at .service? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? >>>>>> ? ? ??? indirect >>>>>> nut-monitor.service? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? >>>>>> ? ? ??? disabled >>>>>> nut-server.service? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? >>>>>> ? ? ?? disabled >>>>>> nut-driver.target? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? >>>>>> ? ? ??? disabled >>>>>> nut.target? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? >>>>>> ? ? ?? disabled >>>>>> >>>>>> Stop any running nut processes, and reboot. On reboot the only >>>>>> thing that should autostart is nut-driver at cyberpower.service >>>>>> (from the 'indirect' call via nut-driver at .service). upsc will >>>>>> still not work. >>>>>> >>>>>> Monitor the driver for a while 'journalctl -u >>>>>> nut-driver at cyberpower.service -f' and make sure it is stable >>>>>> and stays connected - google searches show some flakiness with >>>>>> some cyberpower UPSs. >>>>>> >>>>>> Once you are confident that the driver is reliable, starting OK >>>>>> and staying up then move on to nut-server. >>>>>> >>>>>> I'll check in this evening and we can do some more digging on that. >>>>>> >>>>>> Simon >>>>>> >>>>>>> ==============>>>>>>> Bill Gee >>>>>>> >>>>>>> On 11/30/22 07:21, Simon Wilson via Nut-upsuser wrote: >>>>>>>> Comments inline. >>>>>>>> >>>>>>>> ----- Message from Bill Gee <bgee at campercaver.net> --------- >>>>>>>> ?? Date: Wed, 30 Nov 2022 06:04:14 -0600 >>>>>>>> ?? From: Bill Gee <bgee at campercaver.net> >>>>>>>> Subject: Re: [Nut-upsuser] NUT no longer works after 2.7 -> >>>>>>>> 2.8 upgrade >>>>>>>> ???? To: nut-upsuser at alioth-lists.debian.net >>>>>>>> >>>>>>>>> Hi Simon -- >>>>>>>>> >>>>>>>>> Yes, I am pretty sure this is the RedHat packaging problem.? >>>>>>>>> I sure hope they get it squared away.? I have only one >>>>>>>>> system using nut and that is because all my other systems >>>>>>>>> have APC battery backup and run apcupsd. Apcupsd may be old, >>>>>>>>> grey and unmaintained, but it Just Works. >>>>>>>>> >>>>>>>>> You mention that the STATEPATH line in upsd.conf will >>>>>>>>> override other settings.? It does not appear to be the case >>>>>>>>> for me.? The only way I could get the driver to run was by >>>>>>>>> setting NUT_STATEPATH on the command line.? Perhaps that is >>>>>>>>> an issue with the driver and not nut-server? >>>>>>>>> >>>>>>>>> In answer to your questions: >>>>>>>>> >>>>>>>>> 1) /usr/lib/systemd/system/nut-driver at .service exists.? I >>>>>>>>> have made no changes to it so far.? Here are the contents, >>>>>>>>> unfortunately line-wrapped by Thunderbird. >>>>>>>>> >>>>>>>>> ===============================>>>>>>>>> [root at mythtv system]# grep -v '^#' nut-driver at .service >>>>>>>>> [Unit] >>>>>>>>> Description=Network UPS Tools - device driver for %I >>>>>>>>> After=local-fs.target >>>>>>>>> >>>>>>>>> PartOf=nut-driver.target >>>>>>>>> >>>>>>>>> [Service] >>>>>>>>> EnvironmentFile=-/etc/ups/nut.conf >>>>>>>>> SyslogIdentifier=%N >>>>>>>>> ExecStartPre=-/usr/bin/systemd-tmpfiles --create >>>>>>>>> /usr/lib/tmpfiles.d/nut-client.conf >>>>>>>>> ExecStart=/bin/sh -c >>>>>>>>> 'NUTDEV="`/usr/libexec/nut-driver-enumerator.sh >>>>>>>>> --get-device-for-service %i`" && [ -n "$NUTDEV" ] || { echo >>>>>>>>> "FATAL: Could not find a NUT device section for service unit >>>>>>>>> %i" >&2 ; exit 1 ; } ; /usr/sbin/upsdrvctl start "$NUTDEV"' >>>>>>>>> ExecStop=/bin/sh -c >>>>>>>>> 'NUTDEV="`/usr/libexec/nut-driver-enumerator.sh >>>>>>>>> --get-device-for-service %i`" && [ -n "$NUTDEV" ] || { echo >>>>>>>>> "FATAL: Could not find a NUT device section for service unit >>>>>>>>> %i" >&2 ; exit 1 ; } ; /usr/sbin/upsdrvctl stop "$NUTDEV"' >>>>>>>>> StartLimitInterval=0 >>>>>>>>> Restart=always >>>>>>>>> RestartSec=15s >>>>>>>>> Type=forking >>>>>>>>> >>>>>>>>> [Install] >>>>>>>>> WantedBy=nut-driver.target >>>>>>>>> ==================================>>>>>>>> >>>>>>>> OK, so that's the same as mine. It's ExecStartPre task is to >>>>>>>> create the pid folder from your answer to the third (unasked) >>>>>>>> question :) which is that outlined in >>>>>>>> /usr/lib/tmpfiles.d/nut-client.conf >>>>>>>> >>>>>>>> You have /var/run/nut 0770 root nut - so systemd should >>>>>>>> ensure that exists. >>>>>>>> >>>>>>>> By the way, having it with "/var/run/nut" will trigger a >>>>>>>> 'noise' error about the "/var" path - change it to just be >>>>>>>> /run/nut in nut-client.conf. >>>>>>>> >>>>>>>> As a test, what happens if you: >>>>>>>> >>>>>>>> - make sure nut.conf has MODE=standalone >>>>>>>> - make sure ALL nut services are stopped, i.e. 'ps -ax | grep >>>>>>>> ups' should give you only the grep process as an answer >>>>>>>> - delete /run/nut folder (it will get re-created automatically) >>>>>>>> - take /etc/ups/upsd.conf back to have commented out >>>>>>>> STATEPATH as distributed in the package >>>>>>>> - run "systemctl enable nut-driver-enumerator.path >>>>>>>> nut-driver-enumerator.service --now" - this will enable and >>>>>>>> start the services that monitor ups.conf for changes and then >>>>>>>> write the actual driver service file; the second one also >>>>>>>> runs early in boot and ensures that the service file exists >>>>>>>> and is correct. >>>>>>>> - run 'nut-scanner -U' and copy its output into ups.conf >>>>>>>> instead of your current definition with name heading >>>>>>>> [cyberpower], save and exit: this will trigger the above >>>>>>>> enumerators to run and re-do the >>>>>>>> nut-driver at cyberpower.service file >>>>>>>> >>>>>>>> Based on an out of the box install, you have at this point >>>>>>>> done enough that the driver should run (*should*!!!!) >>>>>>>> >>>>>>>> - run "journalctl -u nut-driver at cyberpower.service -f" in one >>>>>>>> terminal while you run "systemctl start >>>>>>>> nut-driver at cyberpower.service" in another - what does >>>>>>>> journalctl output? >>>>>>>> >>>>>>>> Assuming it does not start (based on what you have said >>>>>>>> below), show the messages. >>>>>>>> >>>>>>>> If it still does not start as configured above, but you \can/ >>>>>>>> run /usr/sbin/usbhid-ups with your environment variables >>>>>>>> specified like you had done before, and it *does* run, then >>>>>>>> do the following steps to create a systemd drop-in file for >>>>>>>> the variable, but make the steps use /run/nut instead of >>>>>>>> /var/run/nut:? >>>>>>>> https://bugzilla.redhat.com/show_bug.cgi?id=2127269#c8? >>>>>>>> (comment 8, formatted for ease of reading). You want to get >>>>>>>> back to the RH/Fedora default of using /run/nut, not >>>>>>>> /var/state/ups >>>>>>>> >>>>>>>> ? 1. uncomment the "STATEPATH /var/run/nut" as already mentioned >>>>>>>> ? 2. create: /etc/systemd/system/nut-driver at .service.d/environ.conf >>>>>>>> ?? with these two lines: >>>>>>>> >>>>>>>> ??? [Service] >>>>>>>> ??? Environment=NUT_STATEPATH=/var/run/nut >>>>>>>> >>>>>>>> ? 3. and finally do: systemctl daemon-reload >>>>>>>> >>>>>>>> ...then try and run systemctl start >>>>>>>> nut-driver at cyberpower.service again, while monitoring >>>>>>>> journalctl. >>>>>>>> >>>>>>>> If that does not work - then I'm out of ideas at this point lol... :-D >>>>>>>> >>>>>>>> 'set' has nothing BTW on my working system related to nut. >>>>>>>> >>>>>>>>> 2) In /etc/ups/upsd.conf, the original STATEPATH line is >>>>>>>>> >>>>>>>>> STATEPATH /var/run/nut >>>>>>>>> >>>>>>>>> Right now the original line is commented and I added another >>>>>>>>> line to point at /var/state/ups. >>>>>>>>> >>>>>>>>> 3) You only asked two questions, but I sense a third might >>>>>>>>> be important.? Originally the system had >>>>>>>>> /usr/lib/tmpfiles.d/nut-common.conf.? I have modified that >>>>>>>>> file and no longer have the original.? I copied that file to >>>>>>>>> nut-client.conf, and both have the same contents: >>>>>>>>> >>>>>>>>> ======================>>>>>>>>> # State file (e.g. upsd to driver) and pidfile location for NUT: >>>>>>>>> D /var/run/nut 0770 root nut - - >>>>>>>>> X /var/run/nut >>>>>>>>> =======================>>>>>>>>> >>>>>>>>> 4) And one more unasked question!? :-)? When I look at the >>>>>>>>> environment variables on the system, I see this: >>>>>>>>> >>>>>>>>> =======================>>>>>>>>> [root at mythtv tmpfiles.d]# set | grep -i nut >>>>>>>>> _=/etc/ups/nut.conf >>>>>>>>> =======================>>>>>>>>><snip to reduce message size> -- Simon Wilson M: 0400 12 11 16