[Nut-upsuser] Belkin w/ Cypress Semi. interface probs
Jeffrey B. Green
jeff at kikisoso.org
Thu Oct 18 15:49:27 UTC 2007
Hi,
I've recently acquired a couple of Belkin F6H375-USB UPS units that use
the Cypress Semiconductor interface (0665:5161), and they are not
working with my etch servers. The usbhid driver sees them and takes
possession but the nut software does not see anything.
After exploration of the driver, running:
% /lib/nut/usbhid-ups -DDDDDD -a belkin -x vendor=".*" -x product=".*"
-u root -x explore
I get (snipped to the tail):
entering identify_ups(0x0665, 0x5161)
upsdrv_updateinfo...
dstate_init: sock /var/run/nut/usbhid-ups-belkin open on fd 5
upsdrv_updateinfo...
Waiting for notifications...
none (-110)
upsdrv_updateinfo...
Waiting for notifications...
none (-110)
upsdrv_updateinfo...
(and so on and on)
Checking out the code (2.2.0) I notice that the interrupt read function
that is called just prior to the "none" message is basically just a
stub, i.e.
int shut_interrupt_read(shut_dev_handle_t *dev, int ep, unsigned char
*bytes, int size,
int timeout)
{
/* sleep during timeout to slow down a bit... */
sleep(timeout / 1000);
/* FIXME: to be written */
return 0;
}
However, it automatically returns a zero, i.e. success. But the msg
"none" says otherwise, e.g. -110. The usb version doesn't even seem to
have an interrupt_read. But that version is definitely not invoked since
the SHUT_MODE compile time variable is set. So I'm curious as to what is
happening. I'm also still digging, i.e. following the upsdrv_updateinfo
bit. Please feel free to reroute this msg to the developer list if it is
deemed more appropriate there.
thanks,
-jeff
More information about the Nut-upsuser
mailing list