GNSS query timing out

Something crashes and causes paticle-tachyon-ril-ctl gnss to timeout with the following message:
Failed to call method GetGnss: Connection timed out

I've noticed this a few times over the previous days - first time I just fixed it by powering off/on with the button but after a few occurrences I went looking in the logs and found (I've obfuscated my exact location):

Jun 23 12:48:32 tachyon-492f6006 particle-tachyon-gnss[578827]: Mon Jun 23 12:48:30.985 BST 2025: GNSS Updated: count=63976, lat=YY.xxx499, lon=YY.yyy214, updated 0 ms ago
Jun 23 12:48:32 tachyon-492f6006 particle-tachyon-gnss[578827]: Mon Jun 23 12:48:31.986 BST 2025: GNSS Updated: count=63977, lat=XX.xxx499, lon=YY.yyy214, updated 0 ms ago
Jun 23 12:48:53 tachyon-492f6006 particle-tachyon-gnss[579708]: : count=63796, lat=XX.xxx499, lon=YY.yyy211, updated 820 ms ago
Jun 23 12:48:53 tachyon-492f6006 particle-tachyon-gnss[579708]: Mon Jun 23 12:45:55.070 BST 2025: GetGnss command received
Jun 23 12:48:53 tachyon-492f6006 particle-tachyon-gnss[579708]: Current location: count=63822, lat=XX.xxx499, lon=YY.yyy212, updated 91 ms ago
Jun 23 12:48:53 tachyon-492f6006 particle-tachyon-gnss[579708]: Mon Jun 23 12:46:24.380 BST 2025: GetGnss command received
Jun 23 12:48:53 tachyon-492f6006 particle-tachyon-gnss[579708]: Current location: count=63851, lat=XX.xxx499, lon=YY.yyy212, updated 403 ms ago
Jun 23 12:48:53 tachyon-492f6006 particle-tachyon-gnss[579708]: Mon Jun 23 12:46:XX.603 BST 2025: GetGnss command received
Jun 23 12:48:53 tachyon-492f6006 particle-tachyon-gnss[579708]: Current location: count=63880, lat=XX.xxx499, lon=YY.yyy213, updated 624 ms ago
Jun 23 12:48:53 tachyon-492f6006 particle-tachyon-gnss[579708]: Mon Jun 23 12:47:22.811 BST 2025: GetGnss command received
Jun 23 12:48:53 tachyon-492f6006 particle-tachyon-gnss[579708]: Current location: count=63907, lat=XX.xxx499, lon=YY.yyy213, updated 832 ms ago
Jun 23 12:48:53 tachyon-492f6006 particle-tachyon-gnss[579708]: Mon Jun 23 12:47:52.063 BST 2025: GetGnss command received
Jun 23 12:48:53 tachyon-492f6006 particle-tachyon-gnss[579708]: Current location: count=63937, lat=XX.xxx499, lon=YY.yyy213, updated 79 ms ago
Jun 23 12:48:53 tachyon-492f6006 particle-tachyon-gnss[579708]: Mon Jun 23 12:48:21.337 BST 2025: GetGnss command received
Jun 23 12:48:53 tachyon-492f6006 particle-tachyon-gnss[579708]: Current location: count=63966, lat=XX.xxx499, lon=YY.yyy214, updated 353 ms ago
Jun 23 12:48:53 tachyon-492f6006 particle-tachyon-gnss[579708]: Mon Jun 23 12:48:XX.145 BST 2025: Error: QLRIL_GNSS_GetLocation failed: -6
Jun 23 12:53:43 tachyon-492f6006 particle-tachyon-gnss[3430]: shm_open failed in thread, retrying...: Too many open files
Jun 23 12:53:43 tachyon-492f6006 particle-tachyon-gnss[3430]: shm_open failed in thread, retrying...: Too many open files
Jun 23 12:53:44 tachyon-492f6006 particle-tachyon-gnss[3430]: shm_open failed in thread, retrying...: Too many open files
Jun 23 12:53:44 tachyon-492f6006 particle-tachyon-gnss[3430]: shm_open failed in thread, retrying...: Too many open files

I did a killall particle-tachyon-gnss and it restarted, and gnss query works again.
I didn't get an lsof when it was failed, but currently (gnss queries working) lsof | grep gnss shows:

