SVXLink: Timeout-Beep bei Talkgroups abschalten
SVXLink tastet beim Ablauf einer Talkgroup kurz den Sender auf? So deaktivierst du den Timeout-Beep, ohne TG_SELECT_TIMEOUT abzuschalten.

Bei meinem SVXLink-Hotspot im FM-Funknetz ist mir aufgefallen, dass der Sender scheinbar ohne Gespräch in regelmäßigen Abständen kurz auftastet. Die Ursache war kein Verbindungsproblem und auch keine automatische Sprachansage: Beim Ablauf des ausgewählten Talkgroup-Timeouts spielt SVXLink standardmäßig mehrere Töne ab.
Auf einem reinen Audio-System ist das unspektakulär. Bei einem Funk-Hotspot oder Simplex-Einstieg landet dieser Ton aber auf dem Sender – und damit gegebenenfalls auch auf der gerade verbundenen Talkgroup. Ich wollte deshalb nur den Timeout-Beep abschalten, den eigentlichen TG_SELECT_TIMEOUT aber unverändert weiter nutzen.
Woher kommt der Timeout-Beep?
Die akustische Signalisierung steckt in der Ereignisdatei /usr/share/svxlink/events.d/ReflectorLogic.tcl. Relevant ist die Funktion tg_selection_timeout. Sie wird aufgerufen, wenn die zuvor ausgewählte Talkgroup durch den konfigurierten Timeout wieder freigegeben wird.
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
}
}
Die drei playTone-Zeilen erzeugen Töne mit 880, 659 und 440 Hz. Zusammen mit den kurzen Pausen davor und danach reicht das aus, damit der lokale Funkweg kurz auf Sendung geht.
Funktion auf dem eigenen System finden
Bevor ich etwas ändere, prüfe ich zuerst, wie die Funktion auf der installierten SVXLink-Version tatsächlich aussieht. Das ist sicherer als mit festen Zeilennummern zu arbeiten.
grep -n -A20 -B5 „tg_selection_timeout“ /usr/share/svxlink/events.d/ReflectorLogic.tcl
Backup erstellen
Vor der Änderung sichere ich die Originaldatei. Damit lässt sich der vorherige Zustand jederzeit schnell wiederherstellen.
cp /usr/share/svxlink/events.d/ReflectorLogic.tcl
/usr/share/svxlink/events.d/ReflectorLogic.tcl.bak
Nur die Tonausgabe deaktivieren
Der wichtige Punkt ist: Den Talkgroup-Timeout selbst lasse ich aktiv. Ich deaktiviere lediglich den Teil der TCL-Funktion, der den Ton erzeugt. Danach sieht die Funktion bei mir so aus:
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 der svxlink.conf wird dabei nicht deaktiviert. Die Talkgroup kann weiterhin ganz normal auslaufen beziehungsweise auf 0 zurückfallen – nur die akustische Rückmeldung entfällt.Zum Bearbeiten kann beispielsweise nano verwendet werden:
nano /usr/share/svxlink/events.d/ReflectorLogic.tcl
SVXLink neu starten und prüfen
Nach der Änderung starte ich SVXLink einmal neu und kontrolliere direkt den Dienststatus.
systemctl restart svxlink
systemctl status svxlink –no-pager
Was sich danach ändert
- Der konfigurierte
TG_SELECT_TIMEOUTbleibt weiterhin aktiv. - Die ausgewählte Talkgroup wird nach Ablauf des Timeouts weiterhin korrekt freigegeben.
- SVXLink spielt dabei keine 880/659/440-Hz-Tonfolge mehr ab.
- Der lokale Funk-Hotspot tastet für diesen Hinweis nicht mehr unnötig den Sender auf.
Passend dazu: meine SVXLink-Grundkonfiguration
Wenn du gerade einen eigenen Einstieg oder Hotspot für das FM-Funknetz aufbaust, findest du in meinem Snippet FM-Funknetz Standardkonfiguration für SVXLink zusätzlich meine komplette Beispielkonfiguration mit SimplexLogic, ReflectorLogic, NetLink sowie den von mir verwendeten Squelch-Delays.
Hinweis bei SVXLink-Updates
Die Datei unter /usr/share/svxlink/ gehört zur SVXLink-Installation und kann bei einem Paketupdate ersetzt werden. Nach einem Update lohnt sich deshalb ein kurzer Blick auf tg_selection_timeout. Wenn der Beep plötzlich wieder da ist, wurde sehr wahrscheinlich die ursprüngliche Datei wieder eingespielt.
Für meinen SHARI-/Hotspot-Betrieb ist die Variante ohne Timeout-Ton deutlich angenehmer: Der Talkgroup-Mechanismus bleibt vollständig erhalten, ohne dafür zusätzliche kurze Aussendungen zu erzeugen.
