Can't get any device into DFU mode via USB

Been developing for Particle devices for some time. Also have been recently doing some development for ESP32 devices, so vs code is set up to do both. It’s been a few months since I’ve needed to flash a photon, but I’m having some issues today. When flashing locally via USB, it doesn’t put the device in DFU mode anymore. Flashing works fine if I force the device into DFU mode, but it always used to put the device into DFU mode automatically. I’ve tried two different photons and both do the same. I know I have the target device name set correctly. I’m using the device’s name as the target.

:::: PUTTING DEVICE INTO DFU MODE

Device not found: XXX_XXXXXX

This happens even when the device is already in DFU mode, however it will flash successfully right after, so I know it’s not a connectivity issue.

Running particle usb list, I get the following:

particle usb list
<no name> [1e003c000e504b53xxxxxxxx] (Photon)
<no name> [2a0038000d473930xxxxxxxx] (Photon)

If I set the target as the serial number, it’ll work, but I never had to do that in the past. Why would these devices suddenly not know their own name? They are properly connected to the particle cloud.

Your Particle CLI may be logged out so it can’t retrieve the device list. Try using particle login to log in again.

Nope. Logged in ok, and able to use cloud flash from cli without issue. I did run particle login again to make sure, but no luck. I have no problem specifying the serial number as a target, just thought it was weird this stopped working. Maybe correlated with the changeover of our account a couple months ago (Growlink)

Does particle list list the device names?

“No devices found.”

Are the devices claimed to a different user than you’re logged in as? You could also check console.particle.io to see if they’re there.

1 Like

I am the owner of no devices. My user account has access to the organization. I guess this may have worked in the past because I was signed in with that user. We had to move away from doing things that way in order to protect the main account. I assume the cli is just looking to the cloud to map the name to the serial?

Yes, that’s the problem. The CLI (and Workbench) only can see devices claimed to your account. It can’t see any devices in any organizations or products you have access to.

The exception to this rule is a device in a product or organization product that’s also claimed to your account. This comes up during development if you use the product Mark as Development device and also claim the device to your account. This allows the CLI, Workbench, and Web IDE access to the device even though it’s still in a product.