particle- 611694                              root  mem       REG               0,22        32      54468 /dev/shm/gnss_shared_memory
particle- 611694                              root    3u      REG               0,22        32      54468 /dev/shm/gnss_shared_memory
particle- 611694                              root    5u      REG               0,22        32      54468 /dev/shm/gnss_shared_memory
particle- 611694 611695 gnss                  root  cwd       DIR               8,11      4096          2 /
particle- 611694 611695 gnss                  root  rtd       DIR               8,11      4096          2 /
particle- 611694 611695 gnss                  root  txt       REG               8,11     18440    1105942 /usr/bin/particle-tachyon-gnss
particle- 611694 611695 gnss                  root  mem       REG               8,11    399240      26599 /usr/lib/aarch64-linux-gnu/libpcre.so.3.13.3
particle- 611694 611695 gnss                  root  mem       REG               8,11    129144      26098 /usr/lib/aarch64-linux-gnu/libgpg-error.so.0.28.0
particle- 611694 611695 gnss                  root  mem       REG               8,11    633832     278567 /usr/lib/aarch64-linux-gnu/libm-2.31.so
particle- 611694 611695 gnss                  root  mem       REG               8,11    399352      31506 /usr/lib/libloc_core.so.1.0.0
particle- 611694 611695 gnss                  root  mem       REG               8,11    137160      31446 /usr/lib/libgps_utils.so.1.0.0
particle- 611694 611695 gnss                  root  mem       REG               8,11      5824      31641 /usr/lib/libqmi_common_so.so.1.0.0
particle- 611694 611695 gnss                  root  mem       REG               8,11     14560     278565 /usr/lib/aarch64-linux-gnu/libdl-2.31.so
particle- 611694 611695 gnss                  root  mem       REG               8,11     18176      31645 /usr/lib/libqmi_encdec.so.1.0.0
particle- 611694 611695 gnss                  root  mem       REG               8,11   1220208     278675 /usr/lib/aarch64-linux-gnu/libglib-2.0.so.0.6400.6
particle- 611694 611695 gnss                  root  mem       REG               8,11      9976      31678 /usr/lib/librilutils.so
particle- 611694 611695 gnss                  root  mem       REG               8,11    112576      31755 /usr/lib/libutils.so.0.0.0
particle- 611694 611695 gnss                  root  mem       REG               8,11    769048      26035 /usr/lib/aarch64-linux-gnu/libgcrypt.so.20.2.5
particle- 611694 611695 gnss                  root  mem       REG               8,11    120824      26351 /usr/lib/aarch64-linux-gnu/liblz4.so.1.9.2
particle- 611694 611695 gnss                  root  mem       REG               8,11    145648      26353 /usr/lib/aarch64-linux-gnu/liblzma.so.5.2.4
particle- 611694 611695 gnss                  root  mem       REG               8,11     80200      26033 /usr/lib/aarch64-linux-gnu/libgcc_s.so.1
particle- 611694 611695 gnss                  root  mem       REG               8,11   1907976      26780 /usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.28
particle- 611694 611695 gnss                  root  mem       REG               8,11     26448      31592 /usr/lib/libprotobuf-nanopb2.so.0
particle- 611694 611695 gnss                  root  mem       REG               8,11    231400      31504 /usr/lib/libloc_api_v02.so.1.0.0
particle- 611694 611695 gnss                  root  mem       REG               8,11     30608      31627 /usr/lib/libql_misc.so
particle- 611694 611695 gnss                  root  mem       REG               8,11     42928       2530 /opt/qti/usr/lib/liblog.so.0.0.0.liblog
particle- 611694 611695 gnss                  root  mem       REG               8,11     67448      31389 /usr/lib/libcutils.so.0.0.0
particle- 611694 611695 gnss                  root  mem       REG               8,11     55224      31635 /usr/lib/libqmi_cci.so.1.0.0
particle- 611694 611695 gnss                  root  mem       REG               8,11    221568      31694 /usr/lib/libsmspdu.so
particle- 611694 611695 gnss                  root  mem       REG               8,11    391120      31345 /usr/lib/libbinder.so.0.0.0
particle- 611694 611695 gnss                  root  mem       REG               8,11    116096      31676 /usr/lib/libril.so
particle- 611694 611695 gnss                  root  mem       REG               8,11   1450832     278563 /usr/lib/aarch64-linux-gnu/libc-2.31.so
particle- 611694 611695 gnss                  root  mem       REG               8,11     31584     278588 /usr/lib/aarch64-linux-gnu/librt-2.31.so
particle- 611694 611695 gnss                  root  mem       REG               8,11    705704      26790 /usr/lib/aarch64-linux-gnu/libsystemd.so.0.28.0
particle- 611694 611695 gnss                  root  mem       REG               8,11    164304     278586 /usr/lib/aarch64-linux-gnu/libpthread-2.31.so
particle- 611694 611695 gnss                  root  mem       REG               8,11    252072      31628 /usr/lib/libql_ril.so
particle- 611694 611695 gnss                  root  mem       REG               0,22        32      54468 /dev/shm/gnss_shared_memory
particle- 611694 611695 gnss                  root  mem       REG               8,11    146432     278555 /usr/lib/aarch64-linux-gnu/ld-2.31.so
particle- 611694 611695 gnss                  root    0r      CHR                1,3       0t0       6148 /dev/null
particle- 611694 611695 gnss                  root    1u     unix 0xffffffb3e62f65c0       0t0    2322914 type=STREAM
particle- 611694 611695 gnss                  root    2u     unix 0xffffffb3e62f65c0       0t0    2322914 type=STREAM
particle- 611694 611695 gnss                  root    3u      REG               0,22        32      54468 /dev/shm/gnss_shared_memory
particle- 611694 611695 gnss                  root    4u     unix 0xffffffb3e62f2bc0       0t0    2322915 type=STREAM
particle- 611694 611695 gnss                  root    5u      REG               0,22        32      54468 /dev/shm/gnss_shared_memory
particle- 611694 611696 dbus                  root  txt       REG               8,11     18440    1105942 /usr/bin/particle-tachyon-gnss
particle- 611694 611696 dbus                  root  mem       REG               0,22        32      54468 /dev/shm/gnss_shared_memory
particle- 611694 611696 dbus                  root    3u      REG               0,22        32      54468 /dev/shm/gnss_shared_memory
particle- 611694 611696 dbus                  root    5u      REG               0,22        32      54468 /dev/shm/gnss_shared_memory

