Folks, I have been working on a problem with the usbhid-ups driver and the MGE / Eaton Ellipse series UPS. There seems to be light at the end of the tunnel. For whatever reason, these devices seem to trigger error 'EPIPE' randomly. So far, the response to this of the usbhid-ups (and previously, newhidups) driver is to reconnect. Most of the time this will succeed on the first try and nothing will be logged to the syslog. At times however, this will take several tries before this succeeds, causing a lot of noise in both the syslog and for the clients connected to this UPS. The sad thing about this is, is that the reconnect doesn't seem to be needed (at least not for the MGE / Eaton Ellipse). Can anybody remember why we added this in the first place? Best regards, Arjen -- Please keep list traffic on the list
In response to my previous message, an excerpt from the syslog showing what happens: Jan 4 21:40:11 mail usbhid-ups[5145]: libusb_get_report: error sending control message: Broken pipe Jan 4 21:40:15 mail kernel: usb 1-2.1: usbfs: USBDEVFS_CONTROL failed cmd usbhid-ups rqt 128 rq 6 len 255 ret -110 Jan 4 21:40:16 mail kernel: usb 1-2.1: usbfs: USBDEVFS_CONTROL failed cmd usbhid-ups rqt 128 rq 6 len 255 ret -110 Jan 4 21:40:16 mail upsd[5149]: Data for UPS [ellipse] is stale - check driver Jan 4 21:40:19 mail upsd[5149]: UPS [ellipse] data is no longer stale The above happens fairly frequently, up to several times per hour. It looks like the UPS is somehow too busy to handle the USB communication and even fails to respond to the first two requests for the report descriptor. After that, it is business as usual again. Best regards, Arjen -- Please keep list traffic on the list