Error: Failed to get id. Device may not have one assigned.

If your device id gets messed up, the device will crash right after starting up as whenever igdaemon sees a new device, it asks for the device’s ID and this query is crashing the USB device. If this is the case, you’ll have something like this in your igdaemon log:

Feb 19 22:07:03 2012 INFO: Found device version 0x306
Feb 19 22:07:03 2012 DEBUG2: o0x0000cd1f
Feb 19 22:07:04 2012 INFO: Timeout while waiting for response from device.
Feb 19 22:07:04 2012 INFO: Failed to get id. Device may not have one assigned.

The first lines says that igdaemon sees a new device (version 0306 in this case) and the second line is asking for the device’s ID. The third and fourth lines are the query failing (or a blank ID). After that, if all further queries to the device fail, then you have a bad device id.

How to fix it?

Thankfully, it isn’t hard to fix. First stop igdaemon. The start igdaemon in a command window with the option –no-ids:

sudo igdaemon -nvvv –no-ids
igdaemon.exe -v -v -v –no-ids

(first line for Linux systems, second for Windows). This tells igdaemon not to ask devices for their id. That should stop the device from crashing when you plug it in. So unplug the device and plug it back in. In a second command window run:

sudo igclient –set-id=something
igclient.exe –set-id=something

That will reset the device id to ‘something’ (pick whatever makes sense. Assuming you get a success on that command, ¬†you should be good to go. Stop igdaemon and start it back normally.