Trouble Entering Safe Mode

I’m trying to work with a couple of Photons that I ordered a while ago but never setup. While the photons appear to be online, I can ping them, signal rotates the LED colours. However; when I try to flash it I get a timeout error.

So I try to enter safe mode. I hold the setup button, press the reset button for maybe half a second, release the reset button, and when the LED goes magenta I release setup. The Photons always end up in slowly pulsing cyan and I’m unable to flash.

What am I doing wrong here? I’ve tried releasing the setup button as soon as any light appears in the LED, waiting longer…no luck.

Thanks in advance for any help,
Dave

Can you post a video of the actual process till it reaches breathing cyan?

BTW, posting the same thing on multiple threads isn't considered good practice, as it scatters the discussion and ties up resources to answer the same question repeatedly.

Sorry about posting to multiple threads. I didn’t realize the other thread was fairly old when I posted and I didn’t think it would get a response.

Anyway I’m back at it again. Here’s a video. I’ve successfully done a factory reset but still can’t enter safe mode. Here’s a link to a video. https://photos.app.goo.gl/26qRaZs9GXUXVMM98

Since it's so long ago, can you update to the most recent version CLI (currently 1.33.0)?
Then put your Photon into DFU Mode and run

particle flash --usb tinker
particle update

After that, put your Photon into Listening Mode an run

particle serial inspect

and post the result here.

Not sure what you mean with that since the Photon doesn't sport a factory reset feature.

Not having much luck again.

I’ve put the Photon into DFU
DFU Mode

Verified the particle CLI version

particle version
1.33.0

Run the flash command with the following output

particle flash --usb tinker

!!! I was unable to detect any devices in DFU mode...

> Your device will blink yellow when in DFU mode.
> If your device is not blinking yellow, please:

1) Press and hold both the RESET/RST and MODE/SETUP buttons simultaneously.

2) Release only the RESET/RST button while continuing to hold the MODE/SETUP button.

3) Release the MODE/SETUP button once the device begins to blink yellow.

Error writing firmware: No DFU device found

My next thought was maybe my machine wasn’t seeing the photon on the usb port. So I checked the Device Manager in Windows, and it showed up under Ports as a COM port (this was while the device was breathing cyan). Next I put the device back in to DFU mode, ran the flash command again…same result. Just for my own sanity I went back in to Device Manager. The device still shows up, but NOT as a port, instead it’s now listed (while in DFU mode) under libusbK USB Devices as “Photon DFU Mode” with a warning icon. The details list the status as:

Windows cannot load the device driver for this hardware. The driver may be corrupted or missing. (Code 39)

The specified image file did not have the correct format, it appears to be a 64-bit Windows image.

I’ve seen some posts about USB 3.0 ports not working on some machines but I get the same behaviour on a USB 2.0 port.

Any ideas?

Nevermind, found the answer to my problem. While I did use the installer for particle for some reason the DFU mode drivers still aren’t present. I’m going to try installing following the directions to install the drivers manually.

Edit: And… I’m stuck again. While the USB driver issue was partially solved, it’s now detected and no warnings show in Device Manager when the photon is in DFU mode. Particle flash --usb tinker results in an error

particle flash --usb tinker
Error writing firmware: Invalid DFU suffix signature
A valid DFU suffix will be required in a future dfu-util release!!!
Error during download get_status

And dfu-util -l also has an issue

dfu-util -l
dfu-util 0.8

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2014 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to dfu-util@lists.gnumonks.org

Deducing device DFU version from functional descriptor length
Cannot open DFU device 0a5c:217f

Any ideas?

Edit2: After cycling the photon and placing it back into DFU mode dfu-util the output is slightly different than the first run but closer to what you’d get on success.

dfu-util -l
dfu-util 0.8

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2014 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to dfu-util@lists.gnumonks.org

Deducing device DFU version from functional descriptor length
Cannot open DFU device 0a5c:217f
Found DFU: [2b04:d006] ver=0200, devnum=5, cfg=1, intf=0, alt=1, name="@DCT Flash   /0x00000000/01*016Kg", serial="00000000010C"
Found DFU: [2b04:d006] ver=0200, devnum=5, cfg=1, intf=0, alt=0, name="@Internal Flash   /0x08000000/03*016Ka,01*016Kg,01*064Kg,07*128Kg", serial="00000000010C"

This occurs every time and is not really an error. It happens on successful downloads:

particle flash --usb tinker
Error writing firmware: Invalid DFU suffix signature
A valid DFU suffix will be required in a future dfu-util release!!!
Error during download get_status

And this is not your Photon. It appears to be a Thinkpad Bluetooth adapter.

Deducing device DFU version from functional descriptor length
Cannot open DFU device 0a5c:217f

This is the correct output for a Photon:

Found DFU: [2b04:d006] ver=0200, devnum=5, cfg=1, intf=0, alt=1, name="@DCT Flash   /0x00000000/01*016Kg", serial="00000000010C"
Found DFU: [2b04:d006] ver=0200, devnum=5, cfg=1, intf=0, alt=0, name="@Internal Flash   /0x08000000/03*016Ka,01*016Kg,01*064Kg,07*128Kg", serial="00000000010C"

So from your response I’m not sure what the path forward is. Ignoring the “Cannot open DFU device” issue the only difference in my output is that the devnum in my output is 6 while yours shows 5.

Found DFU: [2b04:d006] ver=0200, devnum=6, cfg=1, intf=0, alt=1, name="@DCT Flash   /0x00000000/01*016Kg", serial="00000000010C"
Found DFU: [2b04:d006] ver=0200, devnum=6, cfg=1, intf=0, alt=0, name="@Internal Flash   /0x08000000/03*016Ka,01*016Kg,01*064Kg,07*128Kg", serial="00000000010C"

I’m not sure what you mean by thinkpad bluetooth device, although I am on a ThinkPad. The identifier in the dfu-util output matches that of the photon in device manager. See attached screen caps.
DeviceManager-DFUModeDFU-HardwareIdsDFU-DeviceInstancePath

When I attempt to run particle flash I still get the following output.

particle flash --usb tinker
Error writing firmware: In valid DFU suffix signature
A valid DFU suffix will be required in a future dfu-util release!!!
Error during download get_status

Any thoughts on how I can move forward here?

Thanks

The Found DFU items are correct, the devnum will vary.

These messages occur every time, even for successful downloads, for everyone:

Error writing firmware: In valid DFU suffix signature
A valid DFU suffix will be required in a future dfu-util release!!!
Error during download get_status

Does it not actually flash? What are the LEDs doing during the process?

What version of the CLI are you using?

particle --version

DFU Util finds all the USB devices that it thinks it can update. In your case it found a device but it could not update it. The 0a5c and 217f are the registered USB IDs for a Thinkpad Bluetooth adapter which is likely inside your laptop but on the same USB bus.

As @rickkas7 said, the wrong suffix (think .doc or .txt) is not really an error even though it says it is.

These are both harmless.

1 Like
particle --version
1.34.0