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! 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. 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"). 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) In pfSense, there was no option to select "powerpanel" as driver, so I *had* to use usbhid. I think it shows the same result like freenas. It is trying to establish a link, however, it gets refused immediately. 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 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 ----------------------------------------------------------------------------------------------------------- However, I have to admit, I'm unsure, if all this output is sufficient and correctly? As far as I remember, when using my old CP1500, there was some sort of status message showing that the link between FreeNAS and the battery was established successfully, however, the only thing I receive now at this point is "upsmon parent: read". I'm a bit unsure, what this means? Thanks so much for all your help! Cheers, Chris -----Urspr?ngliche Nachricht----- Von: Charles Lepple [mailto:clepple at gmail.com] Gesendet: Freitag, 10. November 2017 15:00 An: Christoph Lampl <chris at weeone.de> Cc: nut-upsuser at lists.alioth.debian.org Betreff: Re: [Nut-upsuser] Cyberpower PR2200ELCDRT2U [please use reply-all to include the list. thanks!]> On Nov 9, 2017, at 9:19 PM, Christoph Lampl <chris at weeone.de> wrote: > > Hey guys, :) > > recently, I installed Cyberpower PR2200ELCDRT2U, however, I have not managed to get this UPS working with FreeNAS 11, yet. > > According to compatibility list, PR2200 should work fine, when using powerpanel driver: > http://networkupstools.org/ddl/Cyber_Power_Systems/ > http://networkupstools.org/ddl/Cyber_Power_Systems/PR2200.htmlLooking at the PR6000LCD... entry, it looks like PR*LCD models might be different than the older PR* ones. What do you get from "sudo usbconfig dump_device_desc"? (You can trim any non-UPS data - I'm mostly interested in idVendor and idProduct. Also, if you don't want to share the full serial number, it would be good to know how many characters there are.) I suspect this UPS will work with the usbhid-ups driver, or if not, it can be made to work with minor NUT configuration changes. I forget how you choose a "generic" USB connection in FreeNAS - maybe someone else can chime in on that point?> However, when trying to establish a connection between battery and FreeNAS Server, either using usb cable or serial cable, I receive the same error messages in the console of FreeNAS: > > Nov 10 03:01:37 storageunit root: /usr/local/etc/rc.d/nut: WARNING: > failed precmd routine for nut^ This command probably indicates that the NUT driver failed to start, so the NUT upsd process probably will not start, either.> Nov 10 03:01:37 storageunit upsmon[8817]: UPS [PR2200ELCDRT2U]: > connect failed: Connection failure: Connection refused Nov 10 03:01:37 > storageunit upsmon[8817]: Communications with UPS PR2200ELCDRT2U lost^ upsmon "Connection refused" errors (on FreeNAS, or other connections to localhost) are usually a consequence of upsd not starting, so this should resolve itself once you can get the driver running.> I tried connecting to PR2200 using a Laptop with preinstalled Cyberpower Personal Edition. Everything is working fine at this point and the software displays battery details correctly! However, as soon as I try to establish a connection between FreeNAS and Cyberpower PR2200, I receive these error messages. I spent many hours in reconfiguring and trying new/different ports, however, it looks like I?m going in the wrong direction, because I can?t get this battery communicating with FreeNAS correctly.I doubt this will be an issue here, but I would recommend choosing the port you want to ultimately use (serial, USB, network) and making sure that it still works with Cyberpower's software before switching to NUT. Some older UPSes (and likely not even from Cyberpower) did not deal well with switching between ports, and required a power cycle to switch.> OS Name and Version: FreeNAS 11.0U4, no custom modifications > Cyberpower PR2200 Firmware: 4.520 > RMCARD205 Firmware: 1.0.9for reference, I think this version of FreeNAS includes NUT 2.7.4. If this works with a different driver, would you please send a snapshot of the information you get from upsc, upscmd and upsrw as mentioned here? http://networkupstools.org/stable-hcl.html#footnotes Thanks!
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.
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.