Kein TX-Audio bei WSJT-X & SmartSDR: Dem QIODevice::seek Fehler auf der Spur
Wer WSJT-X in Kombination mit einem SDR wie dem FlexRadio und den aktuellen DAX2.0-Treibern (SmartSDR ab V4.2.X) betreibt, kennt womöglich dieses frustrierende Phänomen: Die CAT-Steuerung schaltet bei FT8 auf Sendung, die rote TX-LED leuchtet, aber das Gerät gibt schlagartig keine HF-Leistung mehr ab. Das Audiosignal bricht mitten in der TX-Sequenz ab oder bleibt nach einer Weile im Leerlauf vollkommen stumm. Erst ein kompletter Neustart von WSJT-X bringt die NF-Modulation kurzzeitig zurück – bis das Spiel von vorne beginnt. Auch der Neustart von DAX brachte nicht den gewünschten Erfolg. Wie sich herausstellte war auch DAX weniger das Problem.
Eine genaue Analyse des WSJT-X System-Logs zeigt jedoch, dass die Ursache an einer ganz anderen Schnittstelle liegt.
Der Blick ins Log: Was bedeutet der QIODevice::seek Fehler?
Ein Blick in das interne System-Log (wsjtx_syslog.txt) von WSJT-X (erreichbar unter %LOCALAPPDATA%\WSJT-X) offenbart kurz vor dem Abreißen der NF-Modulation folgende Fehlermeldung:
[SYSLOG][warning] QIODevice::seek (Modulator): Cannot call seek on a sequential device
Diese Warnung stammt direkt aus der von WSJT-X genutzten Qt-Audio-Engine. Der technische Hintergrund erklärt sich wie folgt:
-
Der interne NF-Modulator von WSJT-X versucht bei der Erzeugung des FT8/FT4-Audiosignals, den Puffer neu auszurichten oder an eine bestimmte Zeitposition im Audiostream zu springen (
seek), um eine phasenstarre Aussendung zu garantieren. -
Der virtuelle Audiotreiber SmartSDR DAX Audio TX fungiert unter Windows jedoch als ein sogenanntes „sequential device“ (ein fortlaufender Datenstrom). Das Springen an eine beliebige Pufferposition ist architektonisch schlicht nicht möglich.
-
Trifft die Qt-Engine auf diese Inkompatibilität, bricht der Audio-Thread für die Sendung stumm ab. Die CAT-Tastung bleibt bestehen, aber WSJT-X liefert kein Audio-Signal mehr an den DAX-Treiber.
Die Ursache: Timing-Probleme beim Umschalten (RX/TX)
Der ungültige seek-Aufruf entsteht vor allem dann, wenn WSJT-X den Audio-Modulator startet, bevor der DAX TX Audio Stream im Transceiver nach dem PTT-Schaltvorgang vollständig initialisiert und bereit ist. Die Qt-Engine bemerkt eine minimale Verzögerung und versucht verzweifelt, die Audiodaten im Puffer nach vorne zu „spulen“. Das führt direkt zum Abbruch.
Zusätzlich führt eine undefinierte Kanalzuordnung (z. B. wenn WSJT-X versucht, den WDM-Treiber dynamisch anzusprechen) dazu, dass der Modulator aus dem Takt gerät.
Die Lösung: Zwei Stellschrauben in den WSJT-X Einstellungen
Um das Problem dauerhaft zu lösen, muss dem DAX-Treiber genügend Zeit zum Einschwingen gegeben und die Audioausgabe in WSJT-X eindeutig definiert werden. Das geht direkt in der Benutzeroberfläche von WSJT-X – ohne manuelle Eingriffe in Konfigurationsdateien.
1. TX-Delay erhöhen (Reiter Radio)
-
Gehe in WSJT-X auf Settings (F2) und in den Reiter Advanced.
-
Suche das Feld TX Delay (bzw. PTT Delay) und stelle diesen Wert von
0.0 sauf0.4 s(400 ms) oder vielleicht auch auf 0.5 s hoch. -
Wirkung: WSJT-X löst zuerst die PTT über CAT aus und wartet genau eine halbe Sekunde, bis der DAX-Audiokanal stabil steht. Erst dann beginnt der Modulator mit der Erzeugung der NF-Töne. Der unzulässige
seek-Befehl wird gar nicht erst provoziert.

2. Audio-Kanal festlegen (Reiter Audio)
-
Wechsele auf den Reiter Audio.
-
Stelle unter Soundcard und Output sicher, dass neben DAX TX (FlexRadio DAX) explizit Both ausgewählt ist (statt Mono oder Left).
-
Wirkung: Die Audiosignale werden starr auf beide Kanäle des virtuellen Treibers gelegt. Das verhindert ein dynamisches Umrouting in der Qt-Engine und stabilisiert den Pufferverlauf.

Fazit & Praxistest
Nach dem Anpassen dieser beiden Parameter – TX Delay auf 400 ms und Audio Output auf Both – läuft der Sendezweig zwischen WSJT-X und SmartSDR auch über stundenlange Sequenzen und längere Leerlaufphasen absolut stabil. Der Fehler QIODevice::seek taucht im Log nicht mehr auf, und die NF-Modulation bricht nicht mehr unbemerkt ab oder stockt.
Wer an seinem SDR ähnliche Phänomene beobachtet, sollte diese einfachen Einstellungen direkt überprüfen.


