[Nut-upsuser] Cyberpower PR2200ELCDRT2U [HCL]

Christoph Lampl chris at weeone.de
Mon Nov 13 15:25:09 UTC 2017


Dear Charles,

thanks for all your information.

By using usbhid-driver we tested PR2200ELCDRT2U. FreeNAS was receiving "ONBATT" successfully and also initiated it's graceful shutdown!

So thanks for your information! :) I'm happy that it works!

Cheers,
Chris


-----Ursprüngliche Nachricht-----
Von: Charles Lepple [mailto:clepple at gmail.com] 
Gesendet: Sonntag, 12. November 2017 21:12
An: Christoph Lampl <chris at weeone.de>
Cc: nut-upsuser at lists.alioth.debian.org
Betreff: Re: [Nut-upsuser] Cyberpower PR2200ELCDRT2U [HCL]

On Nov 10, 2017, at 5:31 PM, Christoph Lampl <chris at weeone.de> wrote:
> 
> Dear Charles,
> 
> thanks for your quick answer and your information! I didn't know there is a difference in the PR-series between old and new. So thanks for this valuable information!

Just a lucky guess :-) We tend not to know about changes like this until someone reports an issue.
> 
> usbconfig dump_device_desc shows:
> 
> ugen0.2: <CyberPower Systems product 0x0601> at usbus0, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON (50mA)                               
> 
>  bLength = 0x0012                                                                                                                  
>  bDescriptorType = 0x0001                                                                                                          
>  bcdUSB = 0x0110                                                                                                                   
>  bDeviceClass = 0x0000  <Probed by interface class>                                                                                
>  bDeviceSubClass = 0x0000                                                                                                          
>  bDeviceProtocol = 0x0000                                                                                                          
>  bMaxPacketSize0 = 0x0008                                                                                                          
>  idVendor = 0x0764                                                                                                                 
>  idProduct = 0x0601                                                                                                                
>  bcdDevice = 0x0200                                                                                                                
>  iManufacturer = 0x0003  <CyberPower Systems>                                                                                      
>  iProduct = 0x0001  <retrieving string failed>                                                                                     
>  iSerialNumber = 0x0000  <no string>                                                                                               
>  bNumConfigurations = 0x0001    
> 
> Right now, I selected " Cyber Power Systems ups 3 OR2200LCDRM2U USB (usbhid-ups)" in the dropdown menu, in order to shift away from powerpanel-driver to usbhid-driver.

Thanks, good to know. PR6000LCDRTXL5U would probably also work.

> However, when choosing this driver, freenas shows this log:
> 
> Nov 10 23:04:45 storageunit upsd[17599]: mainloop: Interrupted system 
> call Nov 10 23:04:45 storageunit upsmon[17621]: upsmon parent: read
> 
> I guess, interrupted system call shows up, because FreeNAS is already trying to "read" a response from the battery from the previous attempt, however is still waiting? So, basically, the output is "upsmon parent: read"... however, this is all and there is no further output. But I think, there should be further output, shouldn't it? (some sort like "link established successfully").

Those are likely from the previous instances of upsd and upsmon - they look like the "errors" you get from sending SIGTERM to them.

The UPS drivers send their "connected" message to stdout, and they are not consistent about that, either. Pretty sure we have that logged as a bug.

