Updating firmware on P1 through DFU

These instructions are for the photon: https://github.com/spark/firmware/releases

What needs to be updated to work with the P1:
I know the address 2b04:d006 needs to be changed to 2b04:d008, but what about the memory locations?

dfu-util -d 2b04:d006 -a 0 -s 0x8020000 -D system-part1-0.4.2-photon.bin
dfu-util -d 2b04:d006 -a 0 -s 0x8060000:leave -D system-part2-0.4.2-photon.bin

I tried updating the firmware and got the below output. Does this seem to be correct? My P1 doesnt seem to be connecting working correctly, I can only connect though DFU.

dfu-util -d 2b04:d008 -a 0 -s 0x8020000 -D system-part1-0.4.2-photon.bin
dfu-util -d 2b04:d008 -a 0 -s 0x8060000:leave -D system-part2-0.4.2-photon.bin

///////////////////////////////////////////////////////////////////////////////

C:\Particle Firmware\0.4.2>dfu-util -l
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

Found DFU: [2b04:d008] devnum=0, cfg=1, intf=0, alt=0, name="@Internal Flash /
0x08000000/03016Ka,01016Kg,01064Kg,07128Kg"
Found DFU: [2b04:d008] devnum=0, cfg=1, intf=0, alt=1, name="@DCT Flash /0x000
00000/01*016Kg"

C:\Particle Firmware\0.4.2>dfu-util -d 2b04:d008 -a 0 -s 0x8020000 -D system-par
t1-0.4.2-photon.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 = 0xd008
Opening DFU capable USB device… ID 2b04:d008
Run-time device DFU version 011a
Found DFU: [2b04:d008] 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 = 247052
…
File downloaded successfully

C:\Particle Firmware\0.4.2>dfu-util -d 2b04:d008 -a 0 -s 0x8060000:leave -D syst
em-part2-0.4.2-photon.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 = 0xd008
Opening DFU capable USB device… ID 2b04:d008
Run-time device DFU version 011a
Found DFU: [2b04:d008] 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 = dfuDNLOAD-IDLE, status = 0
aborting previous incomplete transfer
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 = 0x08060000, size = 146072
…
File downloaded successfully
Error during download get_status
Error during download get_status

C:\Particle Firmware\0.4.2>

When you run make i think you have to change the PLATFORM=photon to P1, have a look here for the options

if you add program-dfu to the end of the make command in the modules folder it should append the right suffix to the binaries and target the right places… you can then see if the ones you are using are correct

Flashing Photon firmware to the P1 will not work - they are different hardware platforms and require different firmware.

The 0.4.3 release was published today which includes binaries for the P1.

with the 043 release I was able to get everything working. Thanks

1 Like