usb/131521: Registering Belkin UPS to usb_quirks.c

Naoyuki Tai ntai at smartfruit.com
Sun Feb 8 22:00:18 PST 2009


>Number:         131521
>Category:       usb
>Synopsis:       Registering Belkin UPS to usb_quirks.c
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-usb
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Mon Feb 09 06:00:16 UTC 2009
>Closed-Date:
>Last-Modified:
>Originator:     Naoyuki Tai
>Release:        FreeBSD 7.1-RELEASE
>Organization:
>Environment:
FreeBSD nile.smartfruit.com 7.1-RELEASE FreeBSD 7.1-RELEASE #1: Sat Feb  7 21:05:20 EST 2009     root at nile.smartfruit.com:/usr/obj/usr/src/sys/NILE  i386

>Description:
Please add more Belkin UPS USB connection to usb quirks.
I tried to make nut (Network UPS Tool) to work with a Belkin UPS, and it did not work.
I chased down from libusb to usb driver, and found that only one of many Belkin UPSes is registered in "/usr/src/sys/dev/usb/usb_quirks.c".

I have taken the USB product IDs from nut's belkin-hid.c so that all Belkin UPSes appear as ugen instead of uhid.

If I'm nice enough, I probably should go around all of nut's known USB UPSes and add them to usbdevs and usb_quirks.c, but I'm not. Sorry.

FreeBSD's nut implementation requires that UPS via USB to appear as ugen device, not uhid, while many of USB UPSes appear as uhid.

>How-To-Repeat:
Connect a Belkin UPS via USB, and see it appears as "ugen", not "uhid".

>Fix:
# diff -c usbdevs.original usbdevs
*** usbdevs.original	Mon Nov 24 21:59:29 2008
--- usbdevs	Mon Feb  9 00:37:07 2009
***************
*** 926,931 ****
--- 926,937 ----
  product BELKIN F5U257		0x0257	F5U257 Serial
  product BELKIN F5U409		0x0409	F5U409 Serial
  product BELKIN F6C550AVR	0x0551	F6C550-AVR UPS
+ product BELKIN F6C800UNV	0x0980	F6C800 Universal UPS
+ product BELKIN F6C100UNV	0x0910	F6C100 Universal UPS
+ product BELKIN F6C120UNV	0x0912	F6C120 Universal UPS
+ product BELKIN F6C1500TWRK	0x0751	F6C1500-TW-RK UPS
+ product BELKIN F6H375USB	0x0375	F6H375-USB
+ product BELKIN F6C1100UNV	0x1100	F6C1100-UNV, F6C1200-UNV
  product BELKIN F5U120		0x1203	F5U120-PC Hub
  product BELKIN ZD1211B		0x4050	ZD1211B
  product BELKIN F5D5055		0x5055	F5D5055
# diff -c usb_quirks.c.original usb_quirks.c
*** usb_quirks.c.original	Mon Feb  9 00:35:38 2009
--- usb_quirks.c	Mon Feb  9 00:37:53 2009
***************
*** 98,103 ****
--- 98,115 ----
  	ANY, { UQ_HID_IGNORE }},
   { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C550AVR,
  	ANY, { UQ_HID_IGNORE }},
+  { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C800UNV,
+ 	ANY, { UQ_HID_IGNORE }},
+  { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C100UNV,
+ 	ANY, { UQ_HID_IGNORE }},
+  { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C120UNV,
+ 	ANY, { UQ_HID_IGNORE }},
+  { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C1500TWRK,
+ 	ANY, { UQ_HID_IGNORE }},
+  { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6H375USB,
+ 	ANY, { UQ_HID_IGNORE }},
+  { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C1100UNV,
+ 	ANY, { UQ_HID_IGNORE }},
   { USB_VENDOR_DELORME, USB_PRODUCT_DELORME_EARTHMATE,
  	ANY, { UQ_HID_IGNORE }},
   { USB_VENDOR_ITUNERNET, USB_PRODUCT_ITUNERNET_USBLCD2X20,


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


More information about the freebsd-usb mailing list