Hello. I have this UPS: Krauler UP-D1200VA Megatec USB protocol Vendor ID: 0x0001, Device ID: 0x0000 #KRAULER UP-D1200VA VER6.00 #220.0 004 23.50 50.0 Currently I have nut 2.2.0 installed from sources. Installation was successful except that I had to change a string in 52-nut-usbups.rules from: SUBSYSTEM!="usb_device", GOTO="nut-usbups_rules_end" to: SUBSYSTEM!="usb*", GOTO="nut-usbups_rules_end" to make hotplugging work on my Gentoo 2007.0, kernel 2.6.22.1 and default Gentoo udev rules. There are 3 issues. 1. Battery charge. I attach a patch to the latest svn revision that adds information for my Krauler's battery. The battery charge reported by nut should be almost the same as reported by UPSilon2000 for Windows software, thx to USB SnoopyPro. I had to change "int nominal" to "float nominal" because the nominal battery voltage is 23.5. 2. The worst thing is the ups status flags. Here is the table: Flags: 00001010; Real Status: normal; UPSilon2000: normal; NUT: load off Flags: 10001010; Real Status: battery test; UPSilon2000: battery; NUT: load off Flags: 10001010; Real Status: battery; UPSilon2000: battery; NUT: load off Flags: 11001000; Real Status: low battery; UPSilon2000: low battery; NUT: low battery Flags: 10001000; Real Status: load off; UPSilon2000: battery; NUT: battery FL_BEEPER_ON is not used - always 0. FL_BATT_TEST is not used - always 0. Can't check under- and overvoltage. example status msgs: (223.0 165.0 223.0 000 50.0 26.1 00.0 00001010 - normal (223.0 165.0 226.0 000 50.0 25.0 00.0 10001010 - battery test (000.0 165.0 225.0 020 50.0 24.3 00.0 10001010 - battery (000.0 165.0 225.0 020 50.0 22.1 00.0 11001000 - battery low (000.0 165.0 224.0 040 50.0 23.0 00.0 10001000 - load off The main problem is the unexpected behaviour of FL_LOAD_OFF flag. It's 1 in normal and battery modes and 0 in battery low and load off modes. It seems that UPSilon2000 just ignores this flag because it displays "On Battery" status when the UPS turns load off. This problem needs to be fixed. 3. Commands. shutdown.return, shutdown.stayoff, load.off, reset.watchdog doesn't work. Reason is the driver error: set_data_krauler: output string too large -------------- next part -------------- A non-text attachment was scrubbed... Name: megatec.diff Type: application/octet-stream Size: 3375 bytes Desc: not available Url : http://lists.alioth.debian.org/pipermail/nut-upsdev/attachments/20070905/341f06e4/attachment.obj
Thanks for your feedback! On Wed, 05 Sep 2007 19:33:26 +0400, Vamp <admin at vampik.ru> wrote:> Hello. I have this UPS: > Krauler UP-D1200VA > Megatec USB protocol > Vendor ID: 0x0001, Device ID: 0x0000 > #KRAULER UP-D1200VA VER6.00 > #220.0 004 23.50 50.0 > > Currently I have nut 2.2.0 installed from sources. Installation was > successful except that I had to change a string in 52-nut-usbups.rules > from: > SUBSYSTEM!="usb_device", GOTO="nut-usbups_rules_end" > to: > SUBSYSTEM!="usb*", GOTO="nut-usbups_rules_end" > to make hotplugging work on my Gentoo 2007.0, kernel 2.6.22.1 and default > Gentoo udev rules. > > There are 3 issues. > > 1. Battery charge. I attach a patch to the latest svn revision that adds > information for my Krauler's battery. The battery charge reported by nut > should > be almost the same as reported by UPSilon2000 for Windows software, thx > to > USB SnoopyPro. I had to change "int nominal" to "float nominal" because > the > nominal battery voltage is 23.5. >Since this patch changes 'megatec' driver wait for Carlos Rodrigues's reply, he should be reading this.> 2. The worst thing is the ups status flags. Here is the table: > Flags: 00001010; Real Status: normal; UPSilon2000: normal; NUT: load off > Flags: 10001010; Real Status: battery test; UPSilon2000: battery; NUT: > load > off > Flags: 10001010; Real Status: battery; UPSilon2000: battery; NUT: load > off > Flags: 11001000; Real Status: low battery; UPSilon2000: low battery; NUT: > low battery > Flags: 10001000; Real Status: load off; UPSilon2000: battery; NUT: > battery > FL_BEEPER_ON is not used - always 0. FL_BATT_TEST is not used - always 0. > Can't check under- and overvoltage. > > example status msgs: > (223.0 165.0 223.0 000 50.0 26.1 00.0 00001010 - normal > (223.0 165.0 226.0 000 50.0 25.0 00.0 10001010 - battery test > (000.0 165.0 225.0 020 50.0 24.3 00.0 10001010 - battery > (000.0 165.0 225.0 020 50.0 22.1 00.0 11001000 - battery low > (000.0 165.0 224.0 040 50.0 23.0 00.0 10001000 - load off > > The main problem is the unexpected behaviour of FL_LOAD_OFF flag. It's 1 > in > normal and battery modes and 0 in battery low and load off modes. It > seems > that UPSilon2000 just ignores this flag because it displays "On Battery" > status when the UPS turns load off. > > This problem needs to be fixed. >This is a pure hardware bug. The only way to workaround it is to substitute status flags with the desirable ones. Not to mention that the conversion should be model-specific. It goes to be a really huge hack. Well, I'll look more careful what can be done.> 3. Commands. > shutdown.return, shutdown.stayoff, load.off, reset.watchdog doesn't work. > Reason is the driver error: set_data_krauler: output string too largeThese commands are not implemented in the "krauler" subdriver because my UPS don't seem to support them. If you figure out that your UPS supports these commands and how to run them I'll add them to the driver. -- Alexander
Sorry for the late reply. As I see, Carlos Rodrigues changed battery voltage (nominal) to float and added one battery type: "{ 23.5, 18.0, 30.0, 21.3, 27.1, 22.2 }, /* UNITEK ALPHA2600 */". The problem is that the string for my Krauler should be "{ 23.5, 18.0, 30.0, 19.6, 26.7, 0.0 }," (by the way why do we need low battery (unused) variable?). Setting the range to 19.6-26.7 gives the percentage indication identical to the original manufacturer's software. Anyway, 21.3V is too high for 0%.