Skip to content

Troubleshooting

razvanzeces edited this page Jun 7, 2026 · 1 revision

Troubleshooting

This page documents the key bugs fixed vs upstream tetra-bluestation, plus general debugging tips. If you hit one of these symptoms, the fix is already in FlowStation — make sure you're on the latest build.

Known fixes

ExpiryOfTimer crash loop

Symptom: thousands of ExpiryOfTimer releases per minute, stack crashes during network group calls. Cause: release_group_call was not notifying Brew when a network-initiated group call expired, so Brew kept the call alive and re-issued NetworkCallStart with new speakers. Fix: release_group_call now sends NetworkCallEnd to Brew on expiry.

Simplex P2P (half-duplex PTT) not unlocking

Symptom: the peer in a half-duplex P2P call can't key up after the first speaker releases. Cause: terminals that receive GrantedToOtherUser in D-CONNECT need an explicit D-TX-GRANTED to unlock PTT — D-TX-CEASED alone is not enough. Fix: transmission_request_permission set to false in D-CONNECT, D-CONNECT-ACK, D-TX-CEASED, D-TX-GRANTED. On U-TX-CEASED, BS sends D-TX-CEASED to the speaker and D-TX-GRANTED(Granted) to the peer.

Sepura post-PTT RoamingLocationUpdating

Symptom: Sepura terminals get the next PTT denied after a release. Cause: Sepura sends RoamingLocationUpdating after every PTT release, not just on power cycle. CMCE briefly loses track of the terminal. Fix: timing-based soft re-attach detection — if < 60s since last registration, treat as a soft re-attach.

Wrong ISSI from BCD external subscriber number

Cause: the decoder shifted from nibble count instead of from bit 64, producing incorrect ISSI values in certain call scenarios. Fix: corrected the bit offset.

One-way audio on Brew calls

Cause: TmdCircuitDataInd was not routed to Brew in cmce_bs.rs. Fix: UL audio now routed to Brew correctly.

Spurious Brew traffic from SDS ACK (ISSI 9999)

Cause: SDS ACK for the local BS control ISSI was being forwarded to Brew. Fix: now absorbed locally.

Echo service (999) audio failure

Cause: echo service calls were allocated without a traffic channel. Fix: chan_alloc now included in D-CONNECT for echo service.

General debugging

journalctl -u tetra -f          # follow live service logs
  • Use the dashboard Log tab with the level filter for live, in-browser logs
  • The System tab shows BTS/Brew status, CPU temp, and RF hardware probe output
  • If the BS won't start after a config edit, it falls back to config.toml.fallback — check the dashboard's red banner for the exact parse error (see Configuration)

Reporting bugs

File issues at hub.flowstation.dev or ask in the Telegram group. Include:

  • radio model(s) involved
  • relevant log excerpt
  • your config.toml (redact passwords)