[Nut-upsdev] Liebert ESP II driver
Robert Jobbagy
jobbagy.robert at gmail.com
Mon Aug 2 08:44:24 UTC 2010
I use nut rev2462.
gcc version 4.1.2 20080704 answer for Arjen
I modified my shutdown function :
void upsdrv_shutdown(void)
{
int ret;
upsdebug_with_errno(2, "SHUTDOWN 1");
upslog_with_errno(2, "SHUTDOWN 1"); <-- I
didnt look these msg in my log , I ran liebert-esp2 driver in debug 2 mode.
upslogx(2, "SHUTDOWN 1");
ret = ser_send_buf(upsfd, cmd_UPSShutdown0, SHUTDOWN_CMD_LEN);
if (ret < 0) {
upsdebug_with_errno(2, "SHUTDOWN send");
}
else if (ret < 6) {
upsdebug_hex(2, "send: truncated", cmd_UPSShutdown0, ret);
}
upsdebug_hex(2, "SHUTDOWN send", cmd_UPSShutdown0, SHUTDOWN_CMD_LEN);
upsdebug_with_errno(2, "SHUTDOWN 2");
ret = ser_send_buf(upsfd, cmd_UPSShutdown1, SHUTDOWN_CMD_LEN);
if (ret < 0) {
upsdebug_with_errno(2, "SHUTDOWN send");
}
else if (ret < 6) {
upsdebug_hex(2, "send: truncated", cmd_UPSShutdown1, ret);
}
upsdebug_hex(2, "SHUTDOWN send", cmd_UPSShutdown1, SHUTDOWN_CMD_LEN);
upsdebug_with_errno(2, "SHUTDOWN 3");
ret = ser_send_buf(upsfd, cmd_UPSShutdown2, SHUTDOWN_CMD_LEN);
if (ret < 0) {
upsdebug_with_errno(2, "SHUTDOWN send");
}
else if (ret < 8) {
upsdebug_hex(2, "send: truncated", cmd_UPSShutdown2, ret);
}
upsdebug_hex(2, "SHUTDOWN send", cmd_UPSShutdown2, SHUTDOWN_CMD_LEN);
}
Someone any idea or advice ? what can I do that I figure out what's wrong?
Thanks your help and your time.
2010/7/31 Robert Jobbagy <jobbagy.robert at gmail.com>
>
>
> 2010/7/30 Robert Jobbagy <jobbagy.robert at gmail.com>
>
> sorry , returns it's my fault,it was copy-paste from other function.
>
>
> I fixed the returns but never happend, the ups didnt shutdown .
> I think shutdown function cant performed, I dont know why
>
>>
>> but I checked the upsdebug_hex function and I saw it use fprintf with
>> stderr and I think it will be to work.
>>
>> 2010/7/30 Arjen de Korte <nut+devel at de-korte.org<nut%2Bdevel at de-korte.org>
>> >
>>
>>> Citeren Robert Jobbagy <jobbagy.robert at gmail.com>:
>>>
>>> This is my shutdown function:
>>>>
>>>> void upsdrv_shutdown(void)
>>>> {
>>>> int ret;
>>>>
>>>> fprintf(stderr,"SHUTDOWN 1");
>>>>
>>>
>>> This doesn't work. The driver backgrounds before it reaches this point,
>>> so you can't use fprintf at this point anymore.
>>>
>>>
>>> ret = ser_send_buf(upsfd, cmd_UPSShutdown0, SHUTDOWN_CMD_LEN);
>>>> if (ret < 0) {
>>>> upsdebug_with_errno(2, "send");
>>>> return -1;
>>>> }
>>>> else if (ret < 6) {
>>>> upsdebug_hex(2, "send: truncated", cmd_UPSShutdown0, ret);
>>>> return -1;
>>>> }
>>>>
>>>
>>> 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.
>>>
>>> [...]
>>>
>>>
>>> These commands works other way , but in this function didnt work
>>>>
>>>> And I cant found the "SHUTDOWN 1,2,3" test texts in debug.log, so I
>>>> think
>>>> dont sent these commands to UPS.
>>>>
>>>
>>> See above.
>>>
>>>
>>> Best regards, Arjen
>>> --
>>> Please keep list traffic on the list
>>>
>>>
>>> _______________________________________________
>>> Nut-upsdev mailing list
>>> Nut-upsdev at lists.alioth.debian.org
>>> http://lists.alioth.debian.org/mailman/listinfo/nut-upsdev
>>>
>>
>>
>>
>> --
>> Best Regards,
>>
>> Robert
>>
>
>
>
> --
> Best Regards,
>
> Robert
>
--
Best Regards,
Robert
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/nut-upsdev/attachments/20100802/8d76615b/attachment.htm>
More information about the Nut-upsdev
mailing list