Choosing the right audio interface can be cumbersome and prone to error.
Creating special devices can help to find the right audio source/sink and prevent e. g. sending “ding” sounds over the air.

Pipewire config#

Fortunately pipewire can help and is available in many Linux distributions.

When you have pipewire up and running, create a file ~/.config/pipewire/pipewire.conf.d/10-TRX-sink.conf with the following content:

context.objects = [
	{
		factory = adapter
		args = {
			factory.name	= support.null-audio-sink
			node.name   	= "toTRX"
			object.linger	= true
		}
	},
	{
		factory = adapter
		args = {
			factory.name	= support.null-audio-sink
			node.name   	= "fromTRX"
			object.linger	= true
		}
	}
]

Reload pipewire (may differ for your system) with

$ systemctl --user restart pipewire.service

or logout/login or reboot.

Now there should be additional devices visible in pavucontrol (maybe you have to select “All Output Devices” at “Show”):

  • On Tab “Output Devices”: “toTRX” and “fromTRX”
  • On Tab “Input Devices”: “Monitor of toTRX” and “Monitor of fromTRX”

Audio routing#

Route to TRX#

After that connect the audio devices of your TRX to the new devices. Here is an example with wfview, which I use with an IC-705:

  • Settings -> Radio Access -> “Audio Output”: “fromTRX”
  • Settings -> Radio Access -> “Audio Input”: “toTRX.monitor”

Route to Software#

Here is an example for WSJT-X:

  • File -> Settings -> Audio -> Soundcard -> “Input”: “fromTRX.monitor” “Mono”
  • File -> Settings -> Audio -> Soundcard -> “Output”: “toTRX” “Both”

CAT control with rigctld over USB or wfview over network is described at Unified CAT control and automatization with systemd for amateur radio