Hi All, I've got two APC SmartUPS's that behave differently with nut, I have a SmartUPS1400 & a SmartUPS1250. I'm fairly sure this isn't a nut problem but more likely a problem with the age of the SmartUPS1250 and the apcsmart driver not being able to identify it. Under the APC Powerchute software the same monitoring & command parameters are available for both UPS's but not with nut. Is there a way of being able to monitor voltages/load etc on the SmartUPS1250? Here is the apcsmart debug output for the old 1250: # apcsmart -D -D -D -D -D -D -D -D -D -a smartups1250 Network UPS Tools (version 2.2.2) - APC Smart protocol driver Driver version 1.99.8, command table version 2.0 debug level is '9' Attempting firmware lookup Attempting to contact older Smart-UPS version APC - Attempting to find command set update_status Detected Smart-UPS [07025563] on /dev/ttyS0 here is the apcsmart debug output for the 1400: # apcsmart -D -D -D -D -D -D -D -D -D -a smartups1400 Network UPS Tools (version 2.0.3) - APC Smart protocol driver Driver version 1.99.7, command table version 2.0 debug level is '9' Attempting firmware lookup Firmware: [70.9.I] Not found in table - trying normal method APC - Attempting to find command set APC - Parsing out command set UPS supports variable [ups.model] poll_data: ups.model UPS supports command [load.on] UPS supports variable [input.quality] poll_data: input.quality UPS supports variable [battery.packs] poll_data: battery.packs UPS supports command [test.panel.start] UPS supports variable [battery.voltage] poll_data: battery.voltage UPS supports variable [ups.temperature] poll_data: ups.temperature UPS supports command [calibrate.start] UPS supports command [calibrate.stop] UPS supports variable [ups.test.interval] poll_data: ups.test.interval UPS supports variable [input.frequency] poll_data: input.frequency UPS supports variable [input.transfer.reason] poll_data: input.transfer.reason UPS supports command [shutdown.stayoff] UPS supports variable [input.voltage] poll_data: input.voltage UPS supports variable [input.voltage.maximum] poll_data: input.voltage.maximum UPS supports variable [input.voltage.minimum] poll_data: input.voltage.minimum UPS supports variable [output.voltage] poll_data: output.voltage UPS supports variable [ups.load] poll_data: ups.load UPS supports command [shutdown.return] UPS supports command [test.failure.start] protocol_verify: 0x56 [V] unrecognized UPS supports command [test.battery.start] UPS supports command [test.battery.stop] UPS supports variable [ups.test.result] poll_data: ups.test.result UPS supports command [load.off] UPS supports variable [ups.firmware] poll_data: ups.firmware UPS supports variable [ups.id] poll_data: ups.id UPS supports variable [battery.charge.restart] poll_data: battery.charge.restart UPS supports variable [battery.charge] poll_data: battery.charge UPS supports variable [battery.voltage.nominal] poll_data: battery.voltage.nominal UPS supports variable [battery.runtime] poll_data: battery.runtime UPS supports variable [battery.alarm.threshold] poll_data: battery.alarm.threshold UPS supports variable [input.transfer.low] poll_data: input.transfer.low UPS supports variable [ups.mfr.date] poll_data: ups.mfr.date UPS supports variable [ups.serial] poll_data: ups.serial UPS supports variable [output.voltage.target.battery] poll_data: output.voltage.target.battery UPS supports variable [ups.delay.shutdown] poll_data: ups.delay.shutdown UPS supports variable [battery.runtime.low] poll_data: battery.runtime.low UPS supports variable [ups.delay.start] poll_data: ups.delay.start UPS supports variable [input.sensitivity] poll_data: input.sensitivity UPS supports variable [input.transfer.high] poll_data: input.transfer.high UPS supports variable [battery.date] poll_data: battery.date APC - About to get capabilities string Supported capability: 75 (I) - input.transfer.high Supported capability: 6c (I) - input.transfer.low Supported capability: 65 (4) - battery.charge.restart Supported capability: 6f (I) - output.voltage.target.battery Supported capability: 73 (4) - input.sensitivity Supported capability: 71 (4) - battery.runtime.low Supported capability: 70 (4) - ups.delay.shutdown Supported capability: 6b (4) - battery.alarm.threshold Supported capability: 72 (4) - ups.delay.start Supported capability: 45 (4) - ups.test.interval APC - UPS capabilities determined Detected SMART-UPS 1400 [GS9715372862] on /dev/ttyS0 Many Thanks, Don H
Charles Lepple
2008-Jul-04 12:50 UTC
[Nut-upsuser] Old APC SmartUPS 1250, Nut 2.2.2 Fedora 9
On Thu, Jul 3, 2008 at 4:36 AM, Don Harvie <donharvie at yahoo.com.au> wrote:> Hi All, > > I've got two APC SmartUPS's that behave differently with nut, I have a > SmartUPS1400 & a SmartUPS1250. > > I'm fairly sure this isn't a nut problem but more likely a problem with > the age of the SmartUPS1250 and the apcsmart driver not being able to > identify it. Under the APC Powerchute software the same monitoring & > command parameters are available for both UPS's but not with nut. Is > there a way of being able to monitor voltages/load etc on the SmartUPS1250? > > Here is the apcsmart debug output for the old 1250: > > # apcsmart -D -D -D -D -D -D -D -D -D -a smartups1250 > Network UPS Tools (version 2.2.2) - APC Smart protocol driver > Driver version 1.99.8, command table version 2.0 > debug level is '9' > Attempting firmware lookup > Attempting to contact older Smart-UPS version > APC - Attempting to find command set > update_status > Detected Smart-UPS [07025563] on /dev/ttyS0Don, It looks like your UPS needs to be added to the list of model identifiers here: http://boxster.ghz.cc/projects/nut/browser/trunk/drivers/apcsmart.c#L524 Note the other SmartUPS1250 comment. Does the APC software list a three-character firmware identifier? (If there is a screen of identification information there, that might be handy to send.) Arjen: looks like you added some identifiers to this list previously. Would you have any objection to moving the upsdebugx() line up so that the firmware version gets printed before firmware_table_lookup() exits? -- - Charles Lepple
Charles Lepple
2008-Jul-10 12:28 UTC
[Nut-upsuser] Old APC SmartUPS 1250, Nut 2.2.2 Fedora 9
On Jul 10, 2008, at 1:03 AM, Don Harvie wrote:> > I don't currently have the powerchute software installed on any > machines, but when communicating via a serial terminal I get the > following result for APC protocol commands: > > ^A No response > ^Z No response > V 8TI > a No response > b No response > m 08/24/95 > n 07025563 > > I've modified the apcsmart driver source & briefly tested against > the 1250 with no issues noted yet. > > I've attached a patchfile for apcsmart.c & apcsmart.h with the > extra bits I've added.Don, thanks for testing that. I just committed that to the SVN trunk, so it should be part of the next release of NUT. -- Charles Lepple clepple at gmail
Arjen de Korte
2008-Jul-11 10:27 UTC
[Nut-upsuser] Old APC SmartUPS 1250, Nut 2.2.2 Fedora 9
> Ok referencing that table against my 1250 the 8TI is spot on > (SmartUPS1250, Standalone 230V). > > However comparing the interpretation of the New Firmware against the > SmartsUPS 1400 (ups.firmware: 70.9.I) It may be a little inaccurate.No, it isn't. We only use the (old) 'V' command if the (new) 'b' command fails. Apparently, your UPS already replied to the latter, so we would never see the reply to the 'V' command anyway and what is reported is the answer we got for the 'b' command.> It's standalone, not rack mount & what does the 0 behind the 7 denote.The format of the reply to the 'b' command is totally different. See the link I posted earlier.> V returns KWI Which on the old decode Is also rack mount - so maybe > I've got rack mount firmware.....Usually the difference between standalone or rackmount (from the NUT point of view at least) is irrelevant. Best regards, Arjen
Charles Lepple
2008-Jul-12 02:26 UTC
[Nut-upsuser] Old APC SmartUPS 1250, Nut 2.2.2 Fedora 9
[er, that should have been cc'd to the list, not nut-upsuser-owner. sorry.] On Fri, Jul 11, 2008 at 10:24 PM, Charles Lepple <clepple at gmail.com> wrote:> Don, > > just for completeness, what does 'upsc' return for the old 1250 with > the patched driver? > > (You may remove the serial number if you prefer - I'm just checking to > be sure we're getting sane values for everything.) > > -- > - Charles Lepple >-- - Charles Lepple