Device descriptor request failed


#1

Trying to debug a project that appears to be unresponsive when I arrive at my workbench after being away for several days.

The main problem that I’m having in doing so is that I can’t access the serial monitor of my Electron when my device is in this state.

All I get is “Device descriptor request failed” as shown here:

The Electron appears to be doing its’ connecting to the internet dance (i.e. flashing lights of all the expected colours).

Occasionally, a device came online event will be published if I have that device’s event fire hose open in Particle Console, as shown here:

I have observed this behaviour ever since I started using the Particle development ecosystem (over a year ago), and have so far just assumed that it was my PC’s fault… but now that I have a stable firmware project built (many devices go for weeks on end without requiring intervention), I am starting to think that this bug is not due to my own code, but instead due to some bug or quirk in spark firmware.

I have noticed that the USB serial monitor hangs/stops working often during the Electron’s process of connecting to the cellular network and/or Particle servers. Most of the time I can just unplug and plug back in the USB cable and the serial monitor connection will be resurrected (via Teraterm). Other times this happens.

The only way to recover from this that I have found is to press the RESET button on my Electron, which is useless because then the Electron is back at square 1 and any useful information I was hoping to gather via the serial monitor is now long gone.

FYI I am using Spark firmware version 0.6.1


#2

I have had similar issues when the device or a serial terminal program was detached at some inconventient time and hence Windows 10 had some parts of the USB Serial drivers stuck in memory and couldn’t unload it and hooking it back up did fail due to some half dead driver was still present.
In these cases I even have to reboot Windows to get rid of the residues.

BTW, any reason for sticking with old system firmware?


#3

Thanks for the co-miseration @ScruffR

In my case, rebooting Windows (or power cycling my PC) doesn’t seem to work either.

I have been sticking with old system firmware because AFAIK there is no reliable way to roll out a system firmware upgrade to all the devices in my product.

Maybe this has changed? I would love to update the fleet to 0.6.4 or other stable release to see if it solves these recurring problems, but I am not aware of any tools that Particle may have developed to automate this…


#4

The latest stable release is 0.7.0, but updating Electrons OTA does in deed get tricky due to some open (still unaddressed) issues like these
https://github.com/particle-iot/firmware/issues/1166
https://github.com/particle-iot/firmware/issues/1285

Or half baked enhancements :wink:
https://github.com/particle-iot/firmware/issues/375

Maybe commenting on these issues and putting the finger in open wounds may help pushing these up in the priority list.


#5

Hello everyone,
good day,
right now I have the same problem, I had to change my previous laptop with windows 7 to a new one with windows 10 and something very strange happened to me, I updated the firmware of an old electronic e-series and I could work without problems but try to update the firmware to a new electron and the USB port does not recognize it I have the problem “Device descriptor request failed”

Can you help me with this problem?

thanks


#6

What device OS version?
Have you installed CLI via the Windows Installer?
What mode is your device in while trying to update?
Does the device show up in Device Manager?
Where?


#7

1.- I sent the firmware through the flash and loaded version 1.2.1
2.- Yes, I installed the CLI through the Windows installer.
3.- When I try to put the device in DFU mode the LED blink green.
4.- In the device manager it is shown as an unknown usb device.
5.- In the universal serial bus controller

thanks


#8

ad 3. it should be blinking yellow when actually in DFU Mode.
ad 4&5. this suggests you have not got the drivers installed correctly.