Home 5GHz WiFi: Tailscale tunnel cycles up/down on ~2-5 min intervals from this network only #106
Labels
No labels
burndown-2026-06
burndown-2026-08
autonomy
async-consult
autonomy
epic
autonomy
headless
autonomy
live-collab
coherence-core
priority
P0
priority
P1
priority
P2
priority
P3
priority
P4
qa-fixture
role/advocate
role/director
role/exec
role/frontend
role/gamedev
role/human
role/platform
role/qa
role/science
role/sysadmin
state
ambient
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-flight-deck/infrastructure#106
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
From Kai's phone (Pixel 9, Termux), the Tailscale tunnel to kai-server cycles between reachable and unreachable on ~2-5 min intervals. Mosh sessions disconnect, then reattach on their own when the path comes back, then disconnect again. No phone-side intervention triggers the transitions - it's autonomic.
The localization is the key finding
So this is not a Tailscale Android bug, not an Android per-app routing bug, not a kai-server bug. It is exclusively the home 5GHz radio + router combination doing something hostile to Tailscale's WireGuard UDP from non-Chrome apps.
Curious sub-finding
During the cycles, Chrome on the same phone keeps reaching
http://api/(MagicDNS) andhttps://forgejo.coilysiren.mewithout interruption. Tailscale's tunnel for Chrome stays up. Tailscale's tunnel for Termux (and probably any other app) cycles. Both are on the same 5GHz radio, same physical link, same Tailscale daemon.That is genuinely weird and points at the router doing per-flow / per-app-fingerprint differentiation - QoS or WMM or HTTP/3 (QUIC) special-casing. Chrome uses QUIC over UDP/443 to reach forgejo; Tailscale uses WireGuard UDP on a different port. The router may be aggressively expiring WireGuard's UDP NAT mapping but keeping QUIC's alive.
Diagnostic evidence gathered
ping -c 3 100.69.164.66from Termux during a 'down' window: 100% packet lossssh -4 -v kai@100.69.164.66: hangs atConnecting to ... port 22, SYN never arrives at server (zero entries inauth.logfor the attempt)mosh kai@100.69.164.66: connects during 'up' windows, holds session across 'down' windows100.69.164.66:60001Hypotheses to test next time at home
tailscale set --no-direct(or equivalent on Android) might paradoxically be more stable. Worth testing.Workaround until fixed
Related
coilysiren/mobile-ssh-debug.mdon kai-server. Pattern note: future debug threads of this shape should live as Forgejo issues from the start, not local files.Filed by Claude.
Investigation status update
Confirmed root cause
Not the home 5GHz radio itself - it's the router's UPnP port-mapping table being saturated by a BitTorrent client on the LAN, causing Tailscale's UDP mapping to get evicted on a ~2-5 min cycle.
Evidence chain
Transmission at 51413plus the BitTorrent port range 6881-6891 (TCP and UDP variants of each), saturating the table.00:11:32= Synology Inc), running Transmission (confirmed viacurl -I http://<host>:9091/transmission/rpcreturningServer: TransmissionandWWW-Authenticate: Basic realm="Transmission").Router specifics
Fix options, lowest-friction first
Adjacent findings filed separately
Citations supporting the diagnosis
Backlog burndown 2026-06-17: closing low-priority (P3/P4) to bring the open count to a manageable level. Nothing lost — reopen if this resurfaces. Batch tag:
burndown-2026-06.