Workbench local flash - makes Photon show D7 LED only

Hello everyone, I have been working with a photon recently and been dealing with some strange behavior.

Using local flash via particle workbench triggers D7 LED only.
When I attempt to use the local flash utility via particle workbench, even with the simplest program, it makes my photon go into “No Status LED” mode. This means the D7 LED is on, but nothing else. According to this is a missing or corrupted bootloader.

After a few seconds of no LED + D7 LED, the device puts itself into DFU mode (blinking yellow). This will occur every time I restart it as well. There is no other sign or magenta LED before the yellow begins. It goes D7 only for a few seconds, then the blinking yellow comes on as well (D7 stays on the whole time). This seems odd to me, as I haven’t seen anyone mention that DFU mode pattern.

Fortunately, I have the Particle Debugger and can fix the device from this broken state. When I program the bootloader, the problem persists, nothing is changed, but when I program the deviceOS back to 1.0.1, the normal LED is seen once again and my photon is back to normal.

After the device is blinking green again, I immediately update to 1.4.3 using particle update because the photon does not seem to work on my wifi with 1.0.1. Also believe I had the exact issue with 1.4.2 earlier today, (1.4.3 was released only a few hours ago).

Other misc. info.

  1. Putting the device into safe mode does not work while it is in this state.
  2. Using particle flash --usb tinker instead works fine. Assuming device is in healthy state beforehand.
  3. Cloud flashing via the console & also via workbench command, works fine. Assuming device is in healthy state beforehand.

I will probably submit a support ticket to Particle, and maybe reinstall workbench, as I can’t seem to find anyone else having this problem.

Does anyone have any thoughts or advice on this?

Thank you in advance.

A short period of dim D7 and no other LEDs is the normal behaviour during the time the controler resets, engages the JTAG interface before starting the bootloader.

The dim D7 stems from the internal pull-up resistor that's attached by default for JTAG mode.
Usually DFU mode disables JTAG but some issue with the bootloader (which also runs DFU Mode) may explain the behaviour.

How did you flash the bootloader?

Have you tried running a clean task in Workbench and build device OS and application and flash both?

I flashed the bootloader using OpenOCD & the Particle debugger, following the documentation from . From the section "Programming the boot loader (2nd generation)". The console output afterward Programming Finished and Verify OK. Similar successful output for flashing deviceOS.

Using Clean application then Flashing application and DeviceOS put the photon into a weird DFU loop - where it would not change from DFU flashing yellow, regardless of button combinations or unplugging it.
The console stated flash successful, as did other attempts to use local flash afterward, but the photon stayed in the DFU loop.

I got it back into the current state, by doing same as before, reprogram bootloader and deviceOS via OpenOCD.

You said

Usually DFU mode disables JTAG but some issue with the bootloader (which also runs DFU Mode) may explain the behaviour.

Can you elaborate a little on this?
Also note: I am using the SWD 3 wire configuration on my particle debugger->photon, rather than JTAG.

Do you think this is a workbench issue? Or something odd and specific to my device?

Thanks for the quick reply!

I couldn't answer definitively on that but would consider it a bug if this is confined to Workbench and wouldn't happen when building in the cloud and flashing via CLI.

@m_m is the guy for everything Workbench :wink:

I’ll keep testing around with it, and then bug @m_m about it!

Thank you for your help as always!

1 Like

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.