[Nut-upsuser] Differences between USB and serial on an MGE Pulsar Evolution 3000

Neil A. Hillard neil at dana.org.uk
Thu Oct 6 13:49:53 UTC 2011


Hi,

I've been using NUT for many years to look after the UPS on my home 
servers.  Originally I was using a Compaq R3000 but that was replaced 
with an MGE Pulsar Evolution 3000 about a couple of years ago because 
the Compaq one was just too noisy!

I'm just setting up a replacement server and would like to connect it 
using a serial cable as I've found that the USB connection occasionally 
drops out on the current server.

Unfortunately there appears to be a lot of parameters missing from the 
serial driver (using mge-shut) when compared to the USB driver 
(usbhid-ups) and more importantly, output.voltage.nominal is reported at 
72 Volts instead of the correct 230 Volts.

I've looked into the source code (I know a little C) but unfortunately 
I'm unable to follow it completely to look at correcting the problem and 
perhaps adding in the missing parameters (if they're available over the 
serial connection.

I've included below a debug output from mge-shut that shows the current 
output voltage being fetched correctly but the nominal voltage coming 
back incorrectly.  I've also included the upsc output for both serial 
and USB connections.

If anyone could give me any advice as to why the nominal voltage is 
decoded incorrectly (or even describe how it's decoded so I can 
investigate it myself) then that would be appreciated.  Advice on how to 
add the extra parameters in would also be appreciated.

Many thanks in advance,


Neil.

Extract from mge-shut -DDDDDDD
------------------------------
   12.207366     entering hid_get_value(UPS.PowerConverter.Output.Voltage)
   12.207371     entering lookup_path(UPS.PowerConverter.Output.Voltage)
   12.207375     parsing UPS
   12.207384     Looking up UPS
   12.207387     hid_lookup_usage: found 840004
   12.207389     parsing PowerConverter
   12.207392     Looking up PowerConverter
   12.207395     hid_lookup_usage: found 840016
   12.207397     parsing Output
   12.207408     Looking up Output
   12.207411     hid_lookup_usage: found 84001c
   12.207414     parsing Voltage
   12.207416     Looking up Voltage
   12.207419     hid_lookup_usage: found 840030
   12.207422     Path depth = 4

   12.207425     0: Usage(00840004)

   12.207427     1: Usage(00840016)

   12.207430     2: Usage(0084001c)

   12.207433     3: Usage(00840030)

   12.207438     entering shut_get_report(id: 12, len: 1800)
   12.207441     entering shut_packet_send (8)
   12.207444     shut_checksum = a9
   12.207449     sent: (11 bytes) => 81 88 a1 01 12 03 00 00 00 18 a9
   12.263301     received: 06
   12.263310     shut_wait_ack(): ACK received
   12.263315     received ACK
   12.263319     entering shut_packet_recv (6144)
   12.268293     received: 84
   12.272302     received: 88
   12.272312     Receive: (2 bytes) => 84 88
   12.276301     received: 12
   12.280300     received: d2
   12.284295     received: 00
   12.288300     received: 64
   12.292290     received: 00
   12.297295     received: 32
   12.301300     received: eb
   12.305295     received: 00
   12.305306     Receive: (8 bytes) => 12 d2 00 64 00 32 eb 00
   12.309300     received: 7d
   12.309309     shut_checksum: 7d => OK
   12.309316     sent: (1 bytes) => 06
   12.309330     shut_get_report: (8 bytes) => 12 d2 00 64 00 32 eb 00
   12.309339     Object's report: (10 bytes) => 12 d2 00 64 00 32 eb 00 
a1 00
   12.309343     Value = 235
   12.309351     send_to_all: SETINFO output.voltage "235"
   12.309357     entering hid_get_value(UPS.PowerSummary.ConfigVoltage)
   12.309362     entering lookup_path(UPS.PowerSummary.ConfigVoltage)
   12.309366     parsing UPS
   12.309370     Looking up UPS
   12.309375     hid_lookup_usage: found 840004
   12.309384     parsing PowerSummary
   12.309387     Looking up PowerSummary
   12.309390     hid_lookup_usage: found 840024
   12.309392     parsing ConfigVoltage
   12.309395     Looking up ConfigVoltage
   12.309398     hid_lookup_usage: found 840040
   12.309400     Path depth = 3

   12.309411     0: Usage(00840004)

   12.309415     1: Usage(00840024)

   12.309417     2: Usage(00840040)

   12.309423     entering shut_get_report(id: 08, len: 1800)
   12.309426     entering shut_packet_send (8)
   12.309429     shut_checksum = b3
   12.309435     sent: (11 bytes) => 81 88 a1 01 08 03 00 00 00 18 b3
   12.368306     received: 06
   12.368317     shut_wait_ack(): ACK received
   12.368322     received ACK
   12.368326     entering shut_packet_recv (6144)
   12.373292     received: 84
   12.377302     received: 22
   12.377312     Receive: (2 bytes) => 84 22
   12.381302     received: 08
   12.385295     received: 48
   12.385305     Receive: (2 bytes) => 08 48
   12.389302     received: 40
   12.389310     shut_checksum: 40 => OK
   12.389318     sent: (1 bytes) => 06
   12.389331     shut_get_report: (2 bytes) => 08 48
   12.389340     Object's report: (10 bytes) => 08 48 00 64 00 32 eb 00 
a1 00
   12.389344     Value = 72
   12.389352     send_to_all: SETINFO output.voltage.nominal "72"
   12.389358     entering hid_get_value(UPS.PowerSummary.Output.Current)
   12.389363     entering lookup_path(UPS.PowerSummary.Output.Current)


USB (using usbhid-ups)
----------------------
battery.charge: 100
battery.charge.low: 20
battery.charge.restart: 0
battery.energysave: no
battery.protection: yes
battery.runtime: 5400
battery.type: PbAc
device.mfr: MGE UPS SYSTEMS
device.model: Pulsar Evolution 3000
device.serial: AF3Ennnnn
device.type: ups
driver.name: usbhid-ups
driver.parameter.pollfreq: 30
driver.parameter.pollinterval: 2
driver.parameter.port: auto
driver.parameter.productid: ffff
driver.parameter.vendorid: 0463
driver.version: 2.6.1
driver.version.data: MGE HID 1.21
driver.version.internal: 0.35
input.frequency: 50.0
input.frequency.extended: no
input.frequency.nominal: 50
input.sensitivity: normal
input.transfer.boost.low: 184
input.transfer.high: 294
input.transfer.low: 160
input.transfer.trim.high: 265
input.voltage: 238.0
input.voltage.extended: no
input.voltage.nominal: 230
outlet.1.autoswitch.charge.low: 0
outlet.1.delay.shutdown: 65535
outlet.1.delay.start: 3
outlet.1.desc: PowerShare Outlet 1
outlet.1.id: 1
outlet.1.status: on
outlet.1.switchable: yes
outlet.2.autoswitch.charge.low: 0
outlet.2.delay.shutdown: 65535
outlet.2.delay.start: 6
outlet.2.desc: PowerShare Outlet 2
outlet.2.id: 2
outlet.2.status: on
outlet.2.switchable: yes
outlet.desc: Main Outlet
outlet.id: 0
outlet.switchable: no
output.current: 1.00
output.current.nominal: 13.04
output.frequency: 50.0
output.frequency.nominal: 50
output.voltage: 236.0
output.voltage.nominal: 230
ups.beeper.status: enabled
ups.delay.shutdown: 20
ups.delay.start: 30
ups.load: 10
ups.mfr: MGE UPS SYSTEMS
ups.model: Pulsar Evolution 3000
ups.power: 210
ups.power.nominal: 3000
ups.productid: ffff
ups.realpower.nominal: 2000
ups.serial: AF3E39202
ups.start.auto: yes
ups.start.battery: yes
ups.start.reboot: yes
ups.status: OL CHRG
ups.test.interval: 604800
ups.test.result: Done and passed
ups.timer.shutdown: -1
ups.timer.start: -10
ups.type: offline / line interactive
ups.vendorid: 0463


Serial (using mge-shut)
-----------------------
battery.charge: 100
battery.charge.low: 20
battery.runtime: 5400
device.mfr: MGE UPS SYSTEMS
device.model: Pulsar Evolution 3000
device.serial: AF3E39202
device.type: ups
driver.name: mge-shut
driver.parameter.pollinterval: 2
driver.parameter.port: /dev/ups0
driver.version: 2.6.2
driver.version.internal: 0.69
input.frequency: 50
input.voltage: 240
outlet.1.autoswitch.charge.low: 0
outlet.1.delay.shutdown: -1
outlet.1.delay.start: -1
outlet.1.desc: PowerShare Outlet 1
outlet.1.id: 1
outlet.1.switch: 1
outlet.1.switchable: 1
outlet.2.autoswitch.charge.low: 0
outlet.2.delay.shutdown: -1
outlet.2.delay.start: -1
outlet.2.desc: PowerShare Outlet 2
outlet.2.id: 2
outlet.2.switch: 1
outlet.2.switchable: 1
outlet.desc: Main Outlet
outlet.id: 0
outlet.switchable: 0
output.frequency: 50
output.voltage: 237
output.voltage.nominal: 72
ups.load: 10
ups.mfr: MGE UPS SYSTEMS
ups.model: Pulsar Evolution 3000
ups.power.nominal: 3000
ups.serial: AF3Ennnnn
ups.status: OL CHRG
ups.test.result: Done and passed
ups.timer.shutdown: -1
ups.timer.start: -1



More information about the Nut-upsuser mailing list