[Nut-upsuser] mge-shut driver fails almost after every reboot

Arnaud Quette arnaud.quette at gmail.com
Fri Apr 3 14:06:22 UTC 2015

Hello Panagiotis

2015-04-03 14:28 GMT+02:00 Panagiotis Kritikakos <
panagiotis.kritikakos at nikitec.gr>:

> Hello Arno,
>  Question: have you also tested oldmge-shut?
>> Otherwise, that might be interesting to do so and send back the results
>> of these tests...
> Yes, I've tried this as well with worse results unfortunately. This driver
> seems to be even more unstable. When it gets able to set communication with
> the UPS (which is not always the case), it usually lost it again after a
> while.
> ~# /usr/local/libexec/nut/oldmge-shut -DD -a ups-filesrv01
> Network UPS Tools - Eaton / SHUT driver 0.70 (2.7.2)
>    0.000000     debug level is '2'
>    0.000882     entering upsdrv_initups()
>    0.001019     entering shut_ups_start()
>    0.028445     Communication with UPS established
>    0.028457     entering shut_get_descriptor(n 21, 9)
>    0.111394     shut_wait_ack(): ACK received
>    0.185328     entering shut_get_descriptor(n 01, 18)
>    0.273455     shut_wait_ack(): ACK received
>    0.423238     Device Descriptor:
> bLength:                0x12
> bDescriptorType:                                        0x01
> bcdUSB:                 0x0110
> bDeviceClass:           0x00
> bDeviceSubClass:                                        0x00
> bDeviceProtocol:        0x00
> bMaxPacketSize0:                                        0x08
> idVendor:               0x0463
> idProduct:              0xffff
> bcdDevice:                                              0x0100
> iManufacturer:          0x01
> iProduct:                                               0x02
> iSerialNumber:          0x03
> bNumConfigurations:     0x01
>    0.423251     entering shut_get_descriptor(n 22, 1538)
>    0.525087     shut_wait_ack(): ACK received
>    9.705471     Unable to get Report Descriptor
> It there a possibility to be an issue of the UPS, or the connection
> between the serial port of the machine and the UPS?

thanks for the confirmation with oldmge-shut. I'm not astonished on the
results, but was worth a try.

I've double checked the related code difference for mge-shut between 2.7.1
and 2.7.2.
Again, the only diff I see is the one pointed previously (setline...).
So, it would be great if you could test this patch (through some reboots)
and report back.

Then, I don't think it's an issue with the device.
There is a long run TODO (mentioned in the header of libshut.c) that is the
baudrate negotiation.
The driver still communicates at 2400bauds, which is not that much for such
verbose units. We could go at least for 9600 on these units, which is 4
times faster already.
This may cause some slowness and behavior issues as you're experiencing,
under some circumstances.
For example, the test using a 5SC750 on Linux (Debian Jessie) shows that
report descriptor (size 1538) takes ~10 seconds to be retrieved, which is
quite long.
Then, even if this "new"mge-shut is a lot better than the oldmge-shut, it
can still be perfected on the error handling (and not optimal cases), which
you may be hitting.
And finally, the notification handling could also help to poll less the
unit, while being notified of critical status changes.

Eaton Data Center Automation - Opensource Leader
NUT (Network UPS Tools) Project Leader - http://www.networkupstools.org
Debian Developer - http://www.debian.org
Free Software Developer - http://arnaud.quette.fr
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/nut-upsuser/attachments/20150403/5348a0d7/attachment.html>

More information about the Nut-upsuser mailing list