If testing Open Devices - please test anything and everything 🙏 (normal mode, dfu mode, any platform, any device-os version)
If testing Protected Devices, note that normal mode should work fine. But Protected Devices in DFU mode will pose trouble if using device-os < 6.2.0 (which is the latest develop-6.x branch at the time of this PR). Make sure to use develop-6.x if you are testing Protected Devices starting in DFU mode.
❗ Important: Do not run particle.js update when your device is on develop-6.x branch. This will brick your device. particle update obtains the 6.1.1 binary since the reported firmware version from the device is 6.1.1 with the latest develop-6.x and once the bootloader-6.1.1 is flashed on the device with a more advanced system part (develop-6.x system part), it becomes an invalid order and the device will be bricked❗. For a device with develop-6.x, the way around this is to flash the 6.1.1 system part first, and then bootloader-6.1.1
To sumarize:
If you are on 6.1.1 released firmware and want to go to develop-6.x (6.1.1 --> develop-6.x)
First, flash the develop-6.x bootloader
Then, flash the develop-6.x system part1
Then, flash the user part
If you are on develop-6.x firmware and want to go to 6.1.1 (develop-6.x --> 6.1.1)
Description
Support Protected Devices while running
particle flash xxx
commandsHow to Test
Use
particle flash --local
with devices in DFU mode and normal mode. Test with any platform / any device / any firmware.As of this PR:
develop-6.x
is this commitdevelop-6.x
branch at the time of this PR). Make sure to usedevelop-6.x
if you are testing Protected Devices starting in DFU mode.❗ Important: Do not run
particle.js update
when your device is ondevelop-6.x
branch. This will brick your device.particle update
obtains the 6.1.1 binary since the reported firmware version from the device is6.1.1
with the latest develop-6.x and once the bootloader-6.1.1 is flashed on the device with a more advanced system part (develop-6.x system part), it becomes an invalid order and the device will be bricked❗. For a device withdevelop-6.x
, the way around this is to flash the 6.1.1 system part first, and then bootloader-6.1.1 To sumarize:develop-6.x
(6.1.1 --> develop-6.x
)develop-6.x
firmware and want to go to6.1.1
(develop-6.x --> 6.1.1
)Link to binaries for the latest develop-6x branch
Related Issues / Discussions
https://app.shortcut.com/particle/story/129652/automate-protected-devices-to-run-particle-flash-command-e2e-tests https://app.shortcut.com/particle/story/129651/automate-protected-devices-to-run-particle-flash-command
Completeness