Thanks for the report!

I've fixed this issue in the updated feature for more GNSS details. We are still internally reviewing but it should be released soon.

To answer your previous question about all satellite types supported, right now we are only parsing for GPS (Galileo) / BeiDou / GLONASS. More parser work will need to be done to support all types.

Hi @zedstarr ! This issue should be fixed in the new update, out now.

any idea when it will be available?

apt update && apt list --upgradeable is only showing me

The following packages will be upgraded:
  code nodejs particle-tachyon-desktop-setup

Latest tachyon system release not out yet (soon though!), my bad... but you can get these upgraded.

If you check, maybe it's already upgraded?

apt info particle-tachyon-ril
Package: particle-tachyon-ril
Version: 0.4.2-1
...

Otherwise let's try an update/upgrade and see if you get particle-tachyon-ril (0.4.2-1) after that

apt update && apt upgrade

You can also check your GNSS command

particle-tachyon-ril-ctl gnss

valid: 1
last_lock_time_ms: 971
svnum: 10
beidou_svnum: 5
nshemi: N
ewhemi: W
latitude: 44.332211
longitude: -88.776655
gpssta: 1
posslnum: 8
fixmode: 2
pdop: 1.200000
hdop: 1.000000
vdop: 0.800000
altitude: 123.400000
speed: 0.000000
utc: 2025/06/19 20:14:15
slmsg[0]: 2,13,320,24
slmsg[1]: 8,9,291,15
slmsg[2]: 10,69,334,31
slmsg[3]: 15,6,68,18
slmsg[4]: 18,23,167,28
slmsg[5]: 23,55,94,26
slmsg[6]: 24,38,57,28
slmsg[7]: 27,10,257,30
slmsg[8]: 28,13,195,25
slmsg[9]: 32,54,260,26
slmsg[10]: 0,0,0,0
slmsg[11]: 0,0,0,0
beidou_slmsg[0]: 78,17,35,22
beidou_slmsg[1]: 80,11,141,26
beidou_slmsg[2]: 79,29,89,19
beidou_slmsg[3]: 69,46,38,23
beidou_slmsg[4]: 85,51,278,15
beidou_slmsg[5]: 0,0,0,0
beidou_slmsg[6]: 0,0,0,0
beidou_slmsg[7]: 0,0,0,0
beidou_slmsg[8]: 0,0,0,0
beidou_slmsg[9]: 0,0,0,0
beidou_slmsg[10]: 0,0,0,0
beidou_slmsg[11]: 0,0,0,0
possl[0]: 10
possl[1]: 15
possl[2]: 18
possl[3]: 23
possl[4]: 24
possl[5]: 27
possl[6]: 28
possl[7]: 32
possl[8]: 0
possl[9]: 0
possl[10]: 0
possl[11]: 0

thanks for the info.

This update is still not in the repos - my particle-tachyon-ril is still on 0.4.1-1

any idea when the update will be pushed so that the upgrade commands you shared will actually work?

Hi Zedstarr, I started with the public tachyon image 130 and ran apt update && apt upgrade and it updated for me. That should work for you as well. That said it appears there are a few more releases since then that won't require the update/upgrade to get the latest particle packages, but you should run that anyways. After backing up whatever you want to copy over, you can run particle tachyon setup via the CLI:

Aaaah - OK, I didn't realise i had to reflash and apt update && apt upgrade to get the latest... I assumed a simple update/upgrade would do everything.

According to ‘particlectl systemdoc’ I’m already on desktop version 130 - are you saying there’s a later version than 130 available?

Ok, I’ve figured out what’s going on - on Jun 13th someone had changed my /etc/apt/sources.list.d/particle.list to point at the “unstable” repo (I’m guessing a remote particle staff login due to my stalling desktop install and/or crashing wifi issues???) - changing that back to stable I now get the updates and the extended GNSS output :smiling_face_with_sunglasses::+1:t2::folded_hands:t2:

hey zedstarr - glad its working again, but I would be surprised if someone remotely changed this. I'll follow up internally.

Thanks

Nick

I only found this as someone has edited the particle.list file with nano as it's left a particle.list.save file behind. I only ever use vi, so never see .save files - someone else has edited it to point at "unstable". Around the same date as the .save file timestamp I got a message from jvanier at particle informing me that you'd seen a WiFi crash loop due to my SSID containing just numbers/periods which was in the process of being fixed...