I fixed my shutdown function:<br><br>void upsdrv_shutdown(void)<br>{<br> int ret;<br> FILE* logger = fopen( "/tmp/liebert-esp2_debug.log", "w" );<br><br> fprintf(logger,"SHUTDOWN 1");<br>
<br> ret = ser_send_buf(upsfd, cmd_UPSShutdown0, SHUTDOWN_CMD_LEN);<br> if(ret < 0){<br> fprintf(logger,"Something wrong 1");<br> }else if(ret < 6){<br> fprintf(logger,"Answer is too short 1");<br>
}<br><br> fprintf(logger, "SHUTDOWN 2");<br><br> ret = ser_send_buf(upsfd, cmd_UPSShutdown1, SHUTDOWN_CMD_LEN);<br> if(ret < 0){<br> fprintf(logger,"Something wrong 2");<br> }else if(ret < 6){<br>
fprintf(logger,"Answer is too short 2");<br> }<br><br> fprintf(logger,"SHUTDOWN 3");<br><br> ret = ser_send_buf(upsfd, cmd_UPSShutdown2, SHUTDOWN_CMD_LEN);<br> if(ret < 0){<br> fprintf(logger,"Something wrong 3");<br>
}else if(ret < 8){<br> fprintf(logger,"Answer is too short 3");<br> }<br><br> fflush(logger);<br> fclose(logger);<br> <br>}<br><br>I ran a test and doesnt exist the /tmp/liebert-esp2_debug.log file so I think shutdown function not called but I don't know why ....<br>
<br>any idea ?<br><br><br><div class="gmail_quote">2010/8/2 Robert Jobbagy <span dir="ltr"><<a href="mailto:jobbagy.robert@gmail.com">jobbagy.robert@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Sorry I misundestand you Arjen, I try printf and no upsdebug and log functions.<br>I understand now that driver don't can write to stderr in this function.<br><br><div class="gmail_quote">2010/8/2 Robert Jobbagy <span dir="ltr"><<a href="mailto:jobbagy.robert@gmail.com" target="_blank">jobbagy.robert@gmail.com</a>></span><div>
<div></div><div class="h5"><br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">I use nut rev2462.<br>gcc version 4.1.2 20080704 answer for Arjen<br><br>I modified my shutdown function :<div>
<br><br>void upsdrv_shutdown(void)<br>{<br> int ret;<br><br></div> upsdebug_with_errno(2, "SHUTDOWN 1");<br>
upslog_with_errno(2, "SHUTDOWN 1"); <-- I didnt look these msg in my log , I ran liebert-esp2 driver in debug 2 mode.<br> upslogx(2, "SHUTDOWN 1");<div>
<br><br><br> ret = ser_send_buf(upsfd, cmd_UPSShutdown0, SHUTDOWN_CMD_LEN);<br>
if (ret < 0) {<br></div> upsdebug_with_errno(2, "SHUTDOWN send");<div><br> }<br> else if (ret < 6) {<br> upsdebug_hex(2, "send: truncated", cmd_UPSShutdown0, ret);<br>
}<br><br></div> upsdebug_hex(2, "SHUTDOWN send", cmd_UPSShutdown0, SHUTDOWN_CMD_LEN);<br>
<br> upsdebug_with_errno(2, "SHUTDOWN 2");<br><br> ret = ser_send_buf(upsfd, cmd_UPSShutdown1, SHUTDOWN_CMD_LEN);<br><br> if (ret < 0) {<br> upsdebug_with_errno(2, "SHUTDOWN send");<br>
}<br> else if (ret < 6) {<br> upsdebug_hex(2, "send: truncated", cmd_UPSShutdown1, ret);<br> }<br><br> upsdebug_hex(2, "SHUTDOWN send", cmd_UPSShutdown1, SHUTDOWN_CMD_LEN);<br><br>
upsdebug_with_errno(2, "SHUTDOWN 3");<br><br> ret = ser_send_buf(upsfd, cmd_UPSShutdown2, SHUTDOWN_CMD_LEN);<br> if (ret < 0) {<br> upsdebug_with_errno(2, "SHUTDOWN send");<br> }<br>
else if (ret < 8) {<br> upsdebug_hex(2, "send: truncated", cmd_UPSShutdown2, ret);<br> }<br><br> upsdebug_hex(2, "SHUTDOWN send", cmd_UPSShutdown2, SHUTDOWN_CMD_LEN);<br> <br>}<br>
<br><br>Someone any idea or advice ? what can I do that I figure out what's wrong?<div><br><br>Thanks your help and your time.<br><br></div><div class="gmail_quote">2010/7/31 Robert Jobbagy <span dir="ltr"><<a href="mailto:jobbagy.robert@gmail.com" target="_blank">jobbagy.robert@gmail.com</a>></span><div>
<div></div><div><br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><br><br><div class="gmail_quote">2010/7/30 Robert Jobbagy <span dir="ltr"><<a href="mailto:jobbagy.robert@gmail.com" target="_blank">jobbagy.robert@gmail.com</a>></span><div>
<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
sorry , returns it's my fault,it was copy-paste from other function.</blockquote></div><div><br>I fixed the returns but never happend, the ups didnt shutdown .<br>I think shutdown function cant performed, I dont know why <br>
</div><div><div></div><div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div><br></div><div>but I checked the <span style="font-family: arial,sans-serif; font-size: 13px; border-collapse: collapse;"> upsdebug_hex function and I saw it use fprintf with stderr and I think it will be to work.</span><br>
<br><div class="gmail_quote"><div>2010/7/30 Arjen de Korte <span dir="ltr"><<a href="mailto:nut%2Bdevel@de-korte.org" target="_blank">nut+devel@de-korte.org</a>></span><br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div>Citeren Robert Jobbagy <<a href="mailto:jobbagy.robert@gmail.com" target="_blank">jobbagy.robert@gmail.com</a>>:<br>
<br>
</div><div><div></div><div><div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
This is my shutdown function:<br>
<br>
void upsdrv_shutdown(void)<br>
{<br>
int ret;<br>
<br>
fprintf(stderr,"SHUTDOWN 1");<br>
</blockquote>
<br></div>
This doesn't work. The driver backgrounds before it reaches this point, so you can't use fprintf at this point anymore.<div><br>
<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
ret = ser_send_buf(upsfd, cmd_UPSShutdown0, SHUTDOWN_CMD_LEN);<br>
if (ret < 0) {<br>
upsdebug_with_errno(2, "send");<br>
return -1;<br>
}<br>
else if (ret < 6) {<br>
upsdebug_hex(2, "send: truncated", cmd_UPSShutdown0, ret);<br>
return -1;<br>
}<br>
</blockquote>
<br></div>
A void function can't return a value. Does the above actually compile without errors? If it does, change the compiler flags so that it doesn't. Also make sure that you're running your freshly compiled driver.<br>
<br>
[...]<div><br>
<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
These commands works other way , but in this function didnt work<br>
<br>
And I cant found the "SHUTDOWN 1,2,3" test texts in debug.log, so I think<br>
dont sent these commands to UPS.<br>
</blockquote>
<br></div>
See above.<div><div></div><div><br>
<br>
Best regards, Arjen<br>
-- <br>
Please keep list traffic on the list<br>
<br>
<br>
_______________________________________________<br>
Nut-upsdev mailing list<br>
<a href="mailto:Nut-upsdev@lists.alioth.debian.org" target="_blank">Nut-upsdev@lists.alioth.debian.org</a><br>
<a href="http://lists.alioth.debian.org/mailman/listinfo/nut-upsdev" target="_blank">http://lists.alioth.debian.org/mailman/listinfo/nut-upsdev</a><br>
</div></div></div></div></blockquote></div><br><br clear="all"><br>-- <br>Best Regards,<br><br>Robert <br>
</div>
</blockquote></div></div></div><br><br clear="all"><br>-- <br>Best Regards,<br><font color="#888888"><br>Robert <br>
</font></blockquote></div></div></div><br><br clear="all"><br>-- <br>Best Regards,<br><font color="#888888"><br>Robert <br>
</font></blockquote></div></div></div><br><br clear="all"><br>-- <br>Best Regards,<br><font color="#888888"><br>Robert <br>
</font></blockquote></div><br><br clear="all"><br>-- <br>Best Regards,<br><br>Robert <br>