Hi Daniel,<br><br><div class="gmail_quote">2009/1/27 Daniel O&#39;Connor <span dir="ltr">&lt;<a href="mailto:doconnor@gsoft.com.au" target="_blank">doconnor@gsoft.com.au</a>&gt;</span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

<div>On Thursday 25 September 2008 17:56:43 Daniel O&#39;Connor wrote:<br>
&gt; &gt; you might want to have libusb debug trace also, to see more low level<br>
&gt; &gt; things. use &quot;export USB_DEBUG=3&quot; before launching usbhid-ups.<br>
&gt; &gt; you might also have a look at your kernel output for ugen to see if<br>
&gt; &gt; there is a problem here.<br>
&gt;<br>
&gt; Hmm..<br>
&gt; I get this..<br>
&gt; usb_control_msg: 161 1 769 0 0x813310c 2 4000<br>
&gt; USB error: error sending control message: Input/output error<br>
&gt; Can&#39;t retrieve Report 1: Input/output error<br>
&gt; upsdrv_updateinfo...<br>
&gt; Got to reconnect!<br>
&gt;<br>
&gt; usb_set_debug: Setting debugging level to 3 (on)<br>
&gt; usb_os_find_busses: Found /dev/usb0<br>
&gt; usb_os_find_busses: Found /dev/usb1<br>
&gt; usb_os_find_busses: Found /dev/usb2<br>
&gt; usb_os_find_busses: Found /dev/usb3<br>
&gt; usb_os_find_busses: Found /dev/usb4<br>
&gt; usb_os_find_devices: couldn&#39;t open device /dev/ugen0: Device busy<br>
&gt; No appropriate HID device found<br>
&gt; upsdrv_updateinfo...<br>
&gt; Got to reconnect!<br>
&gt;<br>
&gt; Sorry for the late reply.. :(<br>
<br>
</div>I finally got off my arse and tried to fix this today.<br>
<br>
I found that enabling the libusb_close (as for Sun) in drivers/libusb.c helps<br>
- it can now reconnect.<br>
<br>
I think that the &#39;#ifdef SUN_LIBUSB&#39; should change to &quot;#ifndef linux&quot; - it<br>
seems logical to close it before potentially reopening it and it&#39;s a Linux bug<br>
that this can cause a problem (mitigated by the fact you seem to be able to<br>
&#39;double open&#39; :)<br>
</blockquote><div><br>thanks for this feedback. we can now broaden the above to non linux...<br>I&#39;ve just applied it for the upcoming 2.4.0...<br><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">


I still get this every update..<br>
USB error: error reading from interrupt endpoint /dev/ugen0.1: Resource temporarily unavailable<br>
</blockquote><div><br>this is for the notifications (aka interrupts, ie data sent by the UPS itself)<br>if the control pipe work (for polling), that&#39;s fine for the moment.<br>btw, which release of libusb are you using?<br>
<br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Also, I don&#39;t understand the underlying problem of the IO error when<br>
reading, and the EBUSY the first time it tries to reconnect.<br>
</blockquote><div><br>I don&#39;t understand too. maybe a bug in ugen or libusb on FreeBSD?!<br>EBUSY might be due to resources not freed quickly enough somewhere.<br>the IO error itself has to do with ugen, and I&#39;ve no clue there.<br>
<br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
upsdrv_updateinfo...<br>
USB error: error reading from interrupt endpoint /dev/ugen0.1: Resource temporarily unavailable<br>
Got -35 HID objects...<br>
<div>Quick update...<br>
Path: UPS.PowerSummary.PresentStatus.ACPresent, Type: Feature, ReportID: 0x01, Offset: 0, Size: 1, Value: 1.000000<br>
Path: UPS.PowerSummary.PresentStatus.Discharging, Type: Feature, ReportID: 0x01, Offset: 2, Size: 1, Value: 0.000000<br>
Path: UPS.PowerSummary.PresentStatus.Charging, Type: Feature, ReportID: 0x01, Offset: 1, Size: 1, Value: 1.000000<br>
Path: UPS.PowerSummary.PresentStatus.BelowRemainingCapacityLimit, Type: Feature, ReportID: 0x01, Offset: 3, Size: 1, Value:<br>
0.000000<br>
upsdrv_updateinfo...<br>
</div>USB error: error reading from interrupt endpoint /dev/ugen0.1: Resource temporarily unavailable<br>
Got -35 HID objects...<br>
Quick update...<br>
usb_control_msg: 161 1 769 0 0x8130100 2 4000<br>
<div>USB error: error sending control message: Input/output error<br>
Can&#39;t retrieve Report 1: Input/output error<br>
upsdrv_updateinfo...<br>
Got to reconnect!<br>
<br>
usb_set_debug: Setting debugging level to 3 (on)<br>
usb_os_find_busses: Found /dev/usb0<br>
usb_os_find_busses: Found /dev/usb1<br>
usb_os_find_busses: Found /dev/usb2<br>
usb_os_find_busses: Found /dev/usb3<br>
usb_os_find_busses: Found /dev/usb4<br>
usb_os_find_devices: couldn&#39;t open device /dev/ugen0: Device busy<br>
</div>usb_os_close: closing endpoint 5<br>
<div>No appropriate HID device found<br>
upsdrv_updateinfo...<br>
Got to reconnect!<br>
<br>
</div><div>usb_set_debug: Setting debugging level to 3 (on)<br>
usb_os_find_busses: Found /dev/usb0<br>
usb_os_find_busses: Found /dev/usb1<br>
usb_os_find_busses: Found /dev/usb2<br>
usb_os_find_busses: Found /dev/usb3<br>
usb_os_find_busses: Found /dev/usb4<br>
</div>usb_os_find_devices: Found /dev/ugen0 on /dev/usb0<br>
usb_control_msg: 128 6 512 0 0xbfbfd204 8 1000<br>
usb_control_msg: 128 6 512 0 0x8105910 34 1000<br></blockquote></div><br>apart from the above, does the communication appears to be somehow stable in the time?<br><br clear="all">Arnaud<br>-- <br>Linux / Unix Expert R&amp;D - Eaton - <a href="http://www.eaton.com/mgeops" target="_blank">http://www.eaton.com/mgeops</a><br>
Network UPS Tools (NUT) Project Leader - <a href="http://www.networkupstools.org/" target="_blank">http://www.networkupstools.org/</a><br>
Debian Developer - <a href="http://people.debian.org/%7Eaquette/" target="_blank">http://people.debian.org/~aquette/</a><br>Free Software Developer - <a href="http://arnaud.quette.free.fr/" target="_blank">http://arnaud.quette.free.fr/</a><br>
<br>