Troubleshooting

First step for almost everything: sudo /opt/radio-remote/current/scripts/doctor.sh (or Admin > Diagnostics), then journalctl -u radio-remote -n 100 --no-pager. Paste the doctor output when asking for help; it contains no passwords.

Radio not detected ("radio offline", "no FT-991A found on any USB serial port")

  1. lsusb: is there a Silicon Labs CP210x entry? No: cable, radio power, try another Pi USB port, avoid unpowered hubs.
  2. ls /dev/serial/by-id/: do ports exist? No: kernel did not create them (check dmesg | tail).
  3. Is the radio on (not standby)? CAT does not answer in standby.
  4. radio.model must be ft991a, not mock (Admin > Config).
  5. Detection tries 4800/9600/19200/38400. If it still fails, the radio's menu 031 CAT RATE may not match any, or another program holds the port.

CAT not responding / timeouts

Wrong serial device

The FT-991A exposes two serial ports; the app picks the one that answers ID; with 0670. Force one with radio.serial_port = "/dev/serial/by-id/usb-Silicon_Labs_...-if00-port0" (stable across reboots, unlike ttyUSB0/1). "unexpected radio ID" means a different radio model answered on that port.

USB audio missing

arecord -l / aplay -l must list the radio's codec. If not: cable/power as above; the audio device appears only while the radio is on. Several codecs present: set audio.input_device and audio.output_device explicitly (the UI says "several USB audio CODECs found"). Make sure the service user is in group audio (id radio-remote) and that you use Raspberry Pi OS Lite (a desktop session's PipeWire can hold the device; check with fuser -v /dev/snd/*).

No RX audio

No TX audio

PTT does not work

  1. The button says "PTT DISABLED IN CONFIG": an administrator enables it in Admin > Config > Transmitting (PTT) (password required), or sets allow_ptt = true in /etc/radio-remote/config.toml and restarts.
  2. "Request control first" / "X has control": take control (control bar).
  3. Radio offline, or "radio did not key": check CAT first.
  4. Released too soon: PTT is hold-to-talk; it un-keys if the page loses focus, the tab is hidden, the network drops (heartbeat 1 s), or after safety.tx_timeout_s.
  5. The radio's own menu 036 TX TOT may also be cutting you off.

CAT reconnect problems

Unplug/replug and radio power-cycle should recover within a few seconds. If the status stays offline: look for "CAT session ended" in the log; confirm the port name did not change (use by-id); sudo systemctl restart radio-remote. After a radio power cycle, the radio forgets auto-information; the app re-enables it on reconnect (log: "FT-991A connected").

Browser cannot connect

Tailscale connectivity

Service will not start / keeps restarting

journalctl -u radio-remote -n 100. Common: a typo in config.toml (the error names the key); missing Python packages after a failed update (sudo /opt/radio-remote/venv/bin/pip install -r /opt/radio-remote/current/requirements.txt); status=...WATCHDOG means the app hung (please send the log).

Start over

sudo scripts/uninstall.sh (keeps data) then sudo ./install.sh; or --purge for a completely clean slate.

Mic armed but "To radio: 0 frames"; log says "Unknown PCM 6"

The server could not open the radio's sound card for transmit: audio.output_device holds something that is not an ALSA device name (for example a bare card number 6). Leave Admin > Config > Pi -> radio (playback) empty (auto-detect) or set plughw:CARD=CODEC,DEV=0 (see aplay -l), save, restart the service. A bare number is now rejected when saving, and the Audio tab shows "Audio to the radio failed: ..." when the playback device cannot be opened.