usb/115935: [patch] kernel counterproductively attaches to Cyber Power AE550 UPS as a HID

billypilgrim782001 at yahoo.com billypilgrim782001 at yahoo.com
Wed Aug 29 22:00:03 PDT 2007


>Number:         115935
>Category:       usb
>Synopsis:       [patch] kernel counterproductively attaches to Cyber Power AE550 UPS as a HID
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-usb
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Aug 30 05:00:02 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator:     Bob Murillo <billypilgrim782001 at yahoo.com>
>Release:        FreeBSD 6.2-RELEASE i386
>Organization:
>Environment:
System: FreeBSD susanne.tomatoseed.org 6.2-RELEASE FreeBSD 6.2-RELEASE #0: Wed Aug 29 22:50:08 EDT 2007 root at susanne.tomatoseed.org:/usr/obj/usr/src/sys/SUSANNE i386


	IBM eServer xSeries 350, FreeBSD 6.2-RELEASE, i386
>Description:
	Cyber Power AE550 UPS is plugged in to the machine via USB.  Kernel attaches to it as a HID, which prevents UPS software (NUT, Network UPS Tools 2.0.4 in ports collection) from attaching to it.  Similar changes have been patched into the kernel for MGE UPSes.
	As far as I can tell there is no way to overcome this problem with configuration or with code changes within NUT.
>How-To-Repeat:
	Hook Cyber Power AE550 UPS up to machine via USB, and then try to communicate with it with NUT in ports collection.  The latest release of NUT, 2.2.0, also does not work.
>Fix:
	A change in the kernel so that it won't attach to the UPS as a HID is needed.  I have attached patches with Vendor/Product info to accomplish this.  The change has been tested and works correctly.

--- usb_quirks.c.diff begins here ---
--- usb_quirks.c.orig	Tue Nov 14 07:54:38 2006
+++ usb_quirks.c	Wed Aug 29 22:32:21 2007
@@ -116,6 +116,8 @@
 	ANY, { UQ_HID_IGNORE }},
  { USB_VENDOR_MGE, USB_PRODUCT_MGE_UPS2,
 	ANY, { UQ_HID_IGNORE }},
+ { USB_VENDOR_CPS, USB_PRODUCT_CPS_AE550,
+        ANY, { UQ_HID_IGNORE }},
  { 0, 0, 0, { 0 } }
 };
 
--- usb_quirks.c.diff ends here ---

--- usbdevs.diff begins here ---
--- usbdevs.orig	Tue Nov 14 07:54:38 2006
+++ usbdevs	Wed Aug 29 22:29:58 2007
@@ -351,6 +351,7 @@
 vendor DIGITALSTREAM	0x074e	Digital Stream
 vendor AUREAL		0x0755	Aureal
 vendor MIDIMAN		0x0763	Midiman
+vendor CPS		0x0764	CyberPower Systems
 vendor LINKSYS2		0x077b	Linksys
 vendor GRIFFIN		0x077d	Griffin
 vendor SANDISK		0x0781	SanDisk
@@ -787,6 +788,9 @@
 product FTDI CFA_633		0xfc0b	Crystalfontz CFA-633 USB LCD
 product FTDI CFA_634		0xfc09	Crystalfontz CFA-634 USB LCD
 product FTDI SEMC_DSS20		0xfc82	SEMC DSS-20 SyncStation
+
+/* CyberPower products */
+product CPS AE550		0x0501	CyberPower AE550
 
 /* Cambridge Silicon Radio Ltd. products */
 product CSR BT_DONGLE		0x0001	Bluetooth USB dongle
--- usbdevs.diff ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-usb mailing list