[Nut-upsuser] POWERCOM UPS USB : UPS Shutdown

Jim Klimov jimklimov+nut at gmail.com
Thu May 15 17:11:12 BST 2025


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>


More information about the Nut-upsuser mailing list