Hinweis: Config-Snippets vor dem Einsatz prüfen und an die eigene Umgebung anpassen.

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.

FM-FunknetzLinuxSVXLinkSVXLink · FM-Funknetz · Linux
SVXLink: Timeout-Beep bei Talkgroups abschalten

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.

ReflectorLogic.tcl – ursprüngliche Timeout-Funktion
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.

Timeout-Funktion anzeigen
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.

ReflectorLogic.tcl sichern
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:

ReflectorLogic.tcl – Timeout-Beep deaktiviert
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

  # }

}
Wichtig: 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:

ReflectorLogic.tcl bearbeiten
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.

SVXLink neu starten
systemctl restart svxlink

systemctl status svxlink –no-pager

Was sich danach ändert

  • Der konfigurierte TG_SELECT_TIMEOUT bleibt 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.