[Nut-upsuser] LiebertPSP

Tim Gould tgould at reverb.com.au
Sat Sep 24 09:48:47 UTC 2011


Apologies for resurrecting an old thread and likely poor formatting - I wasn't subscribed to the list at the time and have copied it out of the archives (http://lists.alioth.debian.org/pipermail/nut-upsuser/2010-July/006104.html).

I've been unable to locate any further progress on this UPS (Liebert 10af:0001) - a thread from 2009 (http://lists.alioth.debian.org/pipermail/nut-upsdev/2009-November/004252.html) seemed to work for a Liebert PSA 650 model from then, but this 2010 thread seems to have unearthed an incompatible model - I've just purchased two Liebert PSA 1500 which exhibit exactly the same issues as below. I've put some output inline.

I've checked out trunk and there seems to be no progress there. I'm happy to help debugging the driver, is there still some way we can progress this?

All I get from upsc is:

battery.charge.low: 38
battery.charge.warning: 38
battery.type: PbAc
device.mfr: Emerson Network Power
device.model: LiebertPSA
device.serial:           
device.type: ups
driver.name: usbhid-ups
driver.parameter.pollfreq: 30
driver.parameter.pollinterval: 2
driver.parameter.port: auto
driver.version: 2.6.2-3254
driver.version.data: Belkin HID 0.12
driver.version.internal: 0.35
ups.mfr: Emerson Network Power
ups.model: LiebertPSA
ups.productid: 0001
ups.serial:           
ups.status: OB
ups.vendorid: 10af


Many thanks, Tim.

> Tue Jul 13 19:54:03 UTC 2010
> Citeren Michelle Wright <michelle.wright op gmail.com>:
> 
> > $ sudo /lib/nut/usbhid-ups -DDD -a maxfun
> > Network UPS Tools - Generic HID driver 0.34 (2.4.3)
> > USB communication driver 0.31
> 
> [...]
> 
> >   0.341940     Report[get]: (3 bytes) => 1d 8b 00
> >   0.341960     Path: UPS.PowerSummary.Voltage, Type: Feature, ReportID:
> > 0x1d, Offset: 0, Size: 16, Value: 0.000001
> 
> The UPS is reporting a battery voltage of 1 uV here, most likely  
> because Liebert got the exponent of this value wrong. I assume they  
> meant something like 13.9 V, since 00 8B (hex) equals 139 (decimal).  
> We can fix this though, but this will require a dedicated sub driver.
I get:
0.413899	Report[get]: (3 bytes) => 1d 08 01
0.413920	Path: UPS.PowerSummary.Voltage, Type: Feature, ReportID: 0x1d, Offset: 0, Size: 16, Value: 0.000003

> 
> >   0.345939     Report[get]: (3 bytes) => 1f 0c 00
> >   0.345956     Path: UPS.PowerSummary.ConfigVoltage, Type: Feature,
> > ReportID: 0x1f, Offset: 0, Size: 16, Value: 0.000000
> 
> Same here. The nominal battery voltage is probably 12 V, but what is  
> reported is 0.12 uV, since 00 0C (hex) equals 12 (decimal). Can be  
> fixed too.
0.417897	Report[get]: (3 bytes) => 1f 18 00
0.417916	Path: UPS.PowerSummary.ConfigVoltage, Type: Feature, ReportID: 0x1f, Offset: 0, Size: 16, Value: 0.000000

