SVXLink: Disable the Talkgroup Timeout Beep
SVXLink briefly keys the transmitter when a talkgroup times out? Disable the timeout beep while keeping TG_SELECT_TIMEOUT active.

On my SVXLink hotspot connected to an FM network, I noticed that the transmitter keyed up briefly at regular intervals even though nobody was talking. The cause was not a network problem or a voice announcement: when the selected talkgroup times out, SVXLink plays a short sequence of tones by default.
On an audio-only system that is harmless. On a radio hotspot or simplex node, however, the tone reaches the transmitter and may also be sent into the currently connected talkgroup. I therefore wanted to disable only the timeout beep while keeping TG_SELECT_TIMEOUT fully active.
Where does the timeout beep come from?
The audio notification is defined in /usr/share/svxlink/events.d/ReflectorLogic.tcl. The relevant function is tg_selection_timeout, which is called when the previously selected talkgroup expires.
proc tg_selection_timeout {new_tg old_tg} {
#puts “### tg_selection_timeout”
if {$old_tg != 0} {
playSilence 100
playTone 880 200 50
playTone 659 200 50
playTone 440 200 50
playSilence 100
}
}
The three playTone lines generate tones at 880, 659 and 440 Hz. Together with the short pauses, that is enough to key the local radio path briefly.
Find the function on your system
Before changing anything, I first check how the function looks on the installed SVXLink version. This is safer than relying on fixed line numbers.
grep -n -A20 -B5 “tg_selection_timeout” /usr/share/svxlink/events.d/ReflectorLogic.tcl
Create a backup
cp /usr/share/svxlink/events.d/ReflectorLogic.tcl
/usr/share/svxlink/events.d/ReflectorLogic.tcl.bak
Disable only the audio notification
The important part is that I keep the talkgroup timeout enabled. I only disable the section of the TCL function that generates the tones:
proc tg_selection_timeout {new_tg old_tg} {
#puts “### tg_selection_timeout”
# if {$old_tg != 0} {
# playSilence 100
# playTone 880 200 50
# playTone 659 200 50
# playTone 440 200 50
# playSilence 100
# }
}
TG_SELECT_TIMEOUT in svxlink.conf. The talkgroup can still expire normally; only the audible notification is removed.nano /usr/share/svxlink/events.d/ReflectorLogic.tcl
Restart and verify SVXLink
systemctl restart svxlink
systemctl status svxlink –no-pager
What changes afterwards?
TG_SELECT_TIMEOUTremains active.- The selected talkgroup is still released correctly when the timeout expires.
- SVXLink no longer plays the 880/659/440-Hz tone sequence.
- The local radio hotspot no longer keys the transmitter just for this notification.
Related: my SVXLink base configuration
If you are building your own hotspot or simplex node, my SVXLink FM network standard configuration also includes a complete example with SimplexLogic, ReflectorLogic, NetLink and practical squelch delays.
Remember to check after updates
The file below /usr/share/svxlink/ belongs to the SVXLink package and may be replaced during an update. If the timeout beep returns later, check tg_selection_timeout again.
For my SHARI/hotspot setup, running without the timeout tone is much cleaner: the talkgroup mechanism stays intact without generating an unnecessary short transmission.
