Hontvári József Levente
2013-Nov-22 17:47 UTC
[Nut-upsuser] forcing the driver to issue a different command on shutdown
It seems that the UPS I wrote in my previous mail uses the Megatec protocol, but does not support the S<n>R<m> "Shut Down and Restore" Command. This means that the server will shut down cleanly, but it will not boot automatically when the utility power comes back. There is another shutdown command according to the protocol description, although I do not really understand the difference: S<n>. I do not hope too much, but I would try whether the second command is supported. Is there a way to force the driver to issue this command? I attached the log. The driver displays that "Shutting down in 30 seconds", but this does not happen, and as it can be seen from the log, the UPS echoes back the shutdown command, which means that it does not understand it. Again, UPS data (to help Google): UPS: Pannon Power M1500; aka Micro 1500; aka Micropower 1500. It is bundled with the Upsilon 2000 software. This seems to be a very similar device: http://www.kstarpower.com/ProductDetail.aspx?ProductId=5abd8617-f121-4cef-b2b0-c96a16cb6c56 Levente -------------- next part -------------- root at munka:/usr/local/ups# bin/blazer_usb -a ups -u nut -k -DDD Network UPS Tools - Megatec/Q1 protocol USB driver 0.10 (2.7.1) 0.000000 debug level is '3' 0.644678 Checking device (1D6B/0001) (007/001) 0.707694 - VendorID: 1d6b 0.707804 - ProductID: 0001 0.707854 - Manufacturer: unknown 0.707903 - Product: unknown 0.707950 - Serial Number: unknown 0.707993 - Bus: 007 0.708038 Trying to match device 0.708092 Device does not match - skipping 0.708174 Checking device (1D6B/0001) (006/001) 0.771678 - VendorID: 1d6b 0.771755 - ProductID: 0001 0.771837 - Manufacturer: unknown 0.771880 - Product: unknown 0.771943 - Serial Number: unknown 0.771996 - Bus: 006 0.772043 Trying to match device 0.772100 Device does not match - skipping 0.772182 Checking device (1D6B/0001) (005/001) 0.835674 - VendorID: 1d6b 0.835785 - ProductID: 0001 0.835825 - Manufacturer: unknown 0.835892 - Product: unknown 0.835950 - Serial Number: unknown 0.836010 - Bus: 005 0.836063 Trying to match device 0.836122 Device does not match - skipping 0.836242 Checking device (0001/0000) (004/002) 1.840543 - VendorID: 0001 1.840616 - ProductID: 0000 1.840674 - Manufacturer: unknown 1.840725 - Product: STD UPS MON V1.0 1.840783 - Serial Number: unknown 1.840836 - Bus: 004 1.840894 Trying to match device 1.840964 Device matches 1.842538 Initiating UPS shutdown 1.842607 instcmd(shutdown.stop, [NULL]) 1.842693 send: C 2.359574 received 3 (67) 2.359673 read: 2.359714 instcmd: command [shutdown.stop] failed 2.359763 instcmd(shutdown.stop, [NULL]) 2.359840 send: C 2.872594 received 3 (67) 2.872679 read: 2.872718 instcmd: command [shutdown.stop] failed 2.872768 instcmd(shutdown.stop, [NULL]) 2.872840 send: C 3.385610 received 3 (67) 3.385679 read: 3.385738 instcmd: command [shutdown.stop] failed 3.385787 No shutdown pending 3.385848 instcmd(shutdown.return, [NULL]) 3.385918 send: S.5R0003 3.385985 read: S.5R0003 3.386046 instcmd: command [shutdown.return] handled 3.386106 Shutting down in 30 seconds
hyouko at gmail.com
2013-Nov-23 21:21 UTC
[Nut-upsuser] forcing the driver to issue a different command on shutdown
In general if you want to use the Sn command you have to set 'ondelay' to 0 (supported starting from 2.7.1, previously an ondelay = 0 was wrongly associated to the same command that causes a shutdown.stayoff). However.. It seems to me that the driver is using the 'krauler' usb subdriver, if that is the case the only commands sent by the subdriver are these ones: - Q1 -> used for the status - F -> used for ratings - I -> used for ratings - T -> test.battery.start.quick - TL -> test.battery.start.deep - Q -> beeper.toggle - C -> shutdown.stop/load.on - CT -> test.battery.stop All other commands are simply echoed back by the subdriver itself, they don't even get sent to the UPS. If the UPS has a serial interface, using it may provide more chances of success.