Do you know the lowest syslog level FreeNAS logs by default? (debug, info, notice, etc. - see https://www.freebsd.org/cgi/man.cgi?query=syslog&sektion=3&apropos=0 for the list, and it might be in /etc/syslog.conf)

> Meanwhile I tried connecting the UPS PR2200ELCDRT2U to pfSense system. However, I'm receiving the same error there, too.
> 
> Nov 10 13:59:45               upsmon               49323   Poll UPS [PR2200ELCDRT2U] failed - Driver not connected
> Nov 10 13:59:40               upsmon               49323   UPS PR2200ELCDRT2U is unavailable
> Nov 10 13:59:40               upsmon               49323   Poll UPS [PR2200ELCDRT2U] failed - Driver not connected
> Nov 10 13:59:35               upsmon               49323   Communications with UPS PR2200ELCDRT2U lost
> Nov 10 13:59:35               upsmon               49323   Poll UPS [PR2200ELCDRT2U] failed - Driver not connected
> Nov 10 13:59:35               upsd      49831   User monuser at 127.0.0.1 logged into UPS [PR2200ELCDRT2U]
> Nov 10 13:59:33               upsd      49831   Startup successful
> Nov 10 13:59:33               upsd      49649   Can't connect to UPS [PR2200ELCDRT2U] (usbhid-ups-PR2200ELCDRT2U): No such file or directory
> 
> (newest entry is at top)

Again, the upsd and upsmon messages are secondary results from the driver not starting. Are there any log messages that reference usbhid-ups (the process name for your driver)?
> 
> So, back to FreeNAS, after selecting usbhid as driver, I ran following commands from shell:
> 
> - upsc PR2200ELCDRT2U at localhost
> - upscmd -l PR2200ELCDRT2U
> - upsrw PR2200ELCDRT2U at localhost                                                                                                                                                                      
> 
> And here ist he output:
> 
> ----------------------------------------------------------------------
> -------------------------------------
> 
> upsc PR2200ELCDRT2U at localhost                                                                                 
> battery.charge: 100                                                                                                                 
> battery.charge.low: 35                                                                                                              
> battery.charge.warning: 20                                                                                                          
> battery.mfr.date: CyberPower Systems                                                                                                
> battery.runtime: 7980                                                                                                               
> battery.runtime.low: 592                                                                                                            
> battery.type: PbAcid                                                                                                                
> battery.voltage: 53.8                                                                                                               
> battery.voltage.nominal: 48                                                                                                         

^ Are these correct? (seems reasonable for a 4 x 12V battery)

> device.mfr: CyberPower Systems                                                                                                      
> device.type: ups                                                                                                                    
> driver.name: usbhid-ups                                                                                                             
> driver.parameter.pollfreq: 30                                                                                                       
> driver.parameter.pollinterval: 2                                                                                                    
> driver.parameter.port: /dev/ugen0.2                                                                                                 
> driver.parameter.synchronous: no                                                                                                    
> driver.version: 2.7.4                                                                                                               
> driver.version.data: CyberPower HID 0.4                                                                                             
> driver.version.internal: 0.41                                                                                                       
> input.transfer.high: 259                                                                                                            
> input.transfer.low: 206                                                                                                             
> input.voltage: 235.0                                                                                                                
> input.voltage.nominal: 230                                                                                                          
> output.voltage: 235.0                                                                                                               
> ups.beeper.status: enabled                                                                                                          
> ups.delay.shutdown: 20                                                                                                              
> ups.delay.start: 30                                                                                                                 
> ups.load: 12                                                                                                                        
> ups.mfr: CyberPower Systems                                                                                                         
> ups.productid: 0601                                                                                                                 
> ups.realpower.nominal: 1980                                                                                                         
> ups.status: OL                                                                                                                      
> ups.timer.shutdown: -60                                                                                                             
> ups.timer.start: -60                                                                                                                
> ups.vendorid: 0764    
> 
> ----------------------------------------------------------------------
> -------------------------------------
> 
> upscmd -l PR2200ELCDRT2U                                                                                      
> Instant commands supported on UPS [PR2200ELCDRT2U]:                                                                                 
> 
> beeper.disable - Description unavailable                                                                                            
> beeper.enable - Description unavailable                                                                                             
> beeper.mute - Description unavailable                                                                                               
> beeper.off - Description unavailable                                                                                                
> beeper.on - Description unavailable                                                                                                 
> load.off - Description unavailable                                                                                                  
> load.off.delay - Description unavailable                                                                                            
> load.on - Description unavailable                                                                                                   
> load.on.delay - Description unavailable                                                                                             
> shutdown.return - Description unavailable                                                                                           
> shutdown.stayoff - Description unavailable                                                                                          
> shutdown.stop - Description unavailable                                                                                             
> test.battery.start.deep - Description unavailable                                                                                   
> test.battery.start.quick - Description unavailable                                                                                  
> test.battery.stop - Description unavailable
> 
> ----------------------------------------------------------------------
> -------------------------------------
> 
> upsrw PR2200ELCDRT2U at localhost                                                                                
> [battery.charge.low]                                                                                                                
> Description unavailable                                                                                                             
> Type: STRING                                                                                                                        
> Maximum length: 10                                                                                                                  
> Value: 35                                                                                                                           
> 
> [battery.runtime.low]                                                                                                               
> Description unavailable                                                                                                             
> Type: STRING                                                                                                                        
> Maximum length: 10                                                                                                                  
> Value: 592                                                                                                                          
> 
> [input.transfer.high]                                                                                                               
> Description unavailable                                                                                                             
> Type: STRING                                                                                                                        
> Maximum length: 10                                                                                                                  
> Value: 259                                                                                                                          
> 
> [input.transfer.low]                                                                                                                
> Description unavailable                                                                                                             
> Type: STRING                                                                                                                        
> Maximum length: 10                                                                                                                  
> Value: 206                                                                                                                          
> 
> [ups.delay.shutdown]                                                                                                                
> Description unavailable                                                                                                             
> Type: STRING                                                                                                                        
> Maximum length: 10                                                                                                                  
> Value: 20                                                                                                                           
> 
> [ups.delay.start]                                                                                                                   
> Description unavailable                                                                                                             
> Type: STRING                                                                                                                        
> Maximum length: 10                                                                                                                  
> Value: 30    
> 
> ----------------------------------------------------------------------
> -------------------------------------
> 
Thanks, I'll add that to the HCL/DDL later.

> However, I have to admit, I'm unsure, if all this output is sufficient and correctly?

At first glance, those numbers look reasonable. You can verify the load and voltage readings against your local configuration, but those aren't used for shutdown anyway.

The important thing is that the "ups.status" value includes "OB LB" (on battery, low battery) early enough for FreeNAS to shut down cleanly. We usually recommend testing this sort of thing with a dummy load, in case the signal happens too late, or the other portion (FreeNAS telling the UPS to cut power) does not work.



More information about the Nut-upsuser mailing list