Particle Device OS Updates: Comments

This morning, with 0.4.4, I still saw my Photon lose connection to the cloud (rapid flashing cyan) several times. It usually recovered fairly quickly, though one time took ~1 min. After power cycling, the Photon’s connection now appears to be stable, though still sitting in the same location on my desk. Is this expected with 0.4.4?

I updated to 0.4.4 via the online build tool on release day and verified the update by pressing ‘v’ on the serial.

EDIT: The connection instability has returned.

Still no one responded about reflashing. I have the same issue as @JSchrempp - I have THREE photons now doing this and all are rendered useless. Jokes aside, this is beyond frustrating.

Just try flashing a random app through the online IDE, ‘blink an LED’ if you will. Doesn’t really matter. That should invoke a firmware upgrade, if necessary. In some cases the upgrade gets messed up, after which it will enter ‘safe mode’, which is breathing magenta. Retrying to flash an app, reflashing it if you will, should invoke that upgrade again, in an effort tofinish the process

We will continue improving the auto update system

The only "improvement" you can be making to the system at this point is fixing it, because it's broken.

So call it improving, fixing, redoing, scraping it entirely, or whatever you want - but your auto update system should be disabled until you hash out the issues literally breaking your customer's products they bought already.

Not so funny.

Thanks @Moors7- I tried something similar, it always ends up fading the red and blue LED.

Try designing a product without flaws, or bugs, the very first time you release it. Good luck with that :wink: They're only human, and unfortunately, humans aren't perfect either, but I wouldn't like scraping them...
I can understand the frustration about things not working properly the first time around, but this was a release that was long due. System firmware needed to be upgraded. Since the photon works quite differently than the Core does, a different approach was needed.
That said, I'm not saying the updater is perfect yet, but that's why they'll keep improving it. If you have to stall things until you're a 110% sure there will never ever be a bug in the real world, we'd still be living in caves hunting gazelles... The fact that it tries to fix a potential failure is already a failsafe that has worked pretty well for most people so far.

It fixed a whole bunch of other issues, like malfunctioning I2C. If it weren't for the updater, the story would've been:"why don't you fix I2C, you should hash out the issues literally breaking your customer's products they bought already."

So yeah, mixed feelings. But enough about that, let's just try to get your device working again...

Have you tried particle update using the CLI already (make sure your device is in DFU mode)?
Alternatively, try flashing an app over DFU, like Tinker for example. particle flash --usb tinker when in DFU mode.

2 Likes

Not even going to get into it, not the time nor place nor the effort.

In regards to your “did you try CLI” etc etc - no, I literally opened my photon, plugged it in, and it bricked itself. I want to plug my photon back in and it to actually work, I don’t want to go down the CLI road, it should be working. This is pretty sad.

My comment still stands - disable your auto updating system in the meantime until you fix your product which essentially bricked my devices I bought.

@webdevbrian and @JSchrempp

My photon did the same as yours when I tried to update via the internet, I wasn’t particularly surprised because I’m on satellite internet with a pretty slow ping which can cause issues, could ping be a contributing factor for either of you?
I update most of my firmware over DFU now (which I know can be a bit of a hassle to install if you’re not an expert with that sort of stuff, although I can say that it was simpler on a Linux system for me if you have that option).

I also agree it can be frustrating when these features don’t work, however I’ve seen a huge improvement in features and stability over the last month or so, so I’m pretty sure the Particle team are committed to getting these issues sorted, one of the trials of being an early adopter I suppose!

2 Likes

It is not bricked. Part of Particle's make-it-nearly-impossible-to-brick the device strategy is using USB and dfu-util to recover from unanticipated over-the-air update problems. The CLI in this case is a pretty wrapper on dfu-util so you don't have to type so much or so carefully. So you can fix your devices using the USB port and some software on a PC/Mac/Linux box.

I have done a lot of crazy things to Particle devices, running other users' code that crashed in strange ways to debug it, spewing data all over flash memory, etc. and I have never bricked a device. But a whole long list of things has made OTA updates fail from time to time and the fix was to update over USB when things went wrong.

