Sorry I misundestand you Arjen, I try printf and no upsdebug and log functions. I understand now that driver don't can write to stderr in this function.
2010/8/2 Robert Jobbagy <[email protected]> > 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 <[email protected]> > > >> >> 2010/7/30 Robert Jobbagy <[email protected]> >> >> 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 <[email protected]<nut%[email protected]> >>> > >>> >>>> Citeren Robert Jobbagy <[email protected]>: >>>> >>>> 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 >>>> [email protected] >>>> http://lists.alioth.debian.org/mailman/listinfo/nut-upsdev >>>> >>> >>> >>> >>> -- >>> Best Regards, >>> >>> Robert >>> >> >> >> >> -- >> Best Regards, >> >> Robert >> > > > > -- > Best Regards, > > Robert > -- Best Regards, Robert
_______________________________________________ Nut-upsdev mailing list [email protected] http://lists.alioth.debian.org/mailman/listinfo/nut-upsdev
