Good morning,

On 22/03/10 at 9:15 AM -0400, Charles Lepple <[email protected]> wrote:

So the checksum errors were occurring while other aspects of the driver seemed to be working properly?

Yes, that's the way it seems to me:

$ grep -B6 "Communications with UPS lost" /var/log/nut-driver.log.1
10576.783730    get_answer: block_number = 3
10578.090560    entering get_answer(34)
10578.415588 get_answer: (61 bytes) => ab 04 38 81 02 01 00 00 2c 00 00 00 00 5c 49 42 10578.415657 00 5c 49 42 00 50 dc 41 64 00 00 00 06 04 00 00 f8 00 00 00 00 00 00 00 27 10578.415682 00 00 00 00 80 95 3f ad 47 91 40 e8 03 00 00 f8 00 00 00 a4
10578.415697    get_answer: block_number = 4
10578.415713 Communications with UPS lost: get_answer: checksum error!
--
11179.365221     ad 47 91 40 e8 03 00 00 fb 00 00 00 b0
11180.103545    get_answer: block_number = 4
11180.245178 get_answer: (62 bytes) => ab 04 38 81 0c 01 00 00 27 00 00 00 00 00 b3 3f 11180.245253 ad 47 91 40 e8 03 00 00 fb 00 00 00 b0 04 00 00 fb 00 00 00 00 00 00 00 27 11180.245278 00 00 00 00 00 b3 3f ad 47 91 40 e8 03 00 00 fb 00 00 00 b0 00
11180.245297    get_answer: block_number = 4
11180.245313 Communications with UPS lost: get_answer: checksum error!
--
38876.433597     00 00 00 00 00 be
38876.433613    get_answer: block_number = 5
38876.436533    entering get_answer(33)
38876.625579 get_answer: (25 bytes) => ab 03 13 81 63 c2 00 00 04 00 00 00 00 00 00 00
38876.625644     00 00 00 00 00 00 00 94 00
38876.625659    get_answer: block_number = 3
38876.625676 Communications with UPS lost: get_answer: checksum error!
... <lots snipped>

http://libusb.sourceforge.net/doc/function.usbreset.html

Sorry, I'm missing the relevance here. Are you suggesting a one-time reset? Or should I add usb_reset somewhere in bcmxcp_usb.c? (My C skills aren't good enough to add that command and then open the device again.)

I guess that's more-or-less a reminder to me, once we find out the difference between occasional benign errors (maybe including the checksum error mentioned above) and the non-recoverable errors.

Are the checksum errors indicating a problem with the UPS (or USB communication)?

Did you have a debug statement around lines 150-160 in your code? I
would have thought we would see the error codes from
usb_interrupt_read().

I did, but I removed them to reduce verbosity. I'll uncomment & recompile and run again.

At some point, I would like to reorganize the debug levels so that it's just a matter of passing fewer "-D" options to the driver. Right now, the debug levels seem a bit haphazard to me (but maybe that's just because I am not as familiar with this driver).

I'm currently running with just -D. And as a reminder, the reason I'm doing that is the driver doesn't work at all when not in debug mode.


Charlie

--
   Ꮚ Charlie Garrison ♊ <[email protected]>
   〠 PO Box 141, Windsor, NSW 2756, Australia

O< ascii ribbon campaign - stop html mail - www.asciiribbon.org
http://www.ietf.org/rfc/rfc1855.txt

_______________________________________________
Nut-upsdev mailing list
[email protected]
http://lists.alioth.debian.org/mailman/listinfo/nut-upsdev

Reply via email to