We’re using two BlinkStick Flex’s on each computer in a packaging environment to indicate which items to pick per customer package. We’re using SetupDiEnumDeviceInterfaces and HidD_SetFeature ourselves to connect to the devices and this works great. Sadly now and again this fails, and GetLastError returns 31 or 7, also after repeated retries. Disconnecting the USB devices (or the USB hub they’re on) helps, but we can’t depend on this method for daily operation.
We’ve tried using blinkstick.exe as a proof-of-concept, but this also isn’t usable in normal operation as it performs much too slowly. Also when the BlinkStick Flex’s are failing, blinkstick.exe responds with “Device opened successfully.” but with nothing where the serial number is supposed to be.
Would you have idea’s of things we could try? Of would you like to have a demo application that mimics typical operation and the commands we send to the devices to have a try yourself?