I was trying to update firmware to 4.7 using the CLI. I’m using Windows. I updated part 1 successfully. While trying to update Part 2, I started getting a flashing red SOS.
I put the device in safe mode and tried to update part 2. I’m getting the following error:
flash device said {“ok”:false,“code”:200,“errors”:[{“id”:"[ ]",“status”:“Update failed - File was too big!”}]}
Thanks @ScruffR. I did download the binaries to my computer. When I try to upload part2, I get a ‘file too big’ error. I think the main issue I have is that the Photon is out of memory. I’m not sure how that is possible. My code is very small. I’m wondering whether the old firmware files are still in memory.
Anyway, I think the next step for me is to clear the memory. Any idea how to do that?
There is no need to clear the memory, just flashing it will overwrite it.
Maybe you try the dfu-util way and make sure to actually copy-paste the commands from the link above - the target address for the two system parts are different, so don’t reuse the part1 command.
And also double check that you got the Photon files and not the ones for the P1.
@ScruffR@Moors7 So I used dfu-util to download the files to the Photon. But I keep getting the same error: white LED, followed by green flashing LED, followed by cyan flashing LED, followed by two red SOS, and then the procedure is repeated with the white LED. Any further ideas?
No further ideas with these symptoms, but some plea to help us to ensure to be on the same page.
Could you please repeat the system update with dfu-util and post the exact commands and the full output on the console when uploading part1 and part2.
And after that also perform particle flash --usb tinker in DFU mode and post the output of this too.
BTW: Did your “file too big” error got away then?
And between the two SOS patterns, do you not see any other red blink? There should be one or more red flashes to indicate the kind of SOS fault.
Here is the output from the cmd line window. Yes, there is a long red flash between the two red SOS signals.
C:\Users\Siddharth\Documents\dfu-util-0.8-binaries\win32-mingw32>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
Found DFU: [2b04:d006] ver=0200, devnum=30, cfg=1, intf=0, alt=1, name="@DCT Flash /0x00000000/01*016Kg", serial="00000000010C"
Found DFU: [2b04:d006] ver=0200, devnum=30, cfg=1, intf=0, alt=0, name="@Internal Flash /0x08000000/03*016Ka,01*016Kg,01*064Kg,07*128Kg", serial="00000000010C
"
C:\Users\Siddharth\Documents\dfu-util-0.8-binaries\win32-mingw32>dfu-util -d 2b04:d006 -a 0 -s 0x8020000 -D system-part1-0.4.7-photon.bin
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!!!
Opening DFU capable USB device...
ID 2b04:d006
Run-time device DFU version 011a
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
DfuSe interface name: "Internal Flash "
Downloading to address = 0x08020000, size = 249740
Download [=========================] 100% 249740 bytes
Download done.
File downloaded successfully
C:\Users\Siddharth\Documents\dfu-util-0.8-binaries\win32-mingw32>dfu-util -d 2:04:d006 -a 0 -s 0x8060000:leave -D system-part2-0.4.7-photon.bin
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!!!
Opening DFU capable USB device...
ID 2b04:d006
Run-time device DFU version 011a
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
DfuSe interface name: "Internal Flash "
Downloading to address = 0x08060000, size = 169832
Download [=========================] 100% 169832 bytes
Download done.
File downloaded successfully
No, you don’t need to run dfu-util again - now you should be set up for business as usual
Tinker is the default application firmware that gets pre-flashed with all new Particle devices.
This is the firmware that is meant to interact with the Particle mobile apps to just use the device out the box and do some “tinkering” like switching the onboard LED on and off, set pins HIGH/LOW, read the pin states and so on.
Since it’s the default firmware, it’s available as prebuilt binary and has its own command in Particle CLI, and hence is a good way to put your device back into a predefined good state.