# Updating firmware on P1 through DFU

**URL:** <https://community.particle.io/t/updating-firmware-on-p1-through-dfu/13242>\
**Category:** Firmware\
**Created:** [July 14, 2015, 3:20pm UTC](https://community.particle.io/t/updating-firmware-on-p1-through-dfu/13242 "2015-07-14T15:20:46Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![wesner0019](https://avatars.discourse-cdn.com/v4/letter/w/0ea827/32.png) [@wesner0019](https://community.particle.io/u/wesner0019)\
**Post date:** [July 14, 2015, 3:20pm UTC](https://community.particle.io/t/updating-firmware-on-p1-through-dfu/13242/1 "2015-07-14T15:20:46Z")

</div>

These instructions are for the photon: [Releases · particle-iot/device-os · GitHub](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](mailto:dfu-util@lists.gnumonks.org)

> Found DFU: [2b04:d008] devnum=0, cfg=1, intf=0, alt=0, name="@Internal Flash /  
> 0x08000000/03_016Ka,01_016Kg,01_064Kg,07_128Kg"  
> 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](mailto: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/03_016Ka,01_016Kg,01_064Kg,07_128Kg"  
> 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](mailto: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/03_016Ka,01_016Kg,01_064Kg,07_128Kg"  
> 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\>

---

<div class="post-metadata">

**Author:** ![Hootie81](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/hootie81/32/2879_2.png) [@Hootie81](https://community.particle.io/u/Hootie81)\
**Post date:** [July 14, 2015, 10:49pm UTC](https://community.particle.io/t/updating-firmware-on-p1-through-dfu/13242/2 "2015-07-14T22:49:01Z")

</div>

When you run make i think you have to change the PLATFORM=photon to P1, have a look [here](https://github.com/spark/firmware/blob/develop/build/platform-id.mk) 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

---

<div class="post-metadata">

**Author:** ![mdma](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/mdma/32/1924_2.png) [@mdma](https://community.particle.io/u/mdma)\
**Post date:** [July 14, 2015, 10:55pm UTC](https://community.particle.io/t/updating-firmware-on-p1-through-dfu/13242/3 "2015-07-14T22:55:06Z")

</div>

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

The [0.4.3 release](https://github.com/spark/firmware/releases/) was published today which includes binaries for the P1.

---

<div class="post-metadata">

**Author:** ![wesner0019](https://avatars.discourse-cdn.com/v4/letter/w/0ea827/32.png) [@wesner0019](https://community.particle.io/u/wesner0019)\
**Post date:** [July 14, 2015, 10:59pm UTC](https://community.particle.io/t/updating-firmware-on-p1-through-dfu/13242/4 "2015-07-14T22:59:05Z")

</div>

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