[SOLVED] CLI Wont Recognise Photon in DFU Mode

Hi.

Background: I got back to my Photon project after a holiday break. So needed to update Photon firmware. Went to download 0.5.2. Firstly updated CLI - I now have 1.16.0 installed.

I went to flash 0.5.2 via the easy method.
Placed Photon in DFU mode - got yellow blink.
Ran C:\Users\miked>particle update, got this:

"!!! 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."

… but it was already in DFU mode??

I tried also:
C:\Users\miked>particle flash --usb system-part1-0.5.2-photon.bin (after downloading the binaries).
with same result.
and also

C:\Mike\Electronics\Photon\Binaries>particle flash {name} system-part1-0.5.2-photon.bin

with response:
“Including:
system-part1-0.5.2-photon.bin
attempting to flash firmware to your device {name}
Flash device failed
Timed out.”

I also tried

C:\Mike\Electronics\Photon\Binaries>dfu-util -d 2b04:d006 -a 0 -s 0x8020000 -D system-part1-0.5.2-photon.bin

With this response:
"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

Invalid DFU suffix signature
A valid DFU suffix will be required in a future dfu-util release!!!
Cannot open DFU device 2b04:d006
No DFU capable USB device available"

I have tried all of the USB ports on my computer and all with the same result.
The USB cable is the particle supplied one.
I have in the past been able to upgrade firmware on this computer, but now a bit stuck.
Any advice on what is happening with DFU mode not being recognised?

Thanks

Maybe on the track of this, but recording for those coming after…

NB: More background - Running Windows 10.

Went into Device Manager and found this apparent problem:

An issue with the currency of the DFU drivers. I’ll track down further and report back…

I thought I had cracked this… but no…
Searched the forums and found this

I followed the instructions (seems to follow equally well for Photon.
Downloaded Zadig and ran that.
Removed the old Photon driver via Device Manager, installed new driver via Zadig and thought I’d have success, but still getting the:

!!! 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.

When the Photon is flashing yellow.

… help?

I solved it.

Under Zadig there are separate drivers for “Photon with Wifi” and “Photon DFU Mode”.
I didnt have the Photon in DFU mode first try (related to last post).
So the driver update/replace was only related to the Photon in “breathing cyan” (maybe other modes too).
But this driver must be different for the Photon in DFU mode.

Once in DFU mode, Zadig recognises a different device type, and once the driver was updated/replaced using Zadig, the command in CLI of

C:\Users\miked>particle update

Gave this response !!!

Your device is ready for a system update.
This process should take about 30 seconds. Here goes!
! System firmware update successfully completed!
Your device should now restart automatically.
You may need to re-flash your application to the device.

Success, !!! Sorry about clogging up the forum with my own little bit of troubleshooting… but hopefully useful for someone coming along afterwards…:smile:

2 Likes

Yes, a device in DFU mode is seen by the USB Host as a completely different device as when it’s in any mode where the USB is set to feature a virtual COM port (standard user mode, Safe Mode, Listening Mode, YModem Mode).
With 0.6.0 the device can even act as USB HID device (e.g. mouse/keyboard) which just use the default HID drivers (for that particular use).

Thanks @ScruffR. As always, appreciate your insights.