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