[Photon] Unable to flash new code

It’s very strange - I’ve gone to safe mode and also full reset mode so for for my photon here. When I flash the blink example, it will blink pink like it does for flashing and then simply not execute the new code. The led does not flash. Very strange… any idea?

Did you modify the system firmware or been working with IDE/CLI?

Has it been working and stopped suddenly?

I’ve not worked with the command line tools to flash code - just setup a weebhook via the commadn line. It worked nicely until yesterday afternoon. I’ve then tried a million times and gave up for the day. But now it still does not work.

It will happily start blinking magenta like it always did. Then goes back to breathing cyan. IN the dashboard I also see that it comes online whne I plug it in… all seems normal, but it does not even run the simplest code for the blink.

I also know the led is working - when I press reset it quickly flashes. Any idea?

Can you perform a factory reset which essentially copies the factory tinker firmware to overwrite the user firmware.

Make sure the device flashing white for full factory reset.

Safe mode should work 100% but not sure what’s going on there. Might also be a cloud issue.

Can you try that?

1 Like

ok something is super weird. my photon does not 100% behave like the rest routine describes it.

I hold down both buttons, release reset, it blinks magenta, yellow, green and then starts blinking in white before it goes into a second full white - then it starts over again with magenta. Am I doing it wrong? When I release during the white blink phase it will then end with breathing cyan, e.g. no wifi lost…

Weird… It should flashing white and you can release the button or it will cycle to magenta which is why it ended to breathing cyan.

Try releasing the button once it hits flashing white.

1 Like

done. It stops quickly, then seems to “startup normally” and comes online.

Sounds like the Wifi credentials did not clear somehow and indicates a DCT area corruption i guess.

Did you have to enter the Wifi credentials?

Try flashing an app to see what happens.

I did not have to re-enter wifi credentials. I just tried flashing the blink code again. It blinks magenta, but I noticed it is pretty fast. I know it’s faster than on the core, but it is really really fas - like 2-3 seconds or so. It still does not run the blink code.

what is dct?

@hansamann, it’s the memory area that holds stuff like the keys etc…

Hmm let’s ping @mdma here about which patch this would require.

@kennethlimcp @mdma thx for helping out here. If there is something I can do right now, let me know. Like preparing for local flashing…

You will need DFU-util probably.

ok, got that

Hi @hansamann

I just wanted to say that I have gotten my Photon into strange states where is would seem to flash new code but not run new code. The problem turned out to be that I updated the base firmware and that was subtly incompatible with the webIDE version, so I created the problem myself. The symptoms were very confusing including going into flashing green mode after flashing like WiFi wasn’t working and until I figured out what I had done, I was really stumped.

The good news with DFU and downloading from the releases page, I was able to get everything back to normal, but you do have to pay attention to which version the web IDE is using if you want to compile your code there and make sure your base Photon firmware is the same version.


ok, but so far I’ve never flashed code onto it via the “cable”. Where is the default firmware? Is it explained somewhere how to get it on?

Hi @hansamann

On Photon, only your own code normally gets flashed over-the-air so the base firmware is more constant and only upgraded occasionally. You can check the releases page for info:

Right now the web IDE is compatible with 0.4.1 (and not 0.4.2). If you can hook a serial terminal type program (CoolTerm or PuTTY or similar) you can check the version by putting the device in blue listening mode and hitting “s”.

This might be good to check since it is possible the factory reset you did downloaded a new version somehow by mistake.

So hitting s after the serial connection got established led to this:

screen /dev/tty.usbmodem1411 9600


Is that expected?

Been trying the 0.4.1 dfu-based flashing. I am not sure if that worked:

MUCM60279243A:~ d061237$ dfu-util -d 2b04:d006 -a 0 -s 0x8020000:leave -D ~/Desktop/system_pad_BM-09.bin
dfu-util 0.7

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

Filter on vendor = 0x2b04 product = 0xd006
Opening DFU capable USB device… ID 2b04:d006
Run-time device DFU version 011a
Found DFU: [2b04:d006] devnum=0, cfg=1, intf=0, alt=0, name="@Internal Flash /0x08000000/03016Ka,01016Kg,01064Kg,07128Kg"
Claiming USB DFU Interface…
Setting Alternate Setting #0
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 011a
Device returned transfer size 4096
No valid DFU suffix signature
Warning: File has no DFU suffix
DfuSe interface name: "Internal Flash "
Downloading to address = 0x08020000, size = 393216

File downloaded successfully
Error during download get_status
Error during download get_status

after that I added the tinker.bin twice just like explained to the different mem locations.

I’ve just checked settings in the web ide - it looks like I am even building with 0.3.4 -how do I change that?