moderated WSJT-X TX Audio Stopped Working #linux #raspberryPi #txaudio

Mike Phipps

Hello all,

I have been running Raspbian 10 on a Raspberry Pi 4 for months without issue. This morning, I discovered that the TX audio in WSJT-X has stopped working. Previously, I had it configured via ALSA to use my Yaesu FT-991A’s audio input and output directly without dealing with PulseAudio (at least not on the surface). RX audio still works perfectly fine, and audio in Fldigi works like it always has using PulseAudio directly, which adds to the confusion here. Additionally, sometimes when exiting, “wsjtx” executable hangs on a futex() call (described below).

In order to troubleshoot this sudden issue when I had changed literally nothing about my setup, I have taken the following steps:
  1. Changed the audio card to “pulse” for input and output
  2. Run “wsjtx” from the command line in hopes that it would dump something to stdout that would show me what was happening
  3. Shut down WSJT-X, backed up and deleted the ~/.config/WSJT-X.ini and ~/.share/local/WSJT-X files/directories, then started and reconfigured WSJT-X
  4. Shut down WSJT-X and removed the above files/directories again, then ran an “sudo apt purge wsjtx && sudo apt autoremove”, then reinstalled 2.4.0-rc3 from the armhf deb file
  5. Run it via strace to see what it was doing (even though that generates a LOT of output), but this was more to see why it was hanging, which is how I discovered that it was hanging on futex(0x1a66be10, FUTEX_WAIT_PRIVATE, 0, NULL)
  6. Repeated the process in step 4, except installing the latest stable version of WSJT-X (2.3.0) instead

Even after all of that, TX audio still does not work. One thing I have noticed in all of this is that despite how the output sound device is configured, it does not send anything on the output. It will key the PTT just fine (and my rig is set up correctly to use DATA-USB as the output, taking its sound from what comes in via the USB connection - as I said, it works fine on Fldigi), but it does not even show up under Playback Streams or on pavucontrol’s Playback tab at all. RX audio does use a recording stream, which does show up under Recording Streams and also on pavucontrol’s Recording tab (and continues to after I close the WSJT-X window until I manually kill the “wsjtx” process due to that futex() issue I described above).

Additionally, it also appears that JS8Call is affected by this issue. I know that they’re different pieces of software used for different purposes, but there is a bunch of shared code between them (or at least there used to be), so my guess is that it has something to do with the Qt Multimedia libraries or something of that nature that both use.

I searched online for similar issues, but I didn’t see much of anything that amounted to a resolution. Is there a fix for this short of me having to reinstall Raspbian?

Mike K8WU