Advertising
- Someone
- Monday, April 14th, 2008 at 6:40:13pm UTC
- diff -u nut-2.2.1/debian/changelog nut-2.2.1/debian/changelog
- --- nut-2.2.1/debian/changelog
- +++ nut-2.2.1/debian/changelog
- @@ -1,3 +1,10 @@
- +nut (2.2.1-2.1ubuntu7) hardy; urgency=low
- +
- + * debian/patches/01_fix_megatec_regression.dpatch
- + - Fix more megatec_usb driver regressions. (LP: #215389)
- +
- +
- nut (2.2.1-2.1ubuntu6) hardy; urgency=low
- * debian/patches/01_fix_megatec_regression.dpatch
- diff -u nut-2.2.1/debian/patches/01_fix_megatec_regression.dpatch nut-2.2.1/debian/patches/01_fix_megatec_regression.dpatch
- --- nut-2.2.1/debian/patches/01_fix_megatec_regression.dpatch
- +++ nut-2.2.1/debian/patches/01_fix_megatec_regression.dpatch
- @@ -3,7 +3,7 @@
- diff -Naur nut-2.2.1.orig/data/driver.list nut-2.2.1/data/driver.list
- --- nut-2.2.1.orig/data/driver.list 2007-12-17 09:45:44.000000000 -0500
- -+++ nut-2.2.1/data/driver.list 2008-04-10 09:30:39.000000000 -0400
- ++++ nut-2.2.1/data/driver.list 2008-04-14 14:28:59.000000000 -0400
- @@ -54,6 +54,7 @@
- "APC" "(various)" "SNMP monitoring card" "snmp-ups (experimental driver)"
- @@ -59,7 +59,7 @@
- "Various" "(various)" "Generic RUPS model" "genericups upstype=4"
- diff -Naur nut-2.2.1.orig/drivers/megatec.c nut-2.2.1/drivers/megatec.c
- --- nut-2.2.1.orig/drivers/megatec.c 2007-12-17 10:13:09.000000000 -0500
- -+++ nut-2.2.1/drivers/megatec.c 2008-04-10 09:25:10.000000000 -0400
- ++++ nut-2.2.1/drivers/megatec.c 2008-04-14 14:28:59.000000000 -0400
- @@ -61,6 +61,8 @@
- #define MAX_START_DELAY_LEN 4
- #define MAX_SHUTDOWN_DELAY_LEN 2
- @@ -122,7 +122,7 @@
- dstate_setinfo("output.voltage", "%.1f", query.ovolt);
- diff -Naur nut-2.2.1.orig/drivers/megatec.h nut-2.2.1/drivers/megatec.h
- --- nut-2.2.1.orig/drivers/megatec.h 2007-12-17 10:13:09.000000000 -0500
- -+++ nut-2.2.1/drivers/megatec.h 2008-04-10 09:25:54.000000000 -0400
- ++++ nut-2.2.1/drivers/megatec.h 2008-04-14 14:28:59.000000000 -0400
- @@ -26,7 +26,7 @@
- #define MEGATEC_H
- @@ -134,7 +134,7 @@
- #ifdef MEGATEC_SUBDRV
- diff -Naur nut-2.2.1.orig/drivers/megatec_usb.c nut-2.2.1/drivers/megatec_usb.c
- --- nut-2.2.1.orig/drivers/megatec_usb.c 2007-10-01 09:06:24.000000000 -0400
- -+++ nut-2.2.1/drivers/megatec_usb.c 2008-04-10 09:51:59.000000000 -0400
- ++++ nut-2.2.1/drivers/megatec_usb.c 2008-04-14 14:29:03.000000000 -0400
- @@ -46,6 +46,8 @@
- static usb_communication_subdriver_t *usb = &usb_subdriver;
- static usb_dev_handle *udev = NULL;
- @@ -161,28 +161,42 @@
- /* agiler subdriver definition */
- static int get_data_agiler(char *buffer, int buffer_size);
- static int set_data_agiler(const char *str);
- + set_data_agiler
- + };
- +
- ++/* Phoenixtec Power Co subdriver definition */
- ++static int get_data_phoenix(char *buffer, int buffer_size);
- ++static int set_data_phoenix(const char *str);
- ++
- ++static subdriver_t phoenix_subdriver = {
- ++ "phoenix",
- ++ get_data_phoenix,
- ++ set_data_phoenix
- ++};
- ++
- + /* krauler (ablerex) subdriver definition */
- + static int get_data_krauler(char *buffer, int buffer_size);
- + static int set_data_krauler(const char *str);
- /* list of subdrivers */
- static subdriver_t *subdriver_list[] = {
- + &agiler_old_subdriver,
- &agiler_subdriver,
- &krauler_subdriver,
- ++ &phoenix_subdriver,
- NULL /* end of list */
- + };
- - /* list of all known devices */
- - static usb_ups_t KnownDevices[] = {
- -- {0x05b8, 0x0000, &agiler_subdriver}, /* Agiler UPS */
- -- {0x0001, 0x0000, &krauler_subdriver}, /* Krauler UP-M500VA */
- -- {0xffff, 0x0000, &krauler_subdriver}, /* Ablerex 625L USB */
- + {0x05b8, 0x0000, &agiler_subdriver}, /* Agiler UPS */
- + {0x0001, 0x0000, &krauler_subdriver}, /* Krauler UP-M500VA */
- + {0xffff, 0x0000, &krauler_subdriver}, /* Ablerex 625L USB */
- - {0x0665, 0x5161, &agiler_subdriver}, /* Belkin F6C1200-UNV */
- -+ {0x05b8, 0x0000, &agiler_old_subdriver}, /* Agiler UPS */
- -+ {0x0001, 0x0000, &krauler_subdriver}, /* Krauler UP-M500VA */
- -+ {0xffff, 0x0000, &krauler_subdriver}, /* Ablerex 625L USB */
- -+ {0x0665, 0x5161, &agiler_old_subdriver}, /* Belkin F6C1200-UNV */
- -+ {0x06da, 0x0003, &agiler_old_subdriver}, /* Mustek Powermust */
- -+ {0x0f03, 0x0001, &agiler_old_subdriver}, /* Unitek Alpha 1200Sx */
- ++ {0x0665, 0x5161, &phoenix_subdriver}, /* Belkin F6C1200-UNV */
- ++ {0x06da, 0x0003, &phoenix_subdriver}, /* Mustek Powermust */
- ++ {0x0f03, 0x0001, &phoenix_subdriver}, /* Unitek Alpha 1200Sx */
- {-1, -1, NULL} /* end of list */
- };
- @@ -191,7 +205,7 @@
- {
- usb_ups_t *p;
- return 0;
- }
- @@ -204,7 +218,7 @@
- static void usb_open_error(const char *port)
- {
- fatalx(EXIT_FAILURE,
- int ser_open(const char *port)
- {
- @@ -219,7 +233,7 @@
- char *subdrv = getval("subdriver");
- char *vid = getval("vendorid");
- char *vend = getval("vendor");
- char *prod = getval("product");
- @@ -227,7 +241,7 @@
- if(subdrv)
- {
- subdriver_t **p;
- fatalx(EXIT_FAILURE, "No subdrivers named \"%s\" found!", subdrv);
- }
- @@ -237,7 +251,7 @@
- /* FIXME: fix "serial" variable */
- /* process the UPS selection options */
- regex_array[0] = vid;
- regex_array[4] = NULL; /* getval("serial"); */
- regex_array[5] = getval("bus");
- @@ -253,7 +267,7 @@
- }
- /* link the matchers */
- regex_matcher->next = &subdriver_matcher;
- if (ret < 0)
- usb_open_error(port);
- @@ -266,10 +280,10 @@
- + }
- + /* link the matchers */
- + reopen_matcher->next = regex_matcher;
- -
- ++
- + /* NOTE: This is here until ser_flush_io() is used in megatec.c */
- + ser_flush_io(0);
- -+
- +
- + return 0;
- +}
- +
- @@ -285,7 +299,7 @@
- break;
- }
- int ser_set_rts(int fd, int state)
- {
- @@ -377,7 +391,7 @@
- return -1;
- va_start(ap, fmt);
- buf[sizeof(buf) - 1] = 0;
- }
- @@ -391,7 +405,7 @@
- }
- int ser_get_line(int fd, char *buf, size_t buflen, char endchar, const char *ignset, long d_sec, long d_usec)
- int len;
- char *src, *dst, c;
- @@ -415,7 +429,7 @@
- c = *src;
- if (c == endchar)
- }
- /* terminate string if we have space */
- @@ -499,7 +513,70 @@
- static int set_data_agiler(const char *str)
- {
- return usb->set_report(udev, 0, (unsigned char *)str, strlen(str));
- +
- +
- + /*
- ++ Phoenixtec Power Co serial-to-usb device.
- ++*/
- ++static char phoenix_buffer[32];
- ++
- ++static int set_data_phoenix(const char *str)
- ++{
- ++ unsigned int count;
- ++
- ++ memset(phoenix_buffer, '\0', sizeof(phoenix_buffer));
- ++
- ++ snprintf(phoenix_buffer, sizeof(phoenix_buffer), "%s", str);
- ++
- ++ if (!strcmp(phoenix_buffer, "I\r") || !strcmp(phoenix_buffer, "C\r")) {
- ++ /* Ignore these, since they seem to lock up the connection */
- ++ return strlen(phoenix_buffer);
- ++ }
- ++
- ++ for (count = 0; count < strlen(phoenix_buffer); count += 8) {
- ++
- ++ if (usb->set_report(udev, 0, (unsigned char *)(phoenix_buffer + count), 8) < 1) {
- ++ return -1;
- ++ }
- ++ }
- ++
- ++ return strlen(phoenix_buffer);
- ++}
- ++
- ++static int get_data_phoenix(char *buffer, int buffer_size)
- ++{
- ++ int count;
- ++
- ++ memset(buffer, '\0', buffer_size);
- ++
- ++ if (!strcmp(phoenix_buffer, "I\r") || !strcmp(phoenix_buffer, "C\r")) {
- ++ /* Echo back unsupported commands */
- ++ snprintf(buffer, buffer_size, "%s", phoenix_buffer);
- ++ return strlen(buffer);
- ++ }
- ++
- ++ for (count = 8; count <= buffer_size; count += 8) {
- ++
- ++ /* Read data in 8-byte chunks, break on a timeout */
- ++ if (usb->get_interrupt(udev, (unsigned char *)&buffer[count-8], 8, 1000) < 0) {
- ++ return count-8;
- ++ }
- ++
- ++ upsdebugx(3, "get_data_phoenix: got so far [%s]", buffer);
- ++ upsdebug_hex(4, "get_data_phoenix", (unsigned char *)buffer, count);
- ++ }
- ++
- ++ upsdebugx(3, "get_data_phoenix: buffer too small");
- ++ return -1;
- ++}
- ++
- ++
- ++/*
- + Krauler serial-over-usb device.
- +
- + Protocol was reverse-engineered using Windows driver.
- typedef struct {
- char *str; /* Megatec command */
- int index; /* Krauler string index for this command */
- @@ -577,10 +654,10 @@
- + return res;
- }
- - }
- -
- +-
- - return strlen(str);
- - }
- --
- +
- - upsdebugx(4, "set_data_krauler: unknown command [%s]", str);
- - return 0;
- -}
- @@ -651,7 +728,7 @@
- }
- diff -Naur nut-2.2.1.orig/scripts/hal/20-ups-nut-device.fdi nut-2.2.1/scripts/hal/20-ups-nut-device.fdi
- --- nut-2.2.1.orig/scripts/hal/20-ups-nut-device.fdi 2007-10-01 08:59:22.000000000 -0400
- -+++ nut-2.2.1/scripts/hal/20-ups-nut-device.fdi 2008-04-10 09:31:09.000000000 -0400
- ++++ nut-2.2.1/scripts/hal/20-ups-nut-device.fdi 2008-04-14 14:28:59.000000000 -0400
- @@ -162,6 +162,14 @@
- <merge key="battery.type" type="string">ups</merge>
- </match>
- @@ -692,7 +769,7 @@
- <merge key="info.addons" type="strlist">hald-addon-megatec_usb</merge>
- diff -Naur nut-2.2.1.orig/scripts/udev/nut-usbups.rules.in nut-2.2.1/scripts/udev/nut-usbups.rules.in
- --- nut-2.2.1.orig/scripts/udev/nut-usbups.rules.in 2007-10-15 07:16:52.000000000 -0400
- -+++ nut-2.2.1/scripts/udev/nut-usbups.rules.in 2008-04-10 09:32:14.000000000 -0400
- ++++ nut-2.2.1/scripts/udev/nut-usbups.rules.in 2008-04-14 14:28:59.000000000 -0400
- @@ -24,7 +24,7 @@
- # LIEBERT/PowerSure Personal XT
advertising
Update the Post
Either update this post and resubmit it with changes, or make a new post.
You may also comment on this post.
Please note that information posted here will not expire by default. If you do not want it to expire, please set the expiry time above. If it is set to expire, web search engines will not be allowed to index it prior to it expiring. Items that are not marked to expire will be indexable by search engines. Be careful with your passwords. All illegal activities will be reported and any information will be handed over to the authorities, so be good.