> 
> >   0.350081     Report[buf]: (2 bytes) => 07 0d
> >   0.350095     Path: UPS.PowerSummary.PresentStatus.ACPresent, Type:
> > Feature, ReportID: 0x07, Offset: 2, Size: 1, Value: 0.000000
> >   0.350106     Report[buf]: (2 bytes) => 07 0d
> >   0.350120     Path: UPS.PowerSummary.PresentStatus.ACPresent, Type:
> > Input, ReportID: 0x07, Offset: 2, Size: 1, Value: 0.000000
> 
> Although I didn't expect otherwise, the UPS is reporting that AC is  
> not present (that's why you see NUT reporting OB instead of OL). Try  
> if these value change to '1.000000' if you unplug the mains. 
I tried this - unfortunately no they do not. I get this with power disconnected:
   0.422018	Report[buf]: (2 bytes) => 07 0d
   0.422034	Path: UPS.PowerSummary.PresentStatus.ACPresent, Type: Feature, ReportID: 0x07, Offset: 2, Size: 1, Value: 0.000000
   0.422046	Report[buf]: (2 bytes) => 07 0d
   0.422061	Path: UPS.PowerSummary.PresentStatus.ACPresent, Type: Input, ReportID: 0x07, Offset: 2, Size: 1, Value: 0.000000

With the upsd and upsmon running, I get a console message that I'm on battery which stays that way regardless of whether the AC is connected or not.
> In that  
> case Liebert seems to report the status reversed from what is  
> specified in the HID PDC specifications (which doesn't surprise me at  
> all, given the broken battery voltage reporting).
> 
> >   0.350131     Report[buf]: (2 bytes) => 07 0d
> >   0.350145     Path: UPS.PowerSummary.PresentStatus.BatteryPresent, Type:
> > Feature, ReportID: 0x07, Offset: 3, Size: 1, Value: 0.000000
> >   0.350156     Report[buf]: (2 bytes) => 07 0d
> >   0.350170     Path: UPS.PowerSummary.PresentStatus.BatteryPresent, Type:
> > Input, ReportID: 0x07, Offset: 3, Size: 1, Value: 0.000000
> 
> I assume the UPS contains a battery and that this value is reversed as well.
  0.422073	Report[buf]: (2 bytes) => 07 0d
   0.422088	Path: UPS.PowerSummary.PresentStatus.BatteryPresent, Type: Feature, ReportID: 0x07, Offset: 3, Size: 1, Value: 0.000000
   0.422101	Report[buf]: (2 bytes) => 07 0d
   0.422116	Path: UPS.PowerSummary.PresentStatus.BatteryPresent, Type: Input, ReportID: 0x07, Offset: 3, Size: 1, Value: 0.000000

My UPS contains a battery, yes :)
> 
> >   0.353937     Report[get]: (3 bytes) => 2b 63 09
> >   0.353954     Path: UPS.Output.Voltage, Type: Feature, ReportID: 0x2b,
> > Offset: 0, Size: 16, Value: 0.000024
> 
> Most likely the same problem as for the battery voltage. It looks more  
> like the output voltage should be 240.3 V, instead of 24.03 uV.

   0.425897	Report[get]: (3 bytes) => 2b 60 09
   0.425916	Path: UPS.Output.Voltage, Type: Feature, ReportID: 0x2b, Offset: 0, Size: 16, Value: 0.000024

> 
> >   0.361937     Report[get]: (3 bytes) => 20 68 09
> >   0.361954     Path: UPS.Input.Voltage, Type: Feature, ReportID: 0x20,
> > Offset: 0, Size: 16, Value: 0.000024
> 
> Same here. Input voltage is probably 240.8 V instead of 24.08 uV.
   0.433903	Report[get]: (3 bytes) => 20 68 09
   0.433925	Path: UPS.Input.Voltage, Type: Feature, ReportID: 0x20, Offset: 0, Size: 16, Value: 0.000024

> 
> >   0.365937     Report[get]: (3 bytes) => 38 f5 01
> >   0.365955     Path: UPS.Input.Frequency, Type: Feature, ReportID: 0x38,
> > Offset: 0, Size: 16, Value: 501.000000
> 
> Something similar here too. The input frequency is probably 50.1 Hz,  
> instead of 501 Hz.
   0.437896	Report[get]: (3 bytes) => 38 f3 01
   0.437916	Path: UPS.Input.Frequency, Type: Feature, ReportID: 0x38, Offset: 0, Size: 16, Value: 499.000000

> 
> >   0.630102     upsdrv_updateinfo...
> >   0.881839     libusb_get_interrupt: Connection timed out
> >   0.881854     Got 0 HID objects...
> >   0.881863     Quick update...
> 
> NUT attempts to read from the interrupt pipeline here, but at this  
> time there are no messages queued. This is normal, nothing to worry  
> about.
> 
> The good news is that we can probably support this UPS (sort of),  
> provided you're willing to help us finding and fixing all it's quirks.  
> It will require checking out the development version from SVN and  
> frequent compiling from sources. You'd also need to be able to take  
> the UPS out of service from time to time for testing a new version of  
> the driver. Let us know if you are interested in helping getting this  
> device supported.
No problem, happy to do this.

> 
> Best regards, Arjen
> -- 
> Please keep list traffic on the list
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/nut-upsuser/attachments/20110924/4ae3752d/attachment.html>


More information about the Nut-upsuser mailing list