Tachyon offline according to console: Cellular connects/registers to O2 UK but all IP traffic times out (plus Wi-Fi Socket.IO resets)

Hi everyone,
I'm troubleshooting an issue where my Tachyon has dropped offline from the Particle Sandbox Console and is unable to re-establish a cloud connection over either cellular or Wi-Fi.
Here is the breakdown of what is happening and the troubleshooting diagnostics gathered so far:

  1. Cellular (eSIM) Issue: Registered to Network, but Data is Blackholed
    The modem hardware and RIL daemon appear to be functioning properly, but all outbound IP traffic over rmnet_data0 times out.
    Console Status: The built-in eSIM is listed as Active in my sandbox, but shows 0.00 MB usage for the current period.
    Modem Status (particle-tachyon-ril-ctl vitals / logs):
    Carrier: O2 - UK (MCCMNC 23410)
    Access Technology: NR5G (5G) / RAT: 14
    APN: kddi.m2m.drei.at
    State: Registered, Roaming (registration_state: 5, registration_denied_reason: 255)
    Data Connection: up, status: 0 (data_connection: 2)
    Local IP Assigned: 10.16.0.65/30
    DNS Assigned: 185.253.108.253, 185.253.108.254
    Symptom:
    Despite having an IP and active route, binding curl directly to the cellular interface fails every time:
    Bash
    curl -I -m 10 --interface rmnet_data0 https ://[space]www[dot]google.com
    Output: curl: (28) Failed to connect to www[dot]google.com port 443: Connection timed out
    Actions Taken:
    Power-cycled the radio via particle-tachyon-ril-ctl disconnect, power off, power on, and connect. The modem successfully re-attached to O2 UK and grabbed an IP, but all IP routing remains unresponsive.
  2. Wi-Fi / Daemon Issue: Socket.IO Connection Resets
    When attempting to connect over the local network (EE Fibre broadband):
    particle-linux.service is stuck in a loop:
    Plaintext
    SocketIoService: connecting to particle cloud at https ://edge.particle.io
    SocketIoService: Reconnect Error: xhr poll error
    Testing direct HTTPS connectivity via curl -Iv [https ://edge.particle.io](https ://edge.particle.io):
    DNS resolves edge.particle.io to 35.170.100.190:443.
    TLS 1.3 handshake completes successfully and verifies the Amazon root certificate for *.particle.io.
    Immediately after HTTP/2 upgrade, the connection is dropped:
    Plaintext
  • OpenSSL SSL_read: Connection reset by peer, errno 104

  • Failed receiving HTTP2 data

  • OpenSSL SSL_write: Broken pipe, errno 32
    curl: (56) OpenSSL SSL_read: Connection reset by peer, errno 104

  • System Details
    Device Name: tachyon-xxxxxxxx
    OS / Build: NAME="Ubuntu"
    VERSION="20.04.6 LTS (Focal Fossa)"
    ID=ubuntu
    ID_LIKE=debian
    PRETTY_NAME="Ubuntu 20.04.6 LTS"
    VERSION_ID="20.04"
    VERSION_CODENAME=focal
    UBUNTU_CODENAME=focal

  • Particle Packages: ii gir1.2-nm-1.0:arm64 1.22.10-1ubuntu2.4particle1 arm64 GObject introspection data for the libnm library
    ii gnome-control-center 1:3.36.5-0ubuntu4.1particle1 arm64 utilities to configure the GNOME desktop
    ii gnome-control-center-data 1:3.36.5-0ubuntu4.1particle1 all configuration applets for GNOME - data files
    ii gnome-control-center-faces 1:3.36.5-0ubuntu4.1particle1 all utilities to configure the GNOME desktop - faces images
    ii libnetplan0:arm64 0.104-0ubuntu2~20.04.6particle1 arm64 YAML network configuration abstraction runtime library
    ii libnm0:arm64 1.22.10-1ubuntu2.4particle1 arm64 GObject-based client library for NetworkManager
    ii netplan.io 0.104-0ubuntu2~20.04.6particle1 arm64 YAML network configuration abstraction for various backends
    ii network-manager 1.22.10-1ubuntu2.4particle1 arm64 network management framework (daemon and userspace tools)
    ii particle-linux 0.21.3-1 arm64 Particle Linux daemon.
    ii particle-tachyon 1.0.0-1 arm64 Particle Tachyon Packages
    ii particle-tachyon-desktop-setup 2.6.1 arm64 Particle Tachyon setup desktop
    ii particle-tachyon-ril 0.4.5-1 arm64 Linux C application for interfacing with QLRIL API and cellular modem on Tachyon.
    ii particle-tachyon-syscon 1.0.19-1 arm64 Particle Tachyon Supervisory MCU Firmware

Is there a known issue with the MVNO/APN routing (kddi.m2m.drei.at) on UK networks (O2), or could the eSIM data session have been suspended/flagged on the carrier backend? Any guidance on getting either the cellular link routing packets or the edge websocket stabilized would be greatly appreciated.


Just to provide an update, I ran some further remote diagnostics to rule out a routing conflict and test local network bypasses:

  1. Ruled out Cellular "Zombie" Routing To ensure the daemon wasn't blindly trying to route traffic over the dead O2 cellular interface, I completely stopped particle-tachyon-rild.service. The particle-linux daemon continued to throw the exact same xhr poll error, confirming this is strictly a Wi-Fi/local network block.
  2. Bypassing the Firewall via Tailscale I set up a Tailscale exit node to tunnel the Tachyon's traffic and bypass my local EE router's Deep Packet Inspection.
    Running a manual curl -4 -v --http1.1 "https ://edge.particle.io/socket.io/?EIO=3&transport=polling" through the VPN succeeds, entirely bypassing the local errno 104 reset.
    However, the particle-linux daemon appears hard-bound to the physical wlan0 interface for its cloud connection. It completely ignores the tailscale0 virtual tunnel, meaning its background traffic still hits the local router firewall and is killed.
  3. HTTP/2 Quirk? Interestingly, when running that same VPN-bypassed curl test without forcing HTTP/1.1 (allowing it to upgrade to HTTP/2), the Particle edge server accepts the h2 upgrade but then immediately drops the connection with (52) Empty reply from server.
    Has anyone else encountered aggressive DPI blocking on EE Smart Hubs in the UK, or know of a way to temporarily force the Linux daemon to bind its cloud connection to a virtual tunnel interface?

Let's try to fix one issue at a time. On the device, run particlectll setup --force over Wi-Fi. If that fixes the connection, we can dive into the cellular issue.