Are there bugs in software? Sure. Can you recover from them? Yes.

2 Likes

After update to latest firmware device cannot connect to the cloud. I`ve waited ~1h and no luck. On downgrade to 0.4.3 having error with permission denied

You do realize that Photons are a product for developers and that means needing to use a command line tool when bad luck hits is absolutely within reason. It works for many people and doesn’t fail for everybody but if it does using dfu-util or particle-cli is the way to go and I’m pretty thankful these tools are available. On e.g. Arch Linux dfu-util is even in the official package database maybe it is in Ubuntu too then you don’t even need to install software that wasn’t provided by your Operating System vendor.

2 Likes

Again not the point.

Hi @webdevbrian,

I’m sorry your experience has been frustrating! I was the engineer who built the auto-update system into the IDE, and I’m disappointed it’s been causing you grief.

Your photon breathing magenta (red and blue LEDs), means that it’s online, and in “safe mode”, which means it’s trying to run your app, but it’s missing a requirement to run it. Flashing the app again from the IDE should cause the cloud to send the necessary updates to run the app. Your device is very much not bricked, it just wants you to click ‘flash’ again.

I chose this path because I wanted to make sure the community had maximum control over the process, and that it was as opt-in as possible, but that also means it has the potential to be slightly less convenient. I’d welcome any feedback or suggestions you might have, please feel free to private message me directly if you like, or if I can help get your devices back on track.

Thanks!
David

3 Likes

I am experiencing problems for updating all of the photons I flashed OTA since last Friday (since the update). None of them can run any program anymore. I could have one working again by updating it via usb and dfu. But I have several devices that I gave to testers, and I cannot get them to connect via usb. How am I supposed to do to update them, or just get them working again ?

Thank you.

Sorry you’re having problems with the 0.4.4 update. Please send a PM to me and @Dave with the device IDs of the affected Photons and we’ll look into the issue for you.

Please try flashing a different app from Particle Build (Web IDE) - that is the process that starts the update process. The update is in 3 parts - normally they are all delivered after flashing the app once, but in some cases it’s been necessary to repeat the flash process.

Thanks,
mat

PM sent.

I already tried to flash different apps (blink LED) many times, without success.

1 Like

Trying to flash from particle cli known fix for 0.4.4 but having Error writing firmware… error

Please try with sudo, alternatively see this post for providing the required permissions. Dfu-util doesn't connect to core on Ubuntu [Solved]

Here’s an update on the current state of updating 0.4.4 firmware:

Ways to update to system firmware:

  • build an app in the Web IDE and flash this to the device.
  • use particle flash <mydevice> source.cpp to build and flash from source

Unsupported:

  • particle compile + particle flash myphoton firmware.bin
  • particle flash myphoton firmware.bin
  • flashing from Particle Dev

The system will send 3 binaries - one large one (system-part1), a smaller one (system-part2) and finally your application binary.

At present, it is sometimes necessary to repeat the process to ensure all binaries are properly transferred.

4 Likes

The main attraction with the 0.4.6 release on the photon is the introduction of multithreading, specifically that the system code runs on it’s own thread so the application loop runs freely.

To get a feel for how your application runs with the system thread enabled, you can try a simple blinky sketch:

SYSTEM_THREAD(ENABLED);

void setup()
{
   pinMode(D7, OUTPUT);
}

void loop() 
{
   digitalWrite(D7, !digitalRead(D7));
   delay(500);
}

You’ll notice that the LED blinks from quite early on in startup, through the device connecting to WiFi, connecting to the Cloud. If you flash data OTA, you’ll see also that the LED keeps blinking right up until the device has to reset to apply the OTA update. Exciting stuff!

The system thread feature is a Beta release - feedback, questions etc… very welcomed so we can refine this and push it towards a full release in 0.4.7.

Happy threading :smile:

2 Likes