Jonathan Gammell
2015-Jan-01  21:57 UTC
[Nut-upsuser] Problem with ups-dummy driver (repeater mode)
Hi,
I have a NUT client that requires the UPS it monitors to be named
"ups".
The client (a Synology NAS) does not provide a method to change this 
configuration. My setup consists of multiple UPSes monitored by a single 
master and I'd rather not have 1/4 UPSes named `ups` while the other 3/4 
are named something descriptive and helpful for administration.
I think I should be able to use the "dummy-ups" driver in repeater
mode
to create a virtual UPS named "ups" that tracks the status of a real
UPS
named something else (i.e., `eaton1`).
 From the documentation, I think my "ups.conf" should look like:
     [eaton1]
         driver = usbhid-ups
         serial = "..."
         port = auto
         desc = "Eaton PW9130L1500R-XL2U #1"
     [eaton2]
         driver = usbhid-ups
         serial = "..."
         port = auto
         desc = "Eaton PW9130L1500R-XL2U #2"
     #More UPSes...
     [ups]
         driver = dummy-ups
         port = eaton1
         desc = "Dummy UPS"
But this doesn't work. When I restart nut, I get the following in my 
syslog, where 192.168.42.2 is the IP address of the Synology NAS:
     16:09:46 nut-server usbhid-ups[22208]: Startup successful
     16:09:46 nut-server usbhid-ups[22210]: Startup successful
     [#One for each UPS]
     16:09:47 nut-server upsd[22216]: listening on 192.168.1.1 port 3493
     16:09:47 nut-server upsd[22216]: listening on localhost port 3493
     16:09:47 nut-server upsd[22216]: Can't connect to UPS [ups] 
(dummy-ups-ups): No such file or directory
     16:09:47 nut-server upsd[22216]: Connected to UPS [eaton1]: 
usbhid-ups-eaton1
     16:09:47 nut-server upsd[22216]: Connected to UPS [eaton2]: 
usbhid-ups-eaton2
     16:09:47 nut-server upsd[22217]: Startup successful
     16:09:47 nut-server upsmon[22219]: Startup successful
     16:09:47 nut-server upsmon[22221]: Poll UPS [ups at localhost] failed 
- Driver not connected
     16:09:47 nut-server upsmon[22221]: Communications with UPS 
ups at localhost lost
     16:09:52 nut-server upsd[22217]: User monuser at 192.168.1.2 logged 
into UPS [ups]
     16:09:52 nut-server upsmon[22221]: Poll UPS [ups at localhost] failed 
- Driver not connected
     16:09:52 nut-server upsmon[22221]: UPS ups at localhost is unavailable
     16:09:57 nut-server upsmon[22221]: Poll UPS [ups at localhost] failed 
- Driver not connected
     16:10:21  upsmon[22221]: last message repeated 3 times
If I leave the port entry to "dummy-ups" blank, the Synology UPS
connect
fine, but as "dummy-ups" is running in simulation mode, it cannot get 
any UPS information, and does not shutdown on power failure.
I am running ubuntu 12.04.5LTS with NUT 2.6.3 (ubuntu package: 
2.6.3-1ubuntu1.1).
Maybe I do not properly understand how repeater mode works? If anyone 
has any thought, I would appreciate it.
Thanks,
Jon
P.S., I have cross posted this on serverfault here: 
http://serverfault.com/questions/655797/nut-ups-dummy-driver-in-repeater-mode-for-synology-nas
Charles Lepple
2015-Jan-02  01:23 UTC
[Nut-upsuser] Problem with ups-dummy driver (repeater mode)
On Jan 1, 2015, at 4:57 PM, Jonathan Gammell <jon.gammell at utoronto.ca> wrote:> [ups] > driver = dummy-ups > port = eaton1 > desc = "Dummy UPS"There is a typo in the specification of "port =" in the dummy-ups man page, but your configuration file is effectively looking for a simulation file named 'eaton1'. The presence of an "@" character enables repeater mode. If you change this to 'port = eaton1 at localhost', things should work as you described. The lack of syslog messages is indeed a bug. -- Charles Lepple clepple at gmail
Charles Lepple
2015-Jan-02  01:57 UTC
[Nut-upsuser] Problem with ups-dummy driver (repeater mode)
On Jan 1, 2015, at 8:23 PM, Charles Lepple <clepple at gmail.com> wrote:> On Jan 1, 2015, at 4:57 PM, Jonathan Gammell <jon.gammell at utoronto.ca> wrote: > >> [ups] >> driver = dummy-ups >> port = eaton1 >> desc = "Dummy UPS" > > There is a typo in the specification of "port =" in the dummy-ups man page, but your configuration file is effectively looking for a simulation file named 'eaton1'. The presence of an "@" character enables repeater mode. If you change this to 'port = eaton1 at localhost', things should work as you described.I should also mention a pair of options that were introduced in 2.7.2: maxretry and retrydelay. http://www.networkupstools.org/docs/man/ups.conf.html#_global_directives I haven't used dummy-ups in production (I just use the other mode to simulate an UPS) but I suspect there might be a race condition if upsdrvctl starts dummy-ups before both usbhid-ups instances connect to upsd. Not sure if there is a backport of NUT 2.7.2 to 12.04, but it might be worth looking into. Or you could manually add something to rc.local that restarts dummy-ups if it is not running, but usbhid-ups is. -- Charles Lepple clepple at gmail