Particle cloud connection (particled) does not survive second reboot!

I am having an ongoing issue with particle cloud connections. After I update the Tachyon via command line, the tachyon successfully connects to the Particle cloud. However, once I reboot, the device no longer connects to the cloud. The device does connect to my local network, and the desktop does come up. When I look at running processes, I see that the ‘particled’ process it taking 100% of core 8, and appears to be stuck in some type of infinite loop.

I have been mainly using the latest 20.04 (180) desktop version, and mainly without a battery connected (hurray!), but have found nothing resolves the issue. The battery doesn’t seem to make a difference. I have tried updating with a downloaded image, using particle setup, and a factory reset with no difference in behavior. I have tried 24.04 also.

I have also tried killing the particled process. I see the new PID after restart, but the restarted process seems to go into the same infinite loop. Any hints on how to correct this

Hi @jrbski can you pull the logs from the particled service?

sudo journalctl -u particled -b --no-pager

1 Like

Update: I guess I wasn’t patient enough… after a restart and 2+ hours of CPU time, it finally reconnected after a reboot:

particle@tachyon-2c80a111:~$ ps -ef | grep particled
root 70548 1 88 19:58 ? 02:16:53 /usr/bin/particled daemon
particle 143856 95868 0 22:33 pts/0 00:00:00 grep --color=auto particled

No logs entries showing…

particle@tachyon-2c80a111:~$ sudo journalctl -u particled -b --no-pager
-- Logs begin at Mon 2024-06-17 16:29:40 EDT, end at Tue 2026-02-03 22:36:49 EST. --
-- No entries --

OK… I figured out that particled is a symlink to particle-linux, so I needed to use -u particle-linux. I did a fresh re-install, and I found that the first boot connected in seconds, but did have a few reconnects to start with. After reboot, I see one reconnect attempt, and then stuck buzzing the CPU. I will see if there is any more info once it finally connects:

particle@tachyon-2c80a111:~$ sudo journalctl -u particle-linux -b --no-pager
-- Logs begin at Mon 2024-06-17 16:29:40 EDT, end at Wed 2026-02-04 18:49:07 EST. --
Feb 04 18:43:32 tachyon-2c80a111 particled[3381]: INFO: SocketIoService: connecting to particle cloud at https://edge.particle.io
Feb 04 18:43:32 tachyon-2c80a111 particled[3381]: INFO: EventsService: events server listening on port 6850
Feb 04 18:43:32 tachyon-2c80a111 particled[3381]: INFO: VitalsService: Vitals service started, will update every 10 minutes
Feb 04 18:43:32 tachyon-2c80a111 particled[3381]: Daemon fully started
Feb 04 18:43:30 tachyon-2c80a111 systemd[1]: Started Particle Daemon.
Feb 04 18:43:32 tachyon-2c80a111 particled[3381]: INFO: SocketIoService: attempting to reconnect 1
Feb 04 18:43:32 tachyon-2c80a111 particled[3381]: INFO: SocketIoService: Reconnect Error: xhr poll error

Update: it finally reconnected after 2 hours (and 2 hours CPU time!). Based on the timestamps, it looks like it takes over 2 hours to recover from the xhr poll error. During the initial boot after rerunning particle set-up, it takes only 2 seconds to proceed to the second reconnect attempt.

