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

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.

Any updates or suggestions for this issue?