<br><br><div class="gmail_quote">2010/12/1 John Bayly <span dir="ltr">&lt;<a href="mailto:freebsd.ports@tipstrade.net">freebsd.ports@tipstrade.net</a>&gt;</span><br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div class="im">On 01/12/2010 14:17, Arjen de Korte wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Citeren Charles Lepple &lt;<a href="mailto:clepple@gmail.com" target="_blank">clepple@gmail.com</a>&gt;:<br>
<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
The get_belkin_reply() function looks fragile to me. Three seconds should be<br>
enough to fill the buffer, but if you put a few upsdebugx() calls around ser_get_buf_len(), it should be evident whether the read is timing out, or if there is a problem with the format of the response.<br>
</blockquote>
<br>
Starting with<br>
<br>
    ser_flush_io(upsfd);<br>
</blockquote></div>
Thanks for the suggestions, I&#39;ve added the flush statement as well as some debugging information. As this is a intermittent issue I decided to try overloading the UPS by sending it repeated beeper commands while watching the debug output. What appears to happen is that the UPS returns an unknown &quot;~00R000&quot; response. This means get_belkin_reply() returns -1, causing a datastale state is set when called from do_status().</blockquote>
<div><br>you should remove the datastale() call since upsd will automatically flag the device as stalled if it has failed to update its data for 15 seconds (default of MAXAGE).<br><br>cheers,<br></div></div>Arnaud<br>-- <br>
Linux / Unix Expert R&amp;D - Eaton - <a href="http://powerquality.eaton.com" target="_blank">http://powerquality.eaton.com</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://www.debian.org" target="_blank">http://www.debian.org</a><br>Free Software Developer - <a href="http://arnaud.quette.free.fr/" target="_blank">http://arnaud.quette.free.fr/</a><br><br>