particle@tachyon-2c80a111:~$ sudo journalctl -u particle-linux -b --no-pager
-- Logs begin at Mon 2024-06-17 16:29:40 EDT, end at Wed 2026-02-04 20:55:43 EST. --
Feb 04 18:43:32 tachyon-2c80a111 particled[3381]: INFO: SocketIoService: connecting to particle cloud at https://edge.particle.io
Feb 04 18:43:32 tachyon-2c80a111 particled[3381]: INFO: EventsService: events server listening on port 6850
Feb 04 18:43:32 tachyon-2c80a111 particled[3381]: INFO: VitalsService: Vitals service started, will update every 10 minutes
Feb 04 18:43:32 tachyon-2c80a111 particled[3381]: Daemon fully started
Feb 04 18:43:30 tachyon-2c80a111 systemd[1]: Started Particle Daemon.
Feb 04 18:43:32 tachyon-2c80a111 particled[3381]: INFO: SocketIoService: attempting to reconnect 1
Feb 04 18:43:32 tachyon-2c80a111 particled[3381]: INFO: SocketIoService: Reconnect Error: xhr poll error
Feb 04 20:52:37 tachyon-2c80a111 particled[3381]: INFO: SocketIoService: attempting to reconnect 2
Feb 04 20:52:37 tachyon-2c80a111 particled[3381]: INFO: PowerMonitorService: Updating system doc with power data
Feb 04 20:52:39 tachyon-2c80a111 particled[3381]: INFO: InternetStateService: connected=true
Feb 04 20:52:39 tachyon-2c80a111 particled[3381]: INFO: ParticleProfileService: Writing profile: {
Feb 04 20:52:39 tachyon-2c80a111 particled[3381]: access_token: '',
Feb 04 20:52:39 tachyon-2c80a111 particled[3381]: username: '',
Feb 04 20:52:39 tachyon-2c80a111 particled[3381]: deviceId: '',
Feb 04 20:52:39 tachyon-2c80a111 particled[3381]: productId: 38329
Feb 04 20:52:39 tachyon-2c80a111 particled[3381]: }
Feb 04 20:52:39 tachyon-2c80a111 particled[3381]: INFO: ParticleProfileService: Writing profile: {
Feb 04 20:52:39 tachyon-2c80a111 particled[3381]: access_token: '',
Feb 04 20:52:39 tachyon-2c80a111 particled[3381]: username: '',
Feb 04 20:52:39 tachyon-2c80a111 particled[3381]: deviceId: '',
Feb 04 20:52:39 tachyon-2c80a111 particled[3381]: productId: 38329
Feb 04 20:52:39 tachyon-2c80a111 particled[3381]: }
Feb 04 20:52:40 tachyon-2c80a111 particled[3381]: INFO: WiFi: Updating synced network ""
Feb 04 20:52:40 tachyon-2c80a111 particled[3381]: INFO: WiFi: Updated synced network "" successfully!
Feb 04 20:52:41 tachyon-2c80a111 particled[3381]: INFO: ContainersService: Starting sync
Feb 04 20:52:41 tachyon-2c80a111 particled[3381]: INFO: SocketIoService: reconnected 2
Feb 04 20:52:42 tachyon-2c80a111 particled[3381]: INFO: SocketIoService: Connected to server
Feb 04 20:52:42 tachyon-2c80a111 particled[3381]: INFO: NetworkManagerService: Syncing desired wifi networks
Feb 04 20:52:42 tachyon-2c80a111 particled[3381]: INFO: WiFi: Add name=ptcl_ce6d
Feb 04 20:52:42 tachyon-2c80a111 particled[3381]: INFO: WiFi: Add name=ptcl
_b8f3
Feb 04 20:52:42 tachyon-2c80a111 particled[3381]: INFO: NetworkManagerService: Synced desired wifi networks
Feb 04 20:52:42 tachyon-2c80a111 particled[3381]: INFO: ContainersService: state synced
Feb 04 20:53:09 tachyon-2c80a111 particled[3381]: INFO: RilService: Found esim bootstrap. Applying, this may take a while.
Feb 04 20:53:10 tachyon-2c80a111 particled[3381]: INFO: RilService: Finished esim bootstrap

particle@tachyon-2c80a111:~$ ps -ef | grep particled
root 3381 1 94 18:44 ? 02:07:42 /usr/bin/particled daemon
particle 72300 6249 0 20:58 pts/0 00:00:00 grep --color=auto particled

Hey @jrbski thanks for this detailed troubleshooting, I'm circling this around with the team, stay tuned...

Thanks!

I also noticed that there was an update available for particle-linux, so I performed an apt update and apt upgrade to the latest, and saw similar results, but the delay seemed to happen earlier and took a bit longer to try the reconnect (about 3.5 hours) on the next reboot. In the end, similar behavior where there is a 2+ hour delay after listening on port 6850 begins. Other than the long delay, the logs look similar to the initial boot after particle setup.