All Spark Cores can't connect to the cloud

Hi,
I am just wondering if something happened with the cloud or no longer supporting the spark core? I recently have 3 cores that all connect to the wifi, but flash the yellow/orange color during the cloud sequence. I have 2 photon and they connect to the cloud with no problems at all. I tried replacing the could key, and the key for the device. Using a few other posts on here, one with the key doctor and one from mdma about replacing the clouds public key. 2 of the 3 cores have been in use for over a year with no problems, the other core I had as a spare in a drawer that I plugged it in and it does the same exact can’t connect to the cloud flash.

Any ideas on how I can fix this?

Thanks!

Try to run through particle doctor for each of your Cores. I took one out of a drawer today and had the same issue. Particle doctor fixed it.

1 Like

Same issue here. Stopped working 1 sept. Tried 2 from my drawer and same thing won’t work blinks orange.
What exactly to do in particle doctor? I messed with it yesterday but had no result.

I just plugged in my Core and it came up normally.

cheers,
ParticleD

1 Like

Hi,

I had the same problem with my Core. It seems that it lost connection with the Cloud on August 30th.

Yesterday, using the particle setup and the particle doctor I was able to get it back to the could and seen by the Particle Build site.
However, when I’m trying to reflash it (using Blink an LED program), the Core is back the “Green, Cyan, Orange, …” sequence.

Today, I tried to save/flash the keys as per what I could found on the forum, however I’m not able to put back the Core online.

What could be the cause of this issue?

It seems that my Core is running the firmware version 0.7.0.

Thanks!

All my Cores are online, but I ran the doctor on all of them back in May, so I don’t know if that was recent enough to allow them to not fall foul of whatever has happened in the cloud

This could be due to some issues with DNS resolution on the Cores after a server switch.

Try running these commands after clearing the WiFi credentials and putting your device in DFU Mode

particle flash --usb cc3000
particle flash --usb tinker
particle keys server
particle keys doctor <youDeviceID>

And then in Listening Mode reapply the WiFi credentials

particle serial wifi
1 Like

I get this error when typing particle keys doctor (and then my device ID)

Make sure your device is in DFU mode (blinking yellow), and that your computer is online.: Error creating keys: Command failed: C:\WINDOWS\system32\cmd.exe /s /c “openssl genrsa -out myDeviceID_rsa_new.pem 1024”
‘openssl’ is not recognized as an internal or external command,
operable program or batch file.

If you get this error under Windows:

'openssl' is not recognized as an internal or external command, operable program or batch file.

and you have used the CLI installer, it should work if you do:

cd c:\OpenSSL-Win32\bin
particle keys doctor YOUR_DEVICE_ID
2 Likes

Thanks ScuffR for your feedback.

I tried what you have proposed yesterday evening, however without success.

After the multiple tests that I did yesterday, this is what I understand.

I could get my Core online with the cyan LED breathing with the following steps:

  • Do a factory reset
  • Do particle setup

After that the Core is back online, with firmware 0.5.1 (checked with particle identify). If I upload from the Particle Web IDE a project with firmware 0.5.1 it seems to be working. However, if I update another version, I’m back to square one.

I tried to upload manually the firmware, I was able to upload 0.5.3 with success and get a new project uploaded (from the Particle Web IDE). However, if I try to install a version greater than 0.5.3 (manually), the firmware is installed with success, however the Core isn’t anymore able to connect to the Cloud (the green, cyan, red, yellow LEDs sequence).

