Handling with BlinkStick USB errors (Windows)


#1

Combined with Windows (tested with Win 7 and Win 10) different errors could occur. That does not mean your device is broken! Please take a look at the following tipps before asking for a replacement.
(Note: All the errors and solution steps are part of my personal experience and do not represent any possible error and solution)

Possible errors:

  • Windows Message: “Unkown USB Device (Device descriptor Request Failed)”
  • Windows Message: “USB device not recognized”
  • Weird light behavior / wrong colors / device stopped responding

Possible solution steps:

  • Check the USB cable, plug your device directly into your USB port or try a different cable.
  • Try another USB port. I was surprised that even a USB 3.0 port works if a USB 2.0 port does not! Try the front, back, 2.0 and 3.0 ports.
  • Try a cheap passive USB hub between USB port and your BlinkStick. My expierence is, that a passive hub works better than an active one.
  • Switch off the option “Allow the computer to turn off this device to save power” in your Device Manager. You will find this option under the tab “Power Management” in any of your root hubs. In fact it is hard to find out, which of your root hubs is used for your BlinkStick device, you can do this for any root hub in the list.
  • Change the plan settings in your Windows power options. Switch the “USB selective suspend setting” in the advanced power settings to Disabled.
  • Connect your BlinkStick to a different PC to exclude that another instance (Virus Scanner, Disabled USB ports, Software that only allowed registered devices etc.) is responsible.

There are a lot more tipps when searching for problems with USB devices, but the steps above usually could help if the device is not broken itself. Maybe this list will be completed with additional steps later.


BlinkStick Not detected
pinned globally #2

#3

We use HP desktop PCs at our work. (Windows 7 SP1, 32bit)

I noted BlinkSticks clash with HP Keyboard and Mouse when all three are at rear USB port or front USB ports of the desktop.

If I separate BlinkStick from the HP Keyboard and Mouse (BlinkStick on front USB and Others at rear or vise versa) then BlinkStick works OK.

So I have moved the BlinkStick at the front USB port and everything else at rear which is not desired. It would be nice if there was another solution and all can work at rear USB ports.

I do not understand why but it appears all (Blinkstick, Keyboard and Mourse) are trying to become HID devices.

Regards
Kunal


#4

@kunal_patel thank you very much for reporting this and very sorry about inconvenience. Would you be able to provide us with the model number of your HP desktop PC so that we could reproduce this issue?


#5

Hey @kunal_patel,
A few thoughts on this:
The HP Desktop PCs have additional software on board which could cause problems (I remember some services that permanently contols the input devices [mouse and keyboard are HID devices], installed by the HP migration packs/services). So first of all it could happen that this service blocking “foreign” devices on the same hub. My experience is you don´t need this additional service so switch it off if possible.
Next I would take a look at the total power of all devices on one hub. In my case the BlinkStick needs 40 mA. Thats not much but could be too much in total with other devices. Take a look at your device manager and check the tab “power” for any generic and root hubs.

That isn´t a proven solution, only an idea. Hope it helps.


#6

I agree with @p0ke’s idea of HP software interfering with BlinkStick device. This could be very much the case.


#7

Thanks “p0Ke” and “arvydas” for you prompt replay. Some more info for your reference

  • All Work OK if blinkstick is plugged first and then mouse and keyboard (all at rear USB ports) however, if PC is restarted then BlinkStick will stop again with “USB device not recognized” error.

  • The PC is HP Compaq 8100 & 8200 Elite

  • Power requirement on device manager states 100mA each for mouse and keyboard

  • According to out IT admin, It is not desired to uninstall the HP HID as it may break other potential devices. We use Blink sticks on more then 15 PCs at the moment and potential to expand. All user use different configuration, software and all controlled by IT corporate policy.

  • See the results of different keyboard and mouse with Blink stick as below, (All at the rear USB ports. Blinkstick plugged after the mouse and keyboard are plugged)


#9

Hey Kunal,

you have withdrawn your last post. Did you find a solution?


#10

Hi “poke” and Arvidas

No, I haven’t found any solution yet. That last post was duplication that why I deleted it.


All Work OK if blinkstick is plugged first and then mouse and keyboard (all at rear USB ports) however, if PC is restarted then BlinkStick will stop again with “USB device not recognized” error.

The PC is HP Compaq 8100 & 8200 Elite

Power requirement on device manager states 100mA each for mouse and keyboard

According to out IT admin, It is not desired to uninstall the HP HID as it may break other potential devices. We use Blink sticks on more then 15 PCs at the moment and potential to expand. All user use different configuration, software and all controlled by IT corporate policy.

See the results of different keyboard and mouse with Blink stick as below, (All at the rear USB ports. Blinkstick plugged after the mouse and keyboard are plugged)


Windows 10 device descriptor request failed
Blinkstick not recognized on win10
#11

Hey Kunal,

I don´t think it is a problem of the Blinkstick. We´re working with 10 PCs with Gigabyte P55A boards and different Microsoft and Logitek keyboards/mouse wired and wireless. Additional it runs on a Gigabyte z77n and a ASUS notebook without problems, even if the devices are on the same USB hub.
So the next steps for you could be:

  • Try to get rid of the HP software, maybe temorary on one machine. Check also for security software which allows/denys special USB devices.
  • You could also consult the HP troubleshooting infos (for example: http://support.hp.com/us-en/document/c01893385)
  • Don´t use the Blinkstick on the hub with keyboard/mouse or try to add a cheap passive USB hub.

These are the only possible solutions I can give at the moment.


#12

Hi All,

I have a similar problem on my work Dell laptop. I’m using the .NET libraries and all goes well but after some random time I get a WINIO error and the BlinkStick cannot be used unless I unplug and plug it back in. Some ports this happens quicker than others but they all do it.

I’ll try the disable power option to see if that helps, but it is odd, it almost seems like Blink Stick isn’t stable. I have a USB DAC and USB hard drive also plugged in and none of these devices show any issue.


#13

Hey Josh and welcome to the forums.
This behavior seems to be a problem in your source.
Please keep sure you have a delay of at least 20 ms between sending data to the device.

Example:
blink.SetColor(0, 255, 0);
Thread.Sleep(20);
blink.SetColor(0, 0, 0);

#14

Interesting. There are cases in my code where there isn’t a delay between calls. Will give that a try.

I love the simplicity of the SDKs, I was able to create a monitor on one of our websites in 30 minutes and look forward to rolling it in a production settings.


#15

Yup solved the problem. I ensured a sleep between calls and it is now stable. May I ask why I need to do this? Most of the time it all works and wouldn’t a 20 ms introduce a delay in some “animations”?


#16

Hey Josh,

glad to hear that it works for you.

I allowed myself to copy a good answer to this case from Arvydas:

You need to wait at least 1/8000002460=1.8 milliseconds after you call set_color before calling the next one. It’s safer to double it. When BlinkStick is sending data to the LEDs, it can’t respond to USB requests. The math is as follows:

800000 is the speed in bytes/second at which data is transmitted to LEDs
24 is the amount of data that needs to be transmitted to each LED, 8 bytes per each channel
60 is the amount of LEDs you are controlling

Sometimes your code architecture already have such a delay (for example do a stopwatch in your functions to find it out), so sometimes you don´t need it additionally. But the thread.sleep(20) is the safest way to avoid problems like you have described above.

In the animations you also have to take care of a delay (it´s already part of the methods like morph).