How amazing! It's working now!!!(/usr/local/ups/bin/usbhid-ups -DDDD -a UPS -k) I will test this more deeply. 15.05.2025 17:26, Jim Klimov:> You wanted fixed code, so you should download what was proposed for > the PR that may fix or not fix the problem. It was not merged yet. > > TBH I've never tried to download archives prepared by GitHub on its > own, but assuming from your earlier examples that this way of code > delivery is usable, you need to get this: > > https://github.com/networkupstools/nut/pull/2955 > => jimklimov <https://github.com/jimklimov> wants to merge 5 commits > into networkupstools:master > <https://github.com/networkupstools/nut/tree/master>from > jimklimov:sdcommands-args > <https://github.com/jimklimov/nut/tree/sdcommands-args> > => https://github.com/jimklimov/nut/tree/sdcommands-args > => Code => ZIP => > https://github.com/jimklimov/nut/archive/refs/heads/sdcommands-args.zip > > But why would you not just use git? :) > > :; git clone https://github.com/jimklimov/nut -b sdcommands-args > :; cd nut > ... > > Hope this helps, > Jim Klimov > > PS: Inspired by that specific change, a bigger PR was also proposed at > https://github.com/networkupstools/nut/pull/2957 to also consistently > log the processing of instcmd and setvar operations. Previously all > drivers tended to do this differently, which made troubleshooting > harder. Now they would all follow the same logic and message > structure, at least in broad strokes, and specifically would try to > syslog any operations that can impact power delivery to the useful load. > > > On Thu, May 15, 2025 at 3:44?PM Alexey Korobeinikov > <alexey at fseafood.com> wrote: > > I downlod this: > https://github.com/networkupstools/nut > Code->Download ZIP. > > > 15.05.2025 16:17, Jim Klimov: >> Seems you did not build the PR source branch, usbhid-ups version >> there should be 0.64. >> >> Jim >> >> On Thu, May 15, 2025, 13:04 Alexey Korobeinikov >> <alexey at fseafood.com> wrote: >> >> After reseting usb (usbreset 0d9f:0004), I can connect to >> UPS. But still have problem to shuting down the UPS: >> >> /usr/local/ups/bin/usbhid-ups -DDDD -a UPS -k >> Network UPS Tools 2.8.3.1 (development iteration after 2.8.3) >> - Generic HID driver 0.63 >> USB communication driver (libusb 1.0) 0.50 >> ??0.000000 ????[D1] upsdrv_makevartable... >> ??0.000078 ????[D1] Using USB implementation: libusb-1.0.26 >> (API: 0x01000109) >> ??0.000238 ????[D3] main_arg: var='driver' val='usbhid-ups' >> ??0.000253 ????[D3] main_arg: var='vendorid' val='0d9f' >> ??0.000272 ????[D3] main_arg: var='productid' val='0004' >> ??0.000289 ????[D3] main_arg: var='port' val='auto' >> ??0.000310 ????[D3] main_arg: var='pollinterval' val='2' >> ... >> ? 0.004914 ????[D2] Checking device 4 of 10 (0D9F/0004) >> ??0.019235 ????[D2] - VendorID: 0d9f >> ??0.019276 ????[D2] - ProductID: 0004 >> ??0.019282 ????[D2] - Manufacturer: POWERCOM Co.,LTD >> ??0.019288 ????[D2] - Product: HID UPS Battery >> ??0.019293 ????[D2] - Serial Number: 004-0D9F-000 >> ??0.019298 ????[D2] - Bus: 006 >> ??0.019303 ????[D2] - Bus Port: 002 >> ??0.019308 ????[D2] - Device: 003 >> ??0.019313 ????[D2] - Device release number: 0002 >> ??0.019318 ????[D2] Trying to match device >> ??0.019327 ????[D2] match_function_subdriver (non-SHUT mode): >> matching a device... >> ??0.019347 ????[D3] match_function_regex: matching a device... >> ??0.019420 ????[D2] Device matches >> ??0.019438 ????[D2] Reading configuration descriptor 1 of 1 >> ??0.019479 ????[D3] libusb_kernel_driver_active() returned 0: >> Success >> ??0.019516 ????[D2] Claimed interface 0 successfully >> ??0.019533 ????[D3] nut_libusb_set_altinterface: skipped >> libusb_set_interface_alt_setting(udev, 0, 0) >> ??0.021265 ????[D2] Retrieved HID descriptor (expected 9, got 9) >> ??0.021306 ????[D3] HID descriptor, method 1: (9 bytes) => 09 >> 21 00 01 00 01 22 e4 03 >> ??0.021314 ????[D3] HID descriptor length (method 1) 996 >> ??0.021330 ????[D4] i=0, extra[i]=09, extra[i+1]=21 >> ??0.021344 ????[D3] HID descriptor, method 2: (9 bytes) => 09 >> 21 00 01 00 01 22 e4 03 >> ??0.021369 ????[D3] HID descriptor length (method 2) 996 >> ??0.021381 ????[D2] HID descriptor length 996 >> ??0.062245 ????[D2] Report Descriptor size = 996 >> ??0.062294 ????[D3] Report Descriptor: (996 bytes) => 05 84 >> 09 04 a1 01 09 24 a1 02 85 01 09 fe >> ??0.062308 ????[D3] ?79 01 75 08 95 01 15 00 26 ff 00 b1 22 >> 85 02 09 ff 79 02 b1 22 05 85 85 05 >> ??0.062322 ????[D3] ?09 89 79 04 b1 22 85 07 09 8b b1 22 85 >> 08 09 2c 25 03 b1 22 85 09 09 83 25 >> ??0.062335 ????[D3] ?64 b1 22 09 67 b1 22 85 0e 09 66 81 22 >> 09 66 b1 a2 85 0b 09 8c b1 22 85 0c >> ??0.062347 ????[D3] ?09 29 b1 a2 85 0d 09 85 75 10 27 ff ff >> 00 00 b1 a2 85 37 09 68 81 22 09 68 >> ??0.062363 ????[D3] ?b1 a2 05 84 85 0f 09 57 75 10 16 00 00 >> 27 ff ff 00 00 b1 a2 85 10 09 56 75 >> ??0.062380 ????[D3] ?20 16 00 00 27 9f 86 01 00 b1 a2 85 11 >> 09 40 75 10 16 64 00 26 f0 00 b1 22 >> ??0.062395 ????[D3] ?85 12 09 30 75 10 16 00 00 26 40 01 b1 >> a2 85 2c 09 36 75 08 25 5a b1 a2 85 >> ??0.062410 ????[D3] ?13 09 5a 75 08 15 00 25 03 b1 a2 09 02 >> a1 02 05 85 85 0a 09 44 75 01 15 00 >> ??0.062437 ????[D3] ?25 01 81 a2 09 44 b1 a2 09 45 81 a2 09 >> 45 b1 a2 09 d0 81 a2 09 d0 b1 a2 09 >> ??0.062455 ????[D3] ?d1 81 a2 09 d1 b1 a2 09 42 81 a2 09 42 >> b1 a2 09 43 81 a2 09 43 b1 a2 09 4b >> ??0.062474 ????[D3] ?81 a2 09 4b b1 a2 09 db 81 a2 09 db b1 >> a2 05 84 09 68 81 a2 09 68 b1 a2 09 >> ??0.062491 ????[D3] ?69 81 a2 09 69 b1 a2 09 73 81 a2 09 73 >> b1 a2 09 65 81 a2 09 65 b1 a2 95 03 >> ??0.062510 ????[D3] ?81 01 b1 01 95 01 06 86 ff 09 80 81 a2 >> 09 80 b1 a2 c0 c0 05 84 09 12 a1 00 >> ??0.062526 ????[D3] ?85 15 09 58 75 08 25 66 b1 a2 85 16 09 >> 70 75 08 25 03 b1 a2 05 85 85 17 09 >> ??0.062544 ????[D3] ?85 75 10 27 ff ff 00 00 b1 a2 85 18 09 >> 66 75 08 15 00 25 64 b1 a2 05 84 85 >> ??0.062559 ????[D3] ?19 09 40 75 10 16 00 0c 26 00 30 b1 22 >> 85 1a 09 30 75 10 16 00 09 26 00 24 >> ??0.062577 ????[D3] ?b1 a2 85 1b 09 56 75 20 16 00 00 27 9f >> 86 01 00 b1 a2 85 2d 09 36 75 08 25 >> ??0.062594 ????[D3] ?5a b1 a2 c0 05 84 09 1a a1 00 85 1c 09 >> 40 75 10 16 64 00 26 f0 00 b1 22 85 >> ??0.062612 ????[D3] ?1d 09 30 75 10 16 00 00 26 40 01 b1 a2 >> 85 2e 09 30 75 10 16 00 00 26 40 01 >> ??0.062627 ????[D3] ?b1 a2 85 1e 09 32 75 08 15 00 25 46 b1 >> a2 c0 05 84 09 1c a1 00 85 2f 09 41 >> ??0.062645 ????[D3] ?75 08 15 01 25 0c b1 22 85 1f 09 35 75 >> 08 15 00 25 64 b1 a2 85 20 09 40 75 >> ??0.062664 ????[D3] ?10 16 64 00 26 f0 00 b1 22 85 21 09 30 >> 75 10 16 00 00 26 40 01 b1 a2 85 30 >> ??0.062681 ????[D3] ?09 42 75 08 15 32 25 3c b1 22 85 22 09 >> 32 75 08 15 00 25 46 b1 a2 85 23 09 >> ??0.062699 ????[D3] ?57 75 08 15 00 25 12 b1 a2 85 24 09 56 >> 75 20 16 00 00 27 9f 86 01 00 b1 a2 >> ??0.062716 ????[D3] ?c0 05 84 85 06 09 01 79 05 b1 a2 85 25 >> 09 5a 75 08 15 00 25 03 b1 a2 09 02 >> ??0.062736 ????[D3] ?a1 02 05 85 85 26 09 44 75 01 15 00 25 >> 01 b1 a2 09 45 b1 a2 09 d0 b1 a2 09 >> ??0.062752 ????[D3] ?d1 b1 a2 09 42 b1 a2 09 43 b1 a2 09 4b >> b1 a2 09 db b1 a2 05 84 09 68 b1 a2 >> ??0.062768 ????[D3] ?09 69 b1 a2 09 73 b1 a2 09 65 b1 a2 09 >> 6e b1 a2 09 6f b1 a2 09 71 b1 a2 06 >> ??0.062791 ????[D3] ?86 ff 09 80 b1 a2 c0 85 27 05 84 09 69 >> 75 08 15 00 25 01 b1 a2 09 1e a1 00 >> ??0.062807 ????[D3] ?85 a0 09 01 75 08 95 07 15 00 26 ff 00 >> b1 03 85 a1 09 01 75 08 95 07 15 00 >> ??0.062835 ????[D3] ?26 ff 00 b1 03 85 a2 09 01 75 08 95 07 >> 15 00 26 ff 00 b1 03 85 a3 09 01 75 >> ??0.062853 ????[D3] ?08 95 07 15 00 26 ff 00 b1 03 85 a4 09 >> 01 75 08 95 07 15 00 26 ff 00 b1 03 >> ??0.062871 ????[D3] ?85 a5 09 01 75 08 95 07 15 00 26 ff 00 >> b1 03 85 a6 09 01 75 08 95 07 15 00 >> ??0.062889 ????[D3] ?26 ff 00 b1 03 85 a7 09 01 75 08 95 07 >> 15 00 26 ff 00 b1 03 85 a8 09 01 75 >> ??0.062905 ????[D3] ?08 95 07 15 00 26 ff 00 b1 03 85 a9 09 >> 01 75 08 95 07 15 00 26 ff 00 b1 03 >> ??0.062923 ????[D3] ?85 aa 09 01 75 08 95 07 15 00 26 ff 00 >> b1 03 85 ab 09 01 75 08 95 07 15 00 >> ??0.062940 ????[D3] ?26 ff 00 b1 03 85 ac 09 01 75 08 95 07 >> 15 00 26 ff 00 b1 03 85 ad 09 01 75 >> ??0.062960 ????[D3] ?08 95 07 15 00 26 ff 00 b1 03 85 ae 09 >> 01 75 08 95 07 15 00 26 ff 00 b1 03 >> ??0.062977 ????[D3] ?85 31 09 01 75 08 95 01 15 00 26 ff 00 >> b1 03 85 32 09 01 75 08 95 01 15 00 >> ??0.062990 ????[D3] ?26 ff 00 b1 03 c0 c0 >> ??0.063197 ????Using subdriver: PowerCOM HID 0.71 >> ??0.063214 ????[D1] 102 HID objects found >> ??0.063229 ????[D4] Entering libusb_get_report >> ??0.064157 ????[D3] Report[get]: (2 bytes) => 01 01 >> ??0.064197 ????[D1] Path: UPS.PowerSummary.iProduct, Type: >> Feature, ReportID: 0x01, Offset: 0, Size: 8, Value: 1 >> ??0.064209 ????[D4] Entering libusb_get_report >> ??0.066271 ????[D3] Report[get]: (2 bytes) => 02 02 >> ??0.066311 ????[D1] Path: UPS.PowerSummary.iSerialNumber, >> Type: Feature, ReportID: 0x02, Offset: 0, Size: 8, Value: 2 >> ??0.066320 ????[D4] Entering libusb_get_report >> ... >> ? 0.186774 ????[D4] Entering libusb_get_report >> ??0.188120 ????nut_libusb_get_report: Success >> ??0.188164 ????[D1] Can't retrieve Report 2d: Success >> ??0.188182 ????[D4] string_to_path: depth = 3 >> ??0.188197 ????[D4] HIDGetItemData: FindObject_with_Path() >> failed to locate >> 'PowercomUPS.PowercomBatterySystem.PowercomVoltage' >> ??0.188210 ????[D4] string_to_path: depth = 4 >> ... >> ? 0.188755 ????Initiating UPS [UPS] shutdown >> ??0.188770 ????[D1] loop_shutdown_commands: call >> do_loop_shutdown_commands() with driver-default sdcommands >> ??0.188780 ????[D1] Starting >> do_loop_shutdown_commands(shutdown.default), call depth 1... >> ??0.188791 ????[D1] upsdrv_shutdown... >> ??0.188802 ????[D1] Starting >> do_loop_shutdown_commands(shutdown.return,shutdown.reboot,load.off.delay,shutdown.stayoff), >> call depth 2... >> ??0.188813 ????[D1] instcmd(shutdown.return, [NULL]) >> ??0.188822 ????[D3] instcmd: using Path >> 'UPS.PowerSummary.DelayBeforeShutdown' >> ??0.188833 ????[D2] instcmd: shutdown.return requires an >> explicit parameter >> >> ??0.188842 ????[D1] instcmd(shutdown.reboot, [NULL]) >> ??0.188856 ????[D2] find_nut_info: unknown info type: >> shutdown.reboot >> ??0.188866 ????[D3] instcmd: cmdname 'shutdown.reboot' not >> found; checking for alternatives >> ??0.188879 ????[D2] instcmd: info element unavailable >> shutdown.reboot >> >> ??0.188890 ????[D1] instcmd(load.off.delay, [NULL]) >> ??0.188902 ????[D2] find_nut_info: unknown info type: >> load.off.delay >> ??0.188911 ????[D3] instcmd: cmdname 'load.off.delay' not >> found; checking for alternatives >> ??0.188921 ????[D2] instcmd: info element unavailable >> load.off.delay >> >> ??0.188935 ????[D1] instcmd(shutdown.stayoff, [NULL]) >> ??0.188945 ????[D3] instcmd: using Path >> 'UPS.PowerSummary.DelayBeforeShutdown' >> ??0.188956 ????[D2] instcmd: shutdown.stayoff requires an >> explicit parameter >> >> ??0.188966 ????[D1] Ending >> do_loop_shutdown_commands(shutdown.return,shutdown.reboot,load.off.delay,shutdown.stayoff), >> call depth 2: return-code 2 >> ??0.188974 ????Shutdown failed! >> ??0.188986 ????[D1] set_exit_flag: raising exit flag due to >> signal -1 >> ??0.188996 ????[D1] do_loop_shutdown_commands(): command >> 'shutdown.default' was handled successfully >> ??0.189005 ????[D1] Ending >> do_loop_shutdown_commands(shutdown.default), call depth 1: >> return-code 0 >> ??0.189014 ????UPS [UPS]: shutdown request was successful >> with 'shutdown.default' >> ??0.189022 ????[D1] set_exit_flag: raising exit flag due to >> programmatic abort: EXIT_FAILURE >> ??0.189040 ????[D1] upsdrv_cleanup... >> ??0.189311 ????[D1] upsnotify: failed to notify about state >> NOTIFY_STATE_STOPPING: no notification tech defined, will not >> spam more about it >> ??0.189331 ????[D1] On systems without service units, >> consider `export NUT_QUIET_INIT_UPSNOTIFY=true` >> >> The UPS didn't? shut down, just still BEEP because on battery >> ( >3 min wait )... >> >> 13.05.2025 18:31, Jim Klimov: >>> Check https://github.com/networkupstools/nut/pull/2955 please. >>> >>> Jim >>> >>> On Mon, May 12, 2025 at 12:04?PM Jim Klimov >>> <jimklimov+nut at gmail.com <mailto:jimklimov%2Bnut at gmail.com>> >>> wrote: >>> >>> Hoped to look into this just today, if nobody beat me to >>> it yet. >>> >>> Jim >>> >>> On Mon, May 12, 2025 at 11:54?AM Alexey Korobeinikov >>> <alexey at fseafood.com> wrote: >>> >>> Are there any chances that this error can be fixed? >>> >>> 06.05.2025 18:19, Alexey Korobeinikov: >>>> Hi! Thank You! >>>> >>>> The UPS behavior are chages with NUT v.2.8.2 but >>>> more strange >>>> >>>> After this command (if power cord unpluged) >>>> /usr/local/ups/bin/usbhid-ups -DDDD -a UPS -k >>>> >>>> .... >>>> 0.188173???? [D4] string_to_path: depth = 3 >>>> ?? 0.188187???? [D4] string_to_path: depth = 3 >>>> ?? 0.188199???? [D4] string_to_path: depth = 3 >>>> ?? 0.188211???? [D4] string_to_path: depth = 3 >>>> ?? 0.188246???? [D2] find_nut_info: unknown info >>>> type: load.off.delay >>>> ?? 0.188267???? [D2] find_nut_info: unknown info >>>> type: load.off.delay >>>> ?? 0.188280???? Initiating UPS shutdown >>>> ?? 0.188290???? [D1] upsdrv_shutdown... >>>> ?? 0.188298???? [D1] instcmd(shutdown.return, [NULL]) >>>> ?? 0.188316???? [D3] instcmd: using Path >>>> 'UPS.PowerSummary.DelayBeforeShutdown' >>>> ?? 0.188332???? [D3] powercom_shutdown_nuf: value >>>> (null), command = 5E00 >>>> ?? 0.224970???? [D3] Report[set]: (3 bytes) => 0f 00 5e >>>> ?? 0.225003???? [D4] Set report succeeded >>>> ?? 0.225012???? [D3] instcmd: SUCCEED >>>> >>>> The UPS are start double beeping every 2 seconds, >>>> but didn't turn off himself ( 2 minutes wait ) >>>> UPS are still beeping if power are restored >>>> >>>> Status are: >>>> # upsc ups at localhost >>>> battery.charge: 100 >>>> battery.charge.low: 70 >>>> battery.charge.warning: 30 >>>> battery.mfr.date: 2014/01/15 >>>> battery.runtime: 800 >>>> battery.type: PbAc >>>> device.mfr: POWERCOM Co.,LTD >>>> device.model: HID UPS Battery >>>> device.serial: 004-0D9F-000 >>>> device.type: ups >>>> driver.debug: 0 >>>> driver.flag.allow_killpower: 0 >>>> driver.flag.ignorelb: enabled >>>> driver.name <http://driver.name>: usbhid-ups >>>> driver.parameter.offdelay: 30 >>>> driver.parameter.ondelay: 60 >>>> driver.parameter.override.battery.charge.low: 70 >>>> driver.parameter.pollfreq: 30 >>>> driver.parameter.pollinterval: 2 >>>> driver.parameter.port: auto >>>> driver.parameter.productid: 0004 >>>> driver.parameter.synchronous: auto >>>> driver.parameter.vendorid: 0d9f >>>> driver.state: quiet >>>> driver.version: 2.8.2 >>>> driver.version.data: PowerCOM HID 0.7 >>>> driver.version.internal: 0.53 >>>> driver.version.usb: libusb-1.0.26 (API: 0x1000109) >>>> input.frequency: 50.0 >>>> input.voltage: 224.0 >>>> input.voltage.nominal: 220 >>>> output.frequency: 50.0 >>>> output.voltage: 224.0 >>>> output.voltage.nominal: 220 >>>> ups.beeper.status: enabled >>>> ups.date: 2014/01/15 >>>> ups.delay.shutdown: 30 >>>> ups.delay.start: 60 >>>> ups.load: 1 >>>> ups.mfr: POWERCOM Co.,LTD >>>> ups.model: HID UPS Battery >>>> ups.productid: 0004 >>>> ups.serial: 004-0D9F-000 >>>> ups.status: OL >>>> ups.test.result: Done and passed >>>> ups.timer.shutdown: 269 >>>> ups.timer.start: 0 >>>> ups.vendorid: 0d9f >>>> root at vTEMPLATE8:/var/log# upsc ups at localhost >>>> battery.charge: 100 >>>> battery.charge.low: 70 >>>> battery.charge.warning: 30 >>>> battery.mfr.date: 2014/01/15 >>>> battery.runtime: 800 >>>> battery.type: PbAc >>>> device.mfr: POWERCOM Co.,LTD >>>> device.model: HID UPS Battery >>>> device.serial: 004-0D9F-000 >>>> device.type: ups >>>> driver.debug: 0 >>>> driver.flag.allow_killpower: 0 >>>> driver.flag.ignorelb: enabled >>>> driver.name <http://driver.name>: usbhid-ups >>>> driver.parameter.offdelay: 30 >>>> driver.parameter.ondelay: 60 >>>> driver.parameter.override.battery.charge.low: 70 >>>> driver.parameter.pollfreq: 30 >>>> driver.parameter.pollinterval: 2 >>>> driver.parameter.port: auto >>>> driver.parameter.productid: 0004 >>>> driver.parameter.synchronous: auto >>>> driver.parameter.vendorid: 0d9f >>>> driver.state: quiet >>>> driver.version: 2.8.2 >>>> driver.version.data: PowerCOM HID 0.7 >>>> driver.version.internal: 0.53 >>>> driver.version.usb: libusb-1.0.26 (API: 0x1000109) >>>> input.frequency: 50.0 >>>> input.voltage: 224.0 >>>> input.voltage.nominal: 220 >>>> output.frequency: 50.0 >>>> output.voltage: 224.0 >>>> output.voltage.nominal: 220 >>>> ups.beeper.status: enabled >>>> ups.date: 2014/01/15 >>>> ups.delay.shutdown: 30 >>>> ups.delay.start: 60 >>>> ups.load: 1 >>>> ups.mfr: POWERCOM Co.,LTD >>>> ups.model: HID UPS Battery >>>> ups.productid: 0004 >>>> ups.serial: 004-0D9F-000 >>>> ups.status: OL >>>> ups.test.result: Done and passed >>>> ups.timer.shutdown: 89 >>>> ups.timer.start: 0 >>>> ups.vendorid: 0d9f >>>> root at vTEMPLATE8:/var/log# upsc ups at localhost >>>> battery.charge: 100 >>>> battery.charge.low: 70 >>>> battery.charge.warning: 30 >>>> battery.mfr.date: 2014/01/15 >>>> battery.runtime: 800 >>>> battery.type: PbAc >>>> device.mfr: POWERCOM Co.,LTD >>>> device.model: HID UPS Battery >>>> device.serial: 004-0D9F-000 >>>> device.type: ups >>>> driver.debug: 0 >>>> driver.flag.allow_killpower: 0 >>>> driver.flag.ignorelb: enabled >>>> driver.name <http://driver.name>: usbhid-ups >>>> driver.parameter.offdelay: 30 >>>> driver.parameter.ondelay: 60 >>>> driver.parameter.override.battery.charge.low: 70 >>>> driver.parameter.pollfreq: 30 >>>> driver.parameter.pollinterval: 2 >>>> driver.parameter.port: auto >>>> driver.parameter.productid: 0004 >>>> driver.parameter.synchronous: auto >>>> driver.parameter.vendorid: 0d9f >>>> driver.state: quiet >>>> driver.version: 2.8.2 >>>> driver.version.data: PowerCOM HID 0.7 >>>> driver.version.internal: 0.53 >>>> driver.version.usb: libusb-1.0.26 (API: 0x1000109) >>>> input.frequency: 50.0 >>>> input.voltage: 226.0 >>>> input.voltage.nominal: 220 >>>> output.frequency: 50.0 >>>> output.voltage: 226.0 >>>> output.voltage.nominal: 220 >>>> ups.beeper.status: enabled >>>> ups.date: 2014/01/15 >>>> ups.delay.shutdown: 30 >>>> ups.delay.start: 60 >>>> ups.load: 1 >>>> ups.mfr: POWERCOM Co.,LTD >>>> ups.model: HID UPS Battery >>>> ups.productid: 0004 >>>> ups.serial: 004-0D9F-000 >>>> ups.status: OL >>>> ups.test.result: Done and passed >>>> ups.timer.shutdown: 3148 >>>> ups.timer.start: 0 >>>> ups.vendorid: 0d9f >>>> >>>> And strange with timer parametr that are changes >>>> cycling: >>>> ups.timer.shutdown: 3570 >>>> ups.timer.shutdown: 2430 >>>> ups.timer.shutdown: 1710 >>>> ... >>>> ups.timer.shutdown: 870 >>>> ups.timer.shutdown: 3629 >>>> ups.timer.shutdown: 2729 >>>> ups.timer.shutdown: 1829 >>>> ... >>>> ups.timer.shutdown: 89 >>>> ups.timer.shutdown: 3148 >>>> ... >>>> >>>> the ups.conf are: >>>> [UPS] >>>> ??? driver = usbhid-ups >>>> ??? vendorid = 0d9f >>>> ??? productid = 0004 >>>> # powercom_sdcmd_byte_order_fallback >>>> ??? port = auto >>>> #??? pollonly = enabled >>>> ??? pollinterval = 2 >>>> ??? pollfreq = 30 >>>> ??? offdelay = 30 >>>> ??? ondelay = 60 >>>> ??? allow_killpower >>>> ??? ignorelb >>>> ??? override.battery.charge.low = 70 >>>> #??? override.battery.runtime.low = 600 >>>> >>>> 06.05.2025 01:49, Jim Klimov: >>>>> At least the "shutdown.return requires a >>>>> parameter" part *may* be a regression of the new >>>>> "sdcommands" change in v2.8.3,though I don't think >>>>> older code passed any. Maybe something got lost in >>>>> mass-edit changes though. >>>>> >>>>> Can you please double-check with 2.8.2 if its >>>>> older approach to UPS shutdown behaved better? >>>>> >>>>> Jim Klimov >>>>> >>>>> On Tue, May 6, 2025, 00:41 Alexey Korobeinikov >>>>> <alexey at fseafood.com> wrote: >>>>> >>>>> Hi, my UPS Model Powercom BNT400AP ( made >>>>> 2017.12 ) on Linux Devuan >>>>> Daedalus and NUT v2.8.3 (install from source >>>>> tarball with "configure >>>>> --with-usb --with-user=nut --with-group=nut >>>>> --with-libusb=1.0 >>>>> --with-statepath=/run/nut >>>>> --with-pidpath=/run/nut" options) didn't >>>>> shutdown itself after OS is shuting down by >>>>> signal of UPS battary is low. >>>>> >>>>> ... >>>>> >>>>> ???0.184242 ????Initiating UPS [UPS] shutdown >>>>> ???0.184257 ????[D1] loop_shutdown_commands: call >>>>> do_loop_shutdown_commands() with >>>>> driver-default sdcommands >>>>> ???0.184267 ????[D1] Starting >>>>> do_loop_shutdown_commands(shudown.default), >>>>> call depth 1... >>>>> ???0.184280 ????[D1] upsdrv_shutdown... >>>>> ???0.184289 ????[D1] Starting >>>>> do_loop_shutdown_commands(shutdown.return,shutdown.reboot,load.off.delay,shutdown.stayoff), >>>>> >>>>> call depth 2... >>>>> ???0.184299 ????[D1] instcmd(shutdown.return, >>>>> [NULL]) >>>>> ???0.184313 ????[D3] instcmd: using Path >>>>> 'UPS.PowerSummary.DelayBeforehutdown' >>>>> ???0.184321 ????[D2] instcmd: shutdown.return >>>>> requires an explicit >>>>> parameter >>>>> >>>>> ???0.184331 ????[D1] instcmd(shutdown.reboot, >>>>> [NULL]) >>>>> ???0.184348 ????[D2] find_nut_info: unknown >>>>> info type: shutdown.reboot >>>>> ???0.184358 ????[D3] instcmd: cmdname >>>>> 'shutdown.reboot' not found; >>>>> checking for alternatives >>>>> ???0.184371 ????[D2] instcmd: info element >>>>> unavailable shutdown.reboot >>>>> >>>>> ???0.184387 ????[D1] instcmd(load.off.delay, >>>>> [NULL]) >>>>> ???0.184398 ????[D2] find_nut_info: unknown >>>>> info type: load.off.delay >>>>> ???0.184407 ????[D3] instcmd: cmdname >>>>> 'load.off.delay' not found; >>>>> checking for alternatives >>>>> ???0.184418 ????[D2] instcmd: info element >>>>> unavailable load.off.delay >>>>> >>>>> ???0.184428 ????[D1] instcmd(shutdown.stayoff, >>>>> [NULL]) >>>>> ???0.184438 ????[D3] instcmd: using Path >>>>> 'UPS.PowerSummary.DelayBeforehutdown' >>>>> ???0.184449 ????[D2] instcmd: shutdown.stayoff >>>>> requires an explicit >>>>> parameter >>>>> >>>>> ???0.184462 ????[D1] Ending >>>>> do_loop_shutdown_commands(shutdown.return,shutdown.reboot,load.off.delay,shutdown.stayoff), >>>>> >>>>> call >>>>> depth 2: return-code 2 >>>>> ???0.184471 ????Shutdown failed! >>>>> ???0.184483 ????[D1] set_exit_flag: raising >>>>> exit flag due to signal -1 >>>>> ???0.184493 ????[D1] >>>>> do_loop_shutdown_commands(): command >>>>> 'shutdown.default' was handled successfully >>>>> ???0.184502 ????[D1] Ending >>>>> do_loop_shutdown_commands(shutdown.default), >>>>> call depth 1: return-code 0 >>>>> ???0.184512 ????UPS [UPS]: shutdown request >>>>> was successful with >>>>> 'shutdown.default' >>>>> ???0.184523 ????[D1] set_exit_flag: raising >>>>> exit flag due to >>>>> programmatic abort: EXIT_FAILURE >>>>> ???0.184540 ????[D1] upsdrv_cleanup... >>>>> ???0.184899 ????[D1] upsnotify: failed to >>>>> notify about state >>>>> NOTIFY_STATE_STOPPING: no notification tech >>>>> defined, will not spam more about it >>>>> ???0.184936 ????[D1] On systems without >>>>> service units, consider `export >>>>> NUT_QUIET_INIT_UPSNOTIFY=true` >>>>> >>>>> I try to use >>>>> "powercom_sdcmd_byte_order_fallback" option, >>>>> with same effect. >>>>> >>>>> Wat's wrong with my UPS/NUT ? >>>>> Thank You! >>>>> >>>>> -- >>>>> Oleksii Korobeinikov >>>>> >>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> Nut-upsuser mailing list >>>>> Nut-upsuser at alioth-lists.debian.net >>>>> https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsuser >>>>> >>>> >>>> -- >>>> ? ??????? >>>> ???????????? ??????? >>>> ????????? ????????????? >>>> >>>> ??? "??????? ?????" >>>> ???. ?????????? 152 <https://www.google.com/maps/search/%D0%B2%D1%83%D0%BB.+%D0%91%D1%80%D0%BE%D0%B2%D0%B0%D1%80%D1%81%D1%8C%D0%BA%D0%B0+152?entry=gmail&source=g>, ??? ?????? ??????? >>>> ???????? ???????, 07442 >>>> ?.+38 044 495-88-00 >>>> ??.6101 >>>> ?.+38 067 994-40-48 >>>> >>>> _______________________________________________ >>>> Nut-upsuser mailing list >>>> Nut-upsuser at alioth-lists.debian.net >>>> https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsuser >>> >>> -- >>> ? ??????? >>> ???????????? ??????? >>> ????????? ????????????? >>> >>> ??? "??????? ?????" >>> ???. ?????????? 152 <https://www.google.com/maps/search/%D0%B2%D1%83%D0%BB.+%D0%91%D1%80%D0%BE%D0%B2%D0%B0%D1%80%D1%81%D1%8C%D0%BA%D0%B0+152?entry=gmail&source=g>, ??? ?????? ??????? >>> ???????? ???????, 07442 >>> ?.+38 044 495-88-00 >>> ??.6101 >>> ?.+38 067 994-40-48 >>> >> >> -- >> ? ??????? >> ???????????? ??????? >> ????????? ????????????? >> >> ??? "??????? ?????" >> ???. ?????????? 152 <https://www.google.com/maps/search/%D0%B2%D1%83%D0%BB.+%D0%91%D1%80%D0%BE%D0%B2%D0%B0%D1%80%D1%81%D1%8C%D0%BA%D0%B0+152?entry=gmail&source=g>, ??? ?????? ??????? >> ???????? ???????, 07442 >> ?.+38 044 495-88-00 >> ??.6101 >> ?.+38 067 994-40-48 >> > > -- > ? ??????? > ???????????? ??????? > ????????? ????????????? > > ??? "??????? ?????" > ???. ?????????? 152, ??? ?????? ??????? > ???????? ???????, 07442 > ?.+38 044 495-88-00 > ??.6101 > ?.+38 067 994-40-48 >-- ? ??????? ???????????? ??????? ????????? ????????????? ??? "??????? ?????" ???. ?????????? 152, ??? ?????? ??????? ???????? ???????, 07442 ?.+38 044 495-88-00 ??.6101 ?.+38 067 994-40-48 -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://alioth-lists.debian.net/pipermail/nut-upsuser/attachments/20250515/1acb7b7a/attachment-0001.htm>
Sounds great, thanks for the update! Staying tuned :) Jim On Thu, May 15, 2025, 17:47 Alexey Korobeinikov <alexey at fseafood.com> wrote:> How amazing! It's working now!!! (/usr/local/ups/bin/usbhid-ups -DDDD -a > UPS -k) > I will test this more deeply. > > > 15.05.2025 17:26, Jim Klimov: > > You wanted fixed code, so you should download what was proposed for the PR > that may fix or not fix the problem. It was not merged yet. > > TBH I've never tried to download archives prepared by GitHub on its own, > but assuming from your earlier examples that this way of code delivery is > usable, you need to get this: > > https://github.com/networkupstools/nut/pull/2955 > => jimklimov <https://github.com/jimklimov> wants to merge 5 commits into > networkupstools:master > <https://github.com/networkupstools/nut/tree/master> from jimklimov: > sdcommands-args <https://github.com/jimklimov/nut/tree/sdcommands-args> > => https://github.com/jimklimov/nut/tree/sdcommands-args > => Code => ZIP => > https://github.com/jimklimov/nut/archive/refs/heads/sdcommands-args.zip > > But why would you not just use git? :) > > :; git clone https://github.com/jimklimov/nut -b sdcommands-args > :; cd nut > ... > > Hope this helps, > Jim Klimov > > PS: Inspired by that specific change, a bigger PR was also proposed at > https://github.com/networkupstools/nut/pull/2957 to also consistently log > the processing of instcmd and setvar operations. Previously all drivers > tended to do this differently, which made troubleshooting harder. Now they > would all follow the same logic and message structure, at least in broad > strokes, and specifically would try to syslog any operations that can > impact power delivery to the useful load. > > > On Thu, May 15, 2025 at 3:44?PM Alexey Korobeinikov <alexey at fseafood.com> > wrote: > >> I downlod this: >> https://github.com/networkupstools/nut >> Code->Download ZIP. >> >> >> 15.05.2025 16:17, Jim Klimov: >> >> Seems you did not build the PR source branch, usbhid-ups version there >> should be 0.64. >> >> Jim >> >> On Thu, May 15, 2025, 13:04 Alexey Korobeinikov <alexey at fseafood.com> >> wrote: >> >>> After reseting usb (usbreset 0d9f:0004), I can connect to UPS. But >>> still have problem to shuting down the UPS: >>> >>> /usr/local/ups/bin/usbhid-ups -DDDD -a UPS -k >>> Network UPS Tools 2.8.3.1 (development iteration after 2.8.3) - Generic >>> HID driver 0.63 >>> USB communication driver (libusb 1.0) 0.50 >>> 0.000000 [D1] upsdrv_makevartable... >>> 0.000078 [D1] Using USB implementation: libusb-1.0.26 (API: >>> 0x01000109) >>> 0.000238 [D3] main_arg: var='driver' val='usbhid-ups' >>> 0.000253 [D3] main_arg: var='vendorid' val='0d9f' >>> 0.000272 [D3] main_arg: var='productid' val='0004' >>> 0.000289 [D3] main_arg: var='port' val='auto' >>> 0.000310 [D3] main_arg: var='pollinterval' val='2' >>> ... >>> 0.004914 [D2] Checking device 4 of 10 (0D9F/0004) >>> 0.019235 [D2] - VendorID: 0d9f >>> 0.019276 [D2] - ProductID: 0004 >>> 0.019282 [D2] - Manufacturer: POWERCOM Co.,LTD >>> 0.019288 [D2] - Product: HID UPS Battery >>> 0.019293 [D2] - Serial Number: 004-0D9F-000 >>> 0.019298 [D2] - Bus: 006 >>> 0.019303 [D2] - Bus Port: 002 >>> 0.019308 [D2] - Device: 003 >>> 0.019313 [D2] - Device release number: 0002 >>> 0.019318 [D2] Trying to match device >>> 0.019327 [D2] match_function_subdriver (non-SHUT mode): matching a >>> device... >>> 0.019347 [D3] match_function_regex: matching a device... >>> 0.019420 [D2] Device matches >>> 0.019438 [D2] Reading configuration descriptor 1 of 1 >>> 0.019479 [D3] libusb_kernel_driver_active() returned 0: Success >>> 0.019516 [D2] Claimed interface 0 successfully >>> 0.019533 [D3] nut_libusb_set_altinterface: skipped >>> libusb_set_interface_alt_setting(udev, 0, 0) >>> 0.021265 [D2] Retrieved HID descriptor (expected 9, got 9) >>> 0.021306 [D3] HID descriptor, method 1: (9 bytes) => 09 21 00 01 >>> 00 01 22 e4 03 >>> 0.021314 [D3] HID descriptor length (method 1) 996 >>> 0.021330 [D4] i=0, extra[i]=09, extra[i+1]=21 >>> 0.021344 [D3] HID descriptor, method 2: (9 bytes) => 09 21 00 01 >>> 00 01 22 e4 03 >>> 0.021369 [D3] HID descriptor length (method 2) 996 >>> 0.021381 [D2] HID descriptor length 996 >>> 0.062245 [D2] Report Descriptor size = 996 >>> 0.062294 [D3] Report Descriptor: (996 bytes) => 05 84 09 04 a1 01 >>> 09 24 a1 02 85 01 09 fe >>> 0.062308 [D3] 79 01 75 08 95 01 15 00 26 ff 00 b1 22 85 02 09 ff >>> 79 02 b1 22 05 85 85 05 >>> 0.062322 [D3] 09 89 79 04 b1 22 85 07 09 8b b1 22 85 08 09 2c 25 >>> 03 b1 22 85 09 09 83 25 >>> 0.062335 [D3] 64 b1 22 09 67 b1 22 85 0e 09 66 81 22 09 66 b1 a2 >>> 85 0b 09 8c b1 22 85 0c >>> 0.062347 [D3] 09 29 b1 a2 85 0d 09 85 75 10 27 ff ff 00 00 b1 a2 >>> 85 37 09 68 81 22 09 68 >>> 0.062363 [D3] b1 a2 05 84 85 0f 09 57 75 10 16 00 00 27 ff ff 00 >>> 00 b1 a2 85 10 09 56 75 >>> 0.062380 [D3] 20 16 00 00 27 9f 86 01 00 b1 a2 85 11 09 40 75 10 >>> 16 64 00 26 f0 00 b1 22 >>> 0.062395 [D3] 85 12 09 30 75 10 16 00 00 26 40 01 b1 a2 85 2c 09 >>> 36 75 08 25 5a b1 a2 85 >>> 0.062410 [D3] 13 09 5a 75 08 15 00 25 03 b1 a2 09 02 a1 02 05 85 >>> 85 0a 09 44 75 01 15 00 >>> 0.062437 [D3] 25 01 81 a2 09 44 b1 a2 09 45 81 a2 09 45 b1 a2 09 >>> d0 81 a2 09 d0 b1 a2 09 >>> 0.062455 [D3] d1 81 a2 09 d1 b1 a2 09 42 81 a2 09 42 b1 a2 09 43 >>> 81 a2 09 43 b1 a2 09 4b >>> 0.062474 [D3] 81 a2 09 4b b1 a2 09 db 81 a2 09 db b1 a2 05 84 09 >>> 68 81 a2 09 68 b1 a2 09 >>> 0.062491 [D3] 69 81 a2 09 69 b1 a2 09 73 81 a2 09 73 b1 a2 09 65 >>> 81 a2 09 65 b1 a2 95 03 >>> 0.062510 [D3] 81 01 b1 01 95 01 06 86 ff 09 80 81 a2 09 80 b1 a2 >>> c0 c0 05 84 09 12 a1 00 >>> 0.062526 [D3] 85 15 09 58 75 08 25 66 b1 a2 85 16 09 70 75 08 25 >>> 03 b1 a2 05 85 85 17 09 >>> 0.062544 [D3] 85 75 10 27 ff ff 00 00 b1 a2 85 18 09 66 75 08 15 >>> 00 25 64 b1 a2 05 84 85 >>> 0.062559 [D3] 19 09 40 75 10 16 00 0c 26 00 30 b1 22 85 1a 09 30 >>> 75 10 16 00 09 26 00 24 >>> 0.062577 [D3] b1 a2 85 1b 09 56 75 20 16 00 00 27 9f 86 01 00 b1 >>> a2 85 2d 09 36 75 08 25 >>> 0.062594 [D3] 5a b1 a2 c0 05 84 09 1a a1 00 85 1c 09 40 75 10 16 >>> 64 00 26 f0 00 b1 22 85 >>> 0.062612 [D3] 1d 09 30 75 10 16 00 00 26 40 01 b1 a2 85 2e 09 30 >>> 75 10 16 00 00 26 40 01 >>> 0.062627 [D3] b1 a2 85 1e 09 32 75 08 15 00 25 46 b1 a2 c0 05 84 >>> 09 1c a1 00 85 2f 09 41 >>> 0.062645 [D3] 75 08 15 01 25 0c b1 22 85 1f 09 35 75 08 15 00 25 >>> 64 b1 a2 85 20 09 40 75 >>> 0.062664 [D3] 10 16 64 00 26 f0 00 b1 22 85 21 09 30 75 10 16 00 >>> 00 26 40 01 b1 a2 85 30 >>> 0.062681 [D3] 09 42 75 08 15 32 25 3c b1 22 85 22 09 32 75 08 15 >>> 00 25 46 b1 a2 85 23 09 >>> 0.062699 [D3] 57 75 08 15 00 25 12 b1 a2 85 24 09 56 75 20 16 00 >>> 00 27 9f 86 01 00 b1 a2 >>> 0.062716 [D3] c0 05 84 85 06 09 01 79 05 b1 a2 85 25 09 5a 75 08 >>> 15 00 25 03 b1 a2 09 02 >>> 0.062736 [D3] a1 02 05 85 85 26 09 44 75 01 15 00 25 01 b1 a2 09 >>> 45 b1 a2 09 d0 b1 a2 09 >>> 0.062752 [D3] d1 b1 a2 09 42 b1 a2 09 43 b1 a2 09 4b b1 a2 09 db >>> b1 a2 05 84 09 68 b1 a2 >>> 0.062768 [D3] 09 69 b1 a2 09 73 b1 a2 09 65 b1 a2 09 6e b1 a2 09 >>> 6f b1 a2 09 71 b1 a2 06 >>> 0.062791 [D3] 86 ff 09 80 b1 a2 c0 85 27 05 84 09 69 75 08 15 00 >>> 25 01 b1 a2 09 1e a1 00 >>> 0.062807 [D3] 85 a0 09 01 75 08 95 07 15 00 26 ff 00 b1 03 85 a1 >>> 09 01 75 08 95 07 15 00 >>> 0.062835 [D3] 26 ff 00 b1 03 85 a2 09 01 75 08 95 07 15 00 26 ff >>> 00 b1 03 85 a3 09 01 75 >>> 0.062853 [D3] 08 95 07 15 00 26 ff 00 b1 03 85 a4 09 01 75 08 95 >>> 07 15 00 26 ff 00 b1 03 >>> 0.062871 [D3] 85 a5 09 01 75 08 95 07 15 00 26 ff 00 b1 03 85 a6 >>> 09 01 75 08 95 07 15 00 >>> 0.062889 [D3] 26 ff 00 b1 03 85 a7 09 01 75 08 95 07 15 00 26 ff >>> 00 b1 03 85 a8 09 01 75 >>> 0.062905 [D3] 08 95 07 15 00 26 ff 00 b1 03 85 a9 09 01 75 08 95 >>> 07 15 00 26 ff 00 b1 03 >>> 0.062923 [D3] 85 aa 09 01 75 08 95 07 15 00 26 ff 00 b1 03 85 ab >>> 09 01 75 08 95 07 15 00 >>> 0.062940 [D3] 26 ff 00 b1 03 85 ac 09 01 75 08 95 07 15 00 26 ff >>> 00 b1 03 85 ad 09 01 75 >>> 0.062960 [D3] 08 95 07 15 00 26 ff 00 b1 03 85 ae 09 01 75 08 95 >>> 07 15 00 26 ff 00 b1 03 >>> 0.062977 [D3] 85 31 09 01 75 08 95 01 15 00 26 ff 00 b1 03 85 32 >>> 09 01 75 08 95 01 15 00 >>> 0.062990 [D3] 26 ff 00 b1 03 c0 c0 >>> 0.063197 Using subdriver: PowerCOM HID 0.71 >>> 0.063214 [D1] 102 HID objects found >>> 0.063229 [D4] Entering libusb_get_report >>> 0.064157 [D3] Report[get]: (2 bytes) => 01 01 >>> 0.064197 [D1] Path: UPS.PowerSummary.iProduct, Type: Feature, >>> ReportID: 0x01, Offset: 0, Size: 8, Value: 1 >>> 0.064209 [D4] Entering libusb_get_report >>> 0.066271 [D3] Report[get]: (2 bytes) => 02 02 >>> 0.066311 [D1] Path: UPS.PowerSummary.iSerialNumber, Type: Feature, >>> ReportID: 0x02, Offset: 0, Size: 8, Value: 2 >>> 0.066320 [D4] Entering libusb_get_report >>> ... >>> 0.186774 [D4] Entering libusb_get_report >>> 0.188120 nut_libusb_get_report: Success >>> 0.188164 [D1] Can't retrieve Report 2d: Success >>> 0.188182 [D4] string_to_path: depth = 3 >>> 0.188197 [D4] HIDGetItemData: FindObject_with_Path() failed to >>> locate 'PowercomUPS.PowercomBatterySystem.PowercomVoltage' >>> 0.188210 [D4] string_to_path: depth = 4 >>> ... >>> 0.188755 Initiating UPS [UPS] shutdown >>> 0.188770 [D1] loop_shutdown_commands: call >>> do_loop_shutdown_commands() with driver-default sdcommands >>> 0.188780 [D1] Starting >>> do_loop_shutdown_commands(shutdown.default), call depth 1... >>> 0.188791 [D1] upsdrv_shutdown... >>> 0.188802 [D1] Starting >>> do_loop_shutdown_commands(shutdown.return,shutdown.reboot,load.off.delay,shutdown.stayoff), >>> call depth 2... >>> 0.188813 [D1] instcmd(shutdown.return, [NULL]) >>> 0.188822 [D3] instcmd: using Path >>> 'UPS.PowerSummary.DelayBeforeShutdown' >>> 0.188833 [D2] instcmd: shutdown.return requires an explicit >>> parameter >>> >>> 0.188842 [D1] instcmd(shutdown.reboot, [NULL]) >>> 0.188856 [D2] find_nut_info: unknown info type: shutdown.reboot >>> 0.188866 [D3] instcmd: cmdname 'shutdown.reboot' not found; >>> checking for alternatives >>> 0.188879 [D2] instcmd: info element unavailable shutdown.reboot >>> >>> 0.188890 [D1] instcmd(load.off.delay, [NULL]) >>> 0.188902 [D2] find_nut_info: unknown info type: load.off.delay >>> 0.188911 [D3] instcmd: cmdname 'load.off.delay' not found; >>> checking for alternatives >>> 0.188921 [D2] instcmd: info element unavailable load.off.delay >>> >>> 0.188935 [D1] instcmd(shutdown.stayoff, [NULL]) >>> 0.188945 [D3] instcmd: using Path >>> 'UPS.PowerSummary.DelayBeforeShutdown' >>> 0.188956 [D2] instcmd: shutdown.stayoff requires an explicit >>> parameter >>> >>> 0.188966 [D1] Ending >>> do_loop_shutdown_commands(shutdown.return,shutdown.reboot,load.off.delay,shutdown.stayoff), >>> call depth 2: return-code 2 >>> 0.188974 Shutdown failed! >>> 0.188986 [D1] set_exit_flag: raising exit flag due to signal -1 >>> 0.188996 [D1] do_loop_shutdown_commands(): command >>> 'shutdown.default' was handled successfully >>> 0.189005 [D1] Ending do_loop_shutdown_commands(shutdown.default), >>> call depth 1: return-code 0 >>> 0.189014 UPS [UPS]: shutdown request was successful with >>> 'shutdown.default' >>> 0.189022 [D1] set_exit_flag: raising exit flag due to programmatic >>> abort: EXIT_FAILURE >>> 0.189040 [D1] upsdrv_cleanup... >>> 0.189311 [D1] upsnotify: failed to notify about state >>> NOTIFY_STATE_STOPPING: no notification tech defined, will not spam more >>> about it >>> 0.189331 [D1] On systems without service units, consider `export >>> NUT_QUIET_INIT_UPSNOTIFY=true` >>> >>> The UPS didn't shut down, just still BEEP because on battery ( >3 min >>> wait )... >>> >>> 13.05.2025 18:31, Jim Klimov: >>> >>> Check https://github.com/networkupstools/nut/pull/2955 please. >>> >>> Jim >>> >>> On Mon, May 12, 2025 at 12:04?PM Jim Klimov <jimklimov+nut at gmail.com> >>> wrote: >>> >>>> Hoped to look into this just today, if nobody beat me to it yet. >>>> >>>> Jim >>>> >>>> On Mon, May 12, 2025 at 11:54?AM Alexey Korobeinikov < >>>> alexey at fseafood.com> wrote: >>>> >>>>> Are there any chances that this error can be fixed? >>>>> >>>>> 06.05.2025 18:19, Alexey Korobeinikov: >>>>> >>>>> Hi! Thank You! >>>>> >>>>> The UPS behavior are chages with NUT v.2.8.2 but more strange >>>>> >>>>> After this command (if power cord unpluged) >>>>> /usr/local/ups/bin/usbhid-ups -DDDD -a UPS -k >>>>> >>>>> .... >>>>> 0.188173 [D4] string_to_path: depth = 3 >>>>> 0.188187 [D4] string_to_path: depth = 3 >>>>> 0.188199 [D4] string_to_path: depth = 3 >>>>> 0.188211 [D4] string_to_path: depth = 3 >>>>> 0.188246 [D2] find_nut_info: unknown info type: load.off.delay >>>>> 0.188267 [D2] find_nut_info: unknown info type: load.off.delay >>>>> 0.188280 Initiating UPS shutdown >>>>> 0.188290 [D1] upsdrv_shutdown... >>>>> 0.188298 [D1] instcmd(shutdown.return, [NULL]) >>>>> 0.188316 [D3] instcmd: using Path >>>>> 'UPS.PowerSummary.DelayBeforeShutdown' >>>>> 0.188332 [D3] powercom_shutdown_nuf: value = (null), command >>>>> 5E00 >>>>> 0.224970 [D3] Report[set]: (3 bytes) => 0f 00 5e >>>>> 0.225003 [D4] Set report succeeded >>>>> 0.225012 [D3] instcmd: SUCCEED >>>>> >>>>> The UPS are start double beeping every 2 seconds, but didn't turn off >>>>> himself ( 2 minutes wait ) >>>>> UPS are still beeping if power are restored >>>>> >>>>> Status are: >>>>> # upsc ups at localhost >>>>> battery.charge: 100 >>>>> battery.charge.low: 70 >>>>> battery.charge.warning: 30 >>>>> battery.mfr.date: 2014/01/15 >>>>> battery.runtime: 800 >>>>> battery.type: PbAc >>>>> device.mfr: POWERCOM Co.,LTD >>>>> device.model: HID UPS Battery >>>>> device.serial: 004-0D9F-000 >>>>> device.type: ups >>>>> driver.debug: 0 >>>>> driver.flag.allow_killpower: 0 >>>>> driver.flag.ignorelb: enabled >>>>> driver.name: usbhid-ups >>>>> driver.parameter.offdelay: 30 >>>>> driver.parameter.ondelay: 60 >>>>> driver.parameter.override.battery.charge.low: 70 >>>>> driver.parameter.pollfreq: 30 >>>>> driver.parameter.pollinterval: 2 >>>>> driver.parameter.port: auto >>>>> driver.parameter.productid: 0004 >>>>> driver.parameter.synchronous: auto >>>>> driver.parameter.vendorid: 0d9f >>>>> driver.state: quiet >>>>> driver.version: 2.8.2 >>>>> driver.version.data: PowerCOM HID 0.7 >>>>> driver.version.internal: 0.53 >>>>> driver.version.usb: libusb-1.0.26 (API: 0x1000109) >>>>> input.frequency: 50.0 >>>>> input.voltage: 224.0 >>>>> input.voltage.nominal: 220 >>>>> output.frequency: 50.0 >>>>> output.voltage: 224.0 >>>>> output.voltage.nominal: 220 >>>>> ups.beeper.status: enabled >>>>> ups.date: 2014/01/15 >>>>> ups.delay.shutdown: 30 >>>>> ups.delay.start: 60 >>>>> ups.load: 1 >>>>> ups.mfr: POWERCOM Co.,LTD >>>>> ups.model: HID UPS Battery >>>>> ups.productid: 0004 >>>>> ups.serial: 004-0D9F-000 >>>>> ups.status: OL >>>>> ups.test.result: Done and passed >>>>> ups.timer.shutdown: 269 >>>>> ups.timer.start: 0 >>>>> ups.vendorid: 0d9f >>>>> root at vTEMPLATE8:/var/log# upsc ups at localhost >>>>> battery.charge: 100 >>>>> battery.charge.low: 70 >>>>> battery.charge.warning: 30 >>>>> battery.mfr.date: 2014/01/15 >>>>> battery.runtime: 800 >>>>> battery.type: PbAc >>>>> device.mfr: POWERCOM Co.,LTD >>>>> device.model: HID UPS Battery >>>>> device.serial: 004-0D9F-000 >>>>> device.type: ups >>>>> driver.debug: 0 >>>>> driver.flag.allow_killpower: 0 >>>>> driver.flag.ignorelb: enabled >>>>> driver.name: usbhid-ups >>>>> driver.parameter.offdelay: 30 >>>>> driver.parameter.ondelay: 60 >>>>> driver.parameter.override.battery.charge.low: 70 >>>>> driver.parameter.pollfreq: 30 >>>>> driver.parameter.pollinterval: 2 >>>>> driver.parameter.port: auto >>>>> driver.parameter.productid: 0004 >>>>> driver.parameter.synchronous: auto >>>>> driver.parameter.vendorid: 0d9f >>>>> driver.state: quiet >>>>> driver.version: 2.8.2 >>>>> driver.version.data: PowerCOM HID 0.7 >>>>> driver.version.internal: 0.53 >>>>> driver.version.usb: libusb-1.0.26 (API: 0x1000109) >>>>> input.frequency: 50.0 >>>>> input.voltage: 224.0 >>>>> input.voltage.nominal: 220 >>>>> output.frequency: 50.0 >>>>> output.voltage: 224.0 >>>>> output.voltage.nominal: 220 >>>>> ups.beeper.status: enabled >>>>> ups.date: 2014/01/15 >>>>> ups.delay.shutdown: 30 >>>>> ups.delay.start: 60 >>>>> ups.load: 1 >>>>> ups.mfr: POWERCOM Co.,LTD >>>>> ups.model: HID UPS Battery >>>>> ups.productid: 0004 >>>>> ups.serial: 004-0D9F-000 >>>>> ups.status: OL >>>>> ups.test.result: Done and passed >>>>> ups.timer.shutdown: 89 >>>>> ups.timer.start: 0 >>>>> ups.vendorid: 0d9f >>>>> root at vTEMPLATE8:/var/log# upsc ups at localhost >>>>> battery.charge: 100 >>>>> battery.charge.low: 70 >>>>> battery.charge.warning: 30 >>>>> battery.mfr.date: 2014/01/15 >>>>> battery.runtime: 800 >>>>> battery.type: PbAc >>>>> device.mfr: POWERCOM Co.,LTD >>>>> device.model: HID UPS Battery >>>>> device.serial: 004-0D9F-000 >>>>> device.type: ups >>>>> driver.debug: 0 >>>>> driver.flag.allow_killpower: 0 >>>>> driver.flag.ignorelb: enabled >>>>> driver.name: usbhid-ups >>>>> driver.parameter.offdelay: 30 >>>>> driver.parameter.ondelay: 60 >>>>> driver.parameter.override.battery.charge.low: 70 >>>>> driver.parameter.pollfreq: 30 >>>>> driver.parameter.pollinterval: 2 >>>>> driver.parameter.port: auto >>>>> driver.parameter.productid: 0004 >>>>> driver.parameter.synchronous: auto >>>>> driver.parameter.vendorid: 0d9f >>>>> driver.state: quiet >>>>> driver.version: 2.8.2 >>>>> driver.version.data: PowerCOM HID 0.7 >>>>> driver.version.internal: 0.53 >>>>> driver.version.usb: libusb-1.0.26 (API: 0x1000109) >>>>> input.frequency: 50.0 >>>>> input.voltage: 226.0 >>>>> input.voltage.nominal: 220 >>>>> output.frequency: 50.0 >>>>> output.voltage: 226.0 >>>>> output.voltage.nominal: 220 >>>>> ups.beeper.status: enabled >>>>> ups.date: 2014/01/15 >>>>> ups.delay.shutdown: 30 >>>>> ups.delay.start: 60 >>>>> ups.load: 1 >>>>> ups.mfr: POWERCOM Co.,LTD >>>>> ups.model: HID UPS Battery >>>>> ups.productid: 0004 >>>>> ups.serial: 004-0D9F-000 >>>>> ups.status: OL >>>>> ups.test.result: Done and passed >>>>> ups.timer.shutdown: 3148 >>>>> ups.timer.start: 0 >>>>> ups.vendorid: 0d9f >>>>> >>>>> And strange with timer parametr that are changes cycling: >>>>> ups.timer.shutdown: 3570 >>>>> ups.timer.shutdown: 2430 >>>>> ups.timer.shutdown: 1710 >>>>> ... >>>>> ups.timer.shutdown: 870 >>>>> ups.timer.shutdown: 3629 >>>>> ups.timer.shutdown: 2729 >>>>> ups.timer.shutdown: 1829 >>>>> ... >>>>> ups.timer.shutdown: 89 >>>>> ups.timer.shutdown: 3148 >>>>> ... >>>>> >>>>> the ups.conf are: >>>>> [UPS] >>>>> driver = usbhid-ups >>>>> vendorid = 0d9f >>>>> productid = 0004 >>>>> # powercom_sdcmd_byte_order_fallback >>>>> port = auto >>>>> # pollonly = enabled >>>>> pollinterval = 2 >>>>> pollfreq = 30 >>>>> offdelay = 30 >>>>> ondelay = 60 >>>>> allow_killpower >>>>> ignorelb >>>>> override.battery.charge.low = 70 >>>>> # override.battery.runtime.low = 600 >>>>> >>>>> 06.05.2025 01:49, Jim Klimov: >>>>> >>>>> At least the "shutdown.return requires a parameter" part *may* be a >>>>> regression of the new "sdcommands" change in v2.8.3,though I don't think >>>>> older code passed any. Maybe something got lost in mass-edit changes >>>>> though. >>>>> >>>>> Can you please double-check with 2.8.2 if its older approach to UPS >>>>> shutdown behaved better? >>>>> >>>>> Jim Klimov >>>>> >>>>> On Tue, May 6, 2025, 00:41 Alexey Korobeinikov <alexey at fseafood.com> >>>>> wrote: >>>>> >>>>>> Hi, my UPS Model Powercom BNT400AP ( made 2017.12 ) on Linux Devuan >>>>>> Daedalus and NUT v2.8.3 (install from source tarball with "configure >>>>>> --with-usb --with-user=nut --with-group=nut --with-libusb=1.0 >>>>>> --with-statepath=/run/nut --with-pidpath=/run/nut" options) didn't >>>>>> shutdown itself after OS is shuting down by signal of UPS battary is >>>>>> low. >>>>>> >>>>>> ... >>>>> >>>>> 0.184242 Initiating UPS [UPS] shutdown >>>>>> 0.184257 [D1] loop_shutdown_commands: call >>>>>> do_loop_shutdown_commands() with driver-default sdcommands >>>>>> 0.184267 [D1] Starting >>>>>> do_loop_shutdown_commands(shudown.default), call depth 1... >>>>>> 0.184280 [D1] upsdrv_shutdown... >>>>>> 0.184289 [D1] Starting >>>>>> do_loop_shutdown_commands(shutdown.return,shutdown.reboot,load.off.delay,shutdown.stayoff), >>>>>> >>>>>> call depth 2... >>>>>> 0.184299 [D1] instcmd(shutdown.return, [NULL]) >>>>>> 0.184313 [D3] instcmd: using Path >>>>>> 'UPS.PowerSummary.DelayBeforehutdown' >>>>>> 0.184321 [D2] instcmd: shutdown.return requires an explicit >>>>>> parameter >>>>>> >>>>>> 0.184331 [D1] instcmd(shutdown.reboot, [NULL]) >>>>>> 0.184348 [D2] find_nut_info: unknown info type: shutdown.reboot >>>>>> 0.184358 [D3] instcmd: cmdname 'shutdown.reboot' not found; >>>>>> checking for alternatives >>>>>> 0.184371 [D2] instcmd: info element unavailable shutdown.reboot >>>>>> >>>>>> 0.184387 [D1] instcmd(load.off.delay, [NULL]) >>>>>> 0.184398 [D2] find_nut_info: unknown info type: load.off.delay >>>>>> 0.184407 [D3] instcmd: cmdname 'load.off.delay' not found; >>>>>> checking for alternatives >>>>>> 0.184418 [D2] instcmd: info element unavailable load.off.delay >>>>>> >>>>>> 0.184428 [D1] instcmd(shutdown.stayoff, [NULL]) >>>>>> 0.184438 [D3] instcmd: using Path >>>>>> 'UPS.PowerSummary.DelayBeforehutdown' >>>>>> 0.184449 [D2] instcmd: shutdown.stayoff requires an explicit >>>>>> parameter >>>>>> >>>>>> 0.184462 [D1] Ending >>>>>> do_loop_shutdown_commands(shutdown.return,shutdown.reboot,load.off.delay,shutdown.stayoff), >>>>>> >>>>>> call >>>>>> depth 2: return-code 2 >>>>>> 0.184471 Shutdown failed! >>>>>> 0.184483 [D1] set_exit_flag: raising exit flag due to signal -1 >>>>>> 0.184493 [D1] do_loop_shutdown_commands(): command >>>>>> 'shutdown.default' was handled successfully >>>>>> 0.184502 [D1] Ending >>>>>> do_loop_shutdown_commands(shutdown.default), >>>>>> call depth 1: return-code 0 >>>>>> 0.184512 UPS [UPS]: shutdown request was successful with >>>>>> 'shutdown.default' >>>>>> 0.184523 [D1] set_exit_flag: raising exit flag due to >>>>>> programmatic abort: EXIT_FAILURE >>>>>> 0.184540 [D1] upsdrv_cleanup... >>>>>> 0.184899 [D1] upsnotify: failed to notify about state >>>>>> NOTIFY_STATE_STOPPING: no notification tech defined, will not spam >>>>>> more about it >>>>>> 0.184936 [D1] On systems without service units, consider >>>>>> `export >>>>>> NUT_QUIET_INIT_UPSNOTIFY=true` >>>>>> >>>>>> I try to use "powercom_sdcmd_byte_order_fallback" option, with same >>>>>> effect. >>>>>> >>>>>> Wat's wrong with my UPS/NUT ? >>>>>> Thank You! >>>>>> >>>>>> -- >>>>>> Oleksii Korobeinikov >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> Nut-upsuser mailing list >>>>>> Nut-upsuser at alioth-lists.debian.net >>>>>> https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsuser >>>>>> >>>>> >>>>> -- >>>>> ? ??????? >>>>> ???????????? ??????? >>>>> ????????? ????????????? >>>>> >>>>> ??? "??????? ?????"???. ?????????? 152 <https://www.google.com/maps/search/%D0%B2%D1%83%D0%BB.+%D0%91%D1%80%D0%BE%D0%B2%D0%B0%D1%80%D1%81%D1%8C%D0%BA%D0%B0+152?entry=gmail&source=g>, ??? ?????? ??????? >>>>> ???????? ???????, 07442 >>>>> ?.+38 044 495-88-00 >>>>> ??.6101 >>>>> ?.+38 067 994-40-48 >>>>> >>>>> >>>>> _______________________________________________ >>>>> Nut-upsuser mailing listNut-upsuser at alioth-lists.debian.nethttps://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsuser >>>>> >>>>> >>>>> -- >>>>> ? ??????? >>>>> ???????????? ??????? >>>>> ????????? ????????????? >>>>> >>>>> ??? "??????? ?????"???. ?????????? 152 <https://www.google.com/maps/search/%D0%B2%D1%83%D0%BB.+%D0%91%D1%80%D0%BE%D0%B2%D0%B0%D1%80%D1%81%D1%8C%D0%BA%D0%B0+152?entry=gmail&source=g>, ??? ?????? ??????? >>>>> ???????? ???????, 07442 >>>>> ?.+38 044 495-88-00 >>>>> ??.6101 >>>>> ?.+38 067 994-40-48 >>>>> >>>>> >>> -- >>> ? ??????? >>> ???????????? ??????? >>> ????????? ????????????? >>> >>> ??? "??????? ?????"???. ?????????? 152 <https://www.google.com/maps/search/%D0%B2%D1%83%D0%BB.+%D0%91%D1%80%D0%BE%D0%B2%D0%B0%D1%80%D1%81%D1%8C%D0%BA%D0%B0+152?entry=gmail&source=g>, ??? ?????? ??????? >>> ???????? ???????, 07442 >>> ?.+38 044 495-88-00 >>> ??.6101 >>> ?.+38 067 994-40-48 >>> >>> >> -- >> ? ??????? >> ???????????? ??????? >> ????????? ????????????? >> >> ??? "??????? ?????"???. ?????????? 152 <https://www.google.com/maps/search/%D0%B2%D1%83%D0%BB.+%D0%91%D1%80%D0%BE%D0%B2%D0%B0%D1%80%D1%81%D1%8C%D0%BA%D0%B0+152?entry=gmail&source=g>, ??? ?????? ??????? >> ???????? ???????, 07442 >> ?.+38 044 495-88-00 >> ??.6101 >> ?.+38 067 994-40-48 >> >> > -- > ? ??????? > ???????????? ??????? > ????????? ????????????? > > ??? "??????? ?????"???. ?????????? 152 <https://www.google.com/maps/search/%D0%B2%D1%83%D0%BB.+%D0%91%D1%80%D0%BE%D0%B2%D0%B0%D1%80%D1%81%D1%8C%D0%BA%D0%B0+152?entry=gmail&source=g>, ??? ?????? ??????? > ???????? ???????, 07442 > ?.+38 044 495-88-00 > ??.6101 > ?.+38 067 994-40-48 > >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://alioth-lists.debian.net/pipermail/nut-upsuser/attachments/20250515/12b1fe93/attachment-0001.htm>