When we are uploading a new firmware, should we also update the bootloader? This isn’t clear from me (reference: https://github.com/particle-iot/firmware/releases).

It seems the issue is with the firmware that my Core is using. What could be causing the Core to fail to connect to the Cloud with firmware >0.5.3?

Thanks for your troubleshooting ideas!


From the other thread on a topic similar:
[Devices can't connect to internet, blinking cyan, green and yellow]
It seems that the bootloader could the problem.

I’ll try a particle serial inspect to check the report.

Did you do this step that ScruffR mentioned:

particle flash --usb cc3000

It’s required, because some versions of the CC3000 software have a bug that affects DNS resolution. In system firmware 0.5.5 and prior there is a fallback cloud server with a fixed IP address. This is not present in 0.6.0 and later, so the cloud connection fails if DNS is not working.

I too have this same thing happening. I can factory reset, do the particle updates/setup and I can get it back on the network and cloud connection. However as soon as I flash it with code, I am back to yellow/orange flashes.

I have also tried the keys doctor, replacing the device key and the cloud public key.

I have 4 spark cores and they all stopped cloud communicating at the same time. I also notice something strange in the web ide. One of my cores which is sitting on my table for weeks not plugged in is coming up as online.

Did something break in the cloud app? Aside from the 4 cores, 2 photons which seem unaffected.

Thanks

Did you do this step in DFU mode?

particle flash --usb cc3000

It’s required, because some versions of the CC3000 software have a bug that affects DNS resolution. In system firmware 0.5.5 and prior there is a fallback cloud server with a fixed IP address. This is not present in 0.6.0 and later, so the cloud connection fails if DNS is not working. That’s why factory reset makes it work, because you rolled back to an old system firmware version, but it stops working when you flash your code, because you presumably are using a newer version.

I did, but now I just started having problems communicating to the core over usb. particle identify says no serial port identified. Device manager shows Core DFU Mode as a device. I have also tried uninstalling the device and re-running the cli install. No luck. Any ideas? Once I get back to communicating I can try to re-setup again.

update: I can though flash the tinker…

Hi,

I just did some tests. I wasn't able to get my Core working correctly (breathing cyan).

These are the results of my tests:

(In listening mode)
%particle identify
Your device id is #######
Your system firmware version is 0.5.4

%particle --version
1.34.0

%particle serial inspect
Platform: 0 - Core

(In DFU mode)
%particle flash --usb tinker-0.5.4-core.bin
Flash success!
(Core breathing cyan)

(In DFU mode)
%particle flash --usb tinker-0.6.2-core.bin
Flash success!
(Core flashing green cyan yellow/red)

(In DFU mode)
%particle flash --usb tinker-0.5.4-core.bin
Flash success!
(Core breathing cyan)

(In DFU mode)
%particle flash --usb cc3000
Flash success!
(Core flashing yellow)

%particle flash --usb tinker-0.6.2-core.bin
Flash success!
(Core flashing blue)

(In DFU mode)
%particle keys server
Okay! New keys in place, your device will not restart.
(Core flashing yellow)

%particle keys doctor #######
New Key Created!
Saved!
Saved!
attempting to add a new public key for device #######
submitting public key succeeded!
Okay! New keys in place, your device should restart.
(Core flashing blue)

%particle serial wifi
...
Done! Your device should now restart.
(Core flashing green cyan yellow/red)

(In listening mode)
%particle identify
Your device id is #######
Your system firmware version is 0.6.2

%particle serial inspect
Platform: 0 - Core

(In DFU mode)
%particle flash --usb tinker-0.5.4-core.bin
Flash success!
(Core breathing cyan)

Are the steps right? Is the order right?
Are the results that I'm getting normal?

What are you proposing for my next action?

Thank you very much for your support!

Yes! got all mine working again. Though what ultimately fixed my problem was in my dns resolver unbound to disable DNSSEC support. Once I did that all more cores have reconnected.

So hope that tid bit helps someone and thanks all for help as well. I did follow above directions and have reset all my keys on the cores as well in middle of trying to figure this out.

That leaves me to think something is setup where the cores are going that DNSSEC fails? I only had support for it, it was not required. So if the destination supports DNSSEC it uses it.

Thanks!

I’m not 100% sure this is a good idea, but it’s worth a try. Put the Core in DFU mode (blinking yellow) and enter the command:

particle keys server --host 54.208.229.4 --port 5683

What this does is set your Core to use the fallback cloud server address used in 0.5.3 and earlier when DNS does not work, all the time. The main downside is that you won’t be on a redundant and load-balanced server anymore, so if that server fails it won’t automatically switch you to a different server. This should only be attempted if the cc3000 update did not fix the problem and you want to use 0.6.0 or later on a Core.

2 Likes

@rickkas7 that worked for me with the Core that did not respond to the cc3000 fix. I tested it with DeviceOS 0.7.0.

2 Likes