Hi,
I recently got a Gembird EG-PMS2 power strip controllable over USB.
It currently attaches over uhidev which is problematic since it lacks an
interrupt endpoint causing uhidev to punt early during attachment.
Instead, letting it attach as ugen makes it possible to control the
device using third-party software like sispmctl.

Here's a diff adding a quirk, excluding the usbdevs regen bits.

Comments? OK?

diff --git sys/dev/usb/usb_quirks.c sys/dev/usb/usb_quirks.c
index be65ad08602..a85ea0cd510 100644
--- sys/dev/usb/usb_quirks.c
+++ sys/dev/usb/usb_quirks.c
@@ -126,6 +126,7 @@ const struct usbd_quirk_entry {
  { 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_CYPRESS, USB_PRODUCT_CYPRESS_GEMBIRD_EG_PMS2,    ANY,    { 
UQ_BAD_HID }},
  { USB_VENDOR_MICROCHIP, USB_PRODUCT_MICROCHIP_USBLCD20X2,     ANY,    { 
UQ_BAD_HID }},
  { USB_VENDOR_MICROCHIP, USB_PRODUCT_MICROCHIP_USBLCD256X64,   ANY,    { 
UQ_BAD_HID }},
  { USB_VENDOR_MECANIQUE, USB_PRODUCT_MECANIQUE_WISPY,  ANY,    { UQ_BAD_HID }},
diff --git sys/dev/usb/usbdevs sys/dev/usb/usbdevs
index 1091754f576..6cbf022bba4 100644
--- sys/dev/usb/usbdevs
+++ sys/dev/usb/usbdevs
@@ -1508,6 +1508,7 @@ product CYPRESS LPRDK             0xe001  CY4636 LP RDK 
Bridge
 product CYPRESS SISPM_OLD      0xfd10  Sispm - old version
 product CYPRESS SISPM          0xfd11  Sispm
 product CYPRESS SISPM_FLASH    0xfd12  Sispm - flash
+product CYPRESS GEMBIRD_EG_PMS2        0xfd15  Gembird EG-PMS2
 
 /* Daisy Technology products */
 product DAISY DMC              0x6901  PhotoClip

Reply via email to