On 2012/08/10 13:46, Martin Pieuchot wrote: > > I'm also in favor of removing quirks however I would suggest to remove > them on a case-by-case basis until libusb have full support for > communicating with any usb device (hopefully in this release cycle).
Many items on that list are UPS which share a single usbhid-ups driver in NUT and were added speculatively from NUT's vid/pid list. I think it would be safe to remove quirks for the devices which are only supported by the common NUT driver. Do you think this is reasonable? We have other software in the ports tree (sysutils/apcupsd, not sysutils/apc-upsd which is different) that can drive USB-connected APC devices so, given your comments, so I'd like to see that tested before removing the UQ_BAD_HID for APC UPS. Index: usb_quirks.c =================================================================== RCS file: /cvs/src/sys/dev/usb/usb_quirks.c,v retrieving revision 1.66 diff -u -p -r1.66 usb_quirks.c --- usb_quirks.c 31 Jan 2012 21:13:32 -0000 1.66 +++ usb_quirks.c 10 Aug 2012 12:04:34 -0000 @@ -124,38 +124,13 @@ const struct usbd_quirk_entry { { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_IPAD, ANY, { UQ_BAD_HID }}, { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_IPAD2, ANY, { UQ_BAD_HID }}, { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_SPEAKERS, ANY, { UQ_BAD_HID }}, - { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C100, ANY, { UQ_BAD_HID }}, - { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C120, ANY, { UQ_BAD_HID }}, - { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C550AVR, ANY, { UQ_BAD_HID }}, - { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C800, ANY, { UQ_BAD_HID }}, - { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C900, ANY, { UQ_BAD_HID }}, - { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C1100, ANY, { UQ_BAD_HID }}, - { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C1250EITWRK, ANY, { UQ_BAD_HID }}, - { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C1500EITWRK, ANY, { UQ_BAD_HID }}, - { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6H375, ANY, { UQ_BAD_HID }}, - { USB_VENDOR_CYBERPOWER, USB_PRODUCT_CYBERPOWER_1500, ANY, { UQ_BAD_HID }}, - { USB_VENDOR_CYBERPOWER, USB_PRODUCT_CYBERPOWER_OR2200, ANY, { UQ_BAD_HID }}, { USB_VENDOR_CYPRESS, USB_PRODUCT_CYPRESS_SISPM_OLD, ANY, { UQ_BAD_HID }}, { USB_VENDOR_CYPRESS, USB_PRODUCT_CYPRESS_SISPM, ANY, { UQ_BAD_HID }}, { USB_VENDOR_CYPRESS, USB_PRODUCT_CYPRESS_SISPM_FLASH, ANY, { UQ_BAD_HID }}, - { USB_VENDOR_DELL2, USB_PRODUCT_DELL2_UPS, ANY, { UQ_BAD_HID }}, - { USB_VENDOR_HP, USB_PRODUCT_HP_T750, ANY, { UQ_BAD_HID }}, - { USB_VENDOR_HP, USB_PRODUCT_HP_T1000, ANY, { UQ_BAD_HID }}, - { USB_VENDOR_HP, USB_PRODUCT_HP_T1500, ANY, { UQ_BAD_HID }}, - { USB_VENDOR_HP, USB_PRODUCT_HP_RT2200, ANY, { UQ_BAD_HID }}, - { USB_VENDOR_HP, USB_PRODUCT_HP_R1500G2, ANY, { UQ_BAD_HID }}, - { USB_VENDOR_HP, USB_PRODUCT_HP_T750G2, ANY, { UQ_BAD_HID }}, { USB_VENDOR_IDOWELL, USB_PRODUCT_IDOWELL_IDOWELL, ANY, { UQ_BAD_HID }}, { USB_VENDOR_ITUNER, USB_PRODUCT_ITUNER_USBLCD20x2, ANY, { UQ_BAD_HID }}, - { USB_VENDOR_LIEBERT, USB_PRODUCT_LIEBERT_UPS, ANY, { UQ_BAD_HID }}, - { USB_VENDOR_LIEBERT2, USB_PRODUCT_LIEBERT2_PSA, ANY, { UQ_BAD_HID }}, { USB_VENDOR_MECANIQUE, USB_PRODUCT_MECANIQUE_WISPY, ANY, { UQ_BAD_HID }}, { USB_VENDOR_METAGEEK, USB_PRODUCT_METAGEEK_WISPY24I, ANY, { UQ_BAD_HID }}, - { USB_VENDOR_MGE, USB_PRODUCT_MGE_UPS1, ANY, { UQ_BAD_HID }}, - { USB_VENDOR_MGE, USB_PRODUCT_MGE_UPS2, ANY, { UQ_BAD_HID }}, - { USB_VENDOR_MUSTEK2, USB_PRODUCT_MUSTEK2_PM800, ANY, { UQ_BAD_HID }}, - { USB_VENDOR_OMRON, USB_PRODUCT_OMRON_BX35F, ANY, { UQ_BAD_HID }}, - { USB_VENDOR_OMRON, USB_PRODUCT_OMRON_BX50F, ANY, { UQ_BAD_HID }}, { USB_VENDOR_TENX, USB_PRODUCT_TENX_MISSILE, ANY, { UQ_BAD_HID }}, { USB_VENDOR_TERRATEC, USB_PRODUCT_TERRATEC_AUREON, ANY, { UQ_BAD_HID }}, { USB_VENDOR_TI, USB_PRODUCT_TI_MSP430, ANY, { UQ_BAD_HID }},