[Nut-upsuser] CyberPower usbhid-ups continuously disconnects/reconnects

Charles Lepple clepple at gmail.com
Sat Jun 18 13:02:26 UTC 2011


On Jun 17, 2011, at 5:57 PM, nut at johnea.net wrote:

> On 06/17/2011 12:31 AM, Arnaud Quette wrote:
>> 2011/6/16 Charles Lepple <clepple at gmail.com>
>>
>>> On Jun 15, 2011, at 5:40 PM, nut at johnea.net wrote:
>>> (...)
>>> Is it consistently disconnecting every 20 seconds? That almost  
>>> sounds like
>>> some proprietary extension to the HID protocol - the UPS expects the
>>> computer to send something that only the CyberPower software knows  
>>> to send.
>>
>>
>> in this case, doing an usbsnoop run is the way to go:
>> http://lists.alioth.debian.org/pipermail/nut-upsdev/2010-February/004528.html
>
> It seems the usbhid-ups driver already knows how to make the UPS  
> happy. Once the
> driver has successfully connected to the UPS, the disconnect/ 
> reconnect cycle
> stops and the UPS stays connected and communicating from then on.
>
> It only misses connecting if the device is given enough time to  
> disconnect
> (presumably because it timed out after 20sec).

By the way, this is fairly broken behavior on the part of the UPS  
firmware. There are standards-compliant ways for a USB device to  
suspend after inactivity while still remaining connected to the bus.

I don't know if this UPS has upgradeable firmware, but if it were  
mine, I'd let the manufacturer know.

> Unless the administrator can guarantee to _always_ connect to the  
> device within
> 20sec of boot, the usbhid-ups needs to delay a second or two and  
> then retry, 2
> or 3 times, before giving up on finding the CyberPower subdriver  
> based UPS.

What if you add the loop in the script that starts the driver (through  
upsdrvctl)? That might be easier to prototype.



More information about the Nut-upsuser mailing list