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