Package: sispmctl Version: 3.1-1 Severity: important Tags: patch upstream fixed-upstream Forwarded: https://sourceforge.net/p/sispmctl/git/ci/bdd3c5006c07a801dd2e29162368ac407ac756b4
More recent devices use a USB ID of 04b4:fd15. The present sispmctl is unable to talk to such devices. This is fixed upstream in version 4.1. Please update to that version or cherry pick the relevant git commit. For your convenience, I backported the commit to version 3.1-1. I think it would be useful to fix this in buster as these devices will become more widespread. Helmut
commit bdd3c5006c07a801dd2e29162368ac407ac756b4 Author: Heinrich Schuchardt <[email protected]> Date: Sat Oct 13 12:58:50 2018 +0200 Add new device idVendor=04b4, idProduct=fd15 New Gembird EG-PMS2 uses a 0xFD15 as product ID. Signed-off-by: Heinrich Schuchardt <[email protected]> Tested-by: Matthias84 <[email protected]> Index: sispmctl-3.1/src/main.c =================================================================== --- sispmctl-3.1.orig/src/main.c +++ sispmctl-3.1/src/main.c @@ -490,7 +490,9 @@ void parse_command_line(int argc, char* printf("%d %s %s\n", status, dev[status]->bus->dirname, dev[status]->filename); id = get_id(dev[status]); - if ((id == PRODUCT_ID_SISPM) || (id == PRODUCT_ID_SISPM_FLASH_NEW)) + if ((id == PRODUCT_ID_SISPM) || + (id == PRODUCT_ID_SISPM_FLASH_NEW) || + (id == PRODUCT_ID_SISPM_EG_PMS2)) if (numeric == 0) printf("device type: 4-socket SiS-PM\n"); else @@ -789,7 +791,8 @@ int main(int argc, char** argv) if ((dev->descriptor.idVendor == VENDOR_ID) && ((dev->descriptor.idProduct == PRODUCT_ID_SISPM) || (dev->descriptor.idProduct == PRODUCT_ID_MSISPM_OLD) || (dev->descriptor.idProduct == PRODUCT_ID_MSISPM_FLASH) || - (dev->descriptor.idProduct == PRODUCT_ID_SISPM_FLASH_NEW))) { + (dev->descriptor.idProduct == PRODUCT_ID_SISPM_FLASH_NEW) || + (dev->descriptor.idProduct == PRODUCT_ID_SISPM_EG_PMS2))) { usbdev[count++] = dev; } if (count == MAXGEMBIRD) { Index: sispmctl-3.1/src/sispm_ctl.c =================================================================== --- sispmctl-3.1.orig/src/sispm_ctl.c +++ sispmctl-3.1/src/sispm_ctl.c @@ -3,6 +3,7 @@ Controls the GEMBIRD Silver Shield PM USB outlet device + (C) 2015-2018, Heinrich Schuchardt <[email protected]> (C) 2004,2005,2006 Mondrian Nuessle, Computer Architecture Group, University of Mannheim, Germany (C) 2005, Andreas Neuper, Germany (C) 2010, Olivier Matheret, France, for the plannification part @@ -164,7 +165,9 @@ int check_outlet_number(int id, int outl fprintf(stderr,"mSIS-PM devices only feature one outlet. Number changed from %d to 1\n", outlet); outlet = 1; } - if (id == PRODUCT_ID_SISPM || id == PRODUCT_ID_SISPM_FLASH_NEW) { + if ((id == PRODUCT_ID_SISPM) || + (id == PRODUCT_ID_SISPM_FLASH_NEW) || + (id == PRODUCT_ID_SISPM_EG_PMS2)) { if (outlet < 1 || outlet > 4) { if (verbose == 1) fprintf(stderr,"SIS-PM devices only feature 4 outlets. Number changed from %d to 1\n", outlet); Index: sispmctl-3.1/src/sispm_ctl.h =================================================================== --- sispmctl-3.1.orig/src/sispm_ctl.h +++ sispmctl-3.1/src/sispm_ctl.h @@ -39,8 +39,7 @@ #define PRODUCT_ID_MSISPM_OLD 0xFD10 #define PRODUCT_ID_MSISPM_FLASH 0xFD12 #define PRODUCT_ID_SISPM_FLASH_NEW 0xFD13 - - +#define PRODUCT_ID_SISPM_EG_PMS2 0xFD15 #define USB_DIR_IN 0x80 /* to host */ #define USB_DIR_OUT 0 /* to device */

