FreeBSD and WSJT-X Configuration

Recently, I configured WSJT-X on my IBM ThinkPad running FreeBSD 12.1 with the Lumina Desktop. Although it’s working just fine, the road traveled was challenging to say the least. Enclosed are my notes on the actions needed to properly configure FreeBSD and WSJT-X on my Laptop.

For those not familiar with WSJT-X, it is amateur radio software for weak signal communications. Please follow the link for additional information regarding WSJT-X: https://www.physics.princeton.edu/pulsar/k1jt/index.html

Hardware:

  • IBM ThinkPad T-480
  • Rig Expert TI-5000 Transceiver Interface
  • Kenwood TS-950SDX HF Transceiver

Software:

  • FreeBSD 12.1-p9 – Fresh Install, ZFS on Encrypted Root
  • Lumina Desktop 1.6
  • WSJT-X 2.1.2

Notes:

The author assumes you have a working FreeBSD Installation. Your mileage with different Desktop Environments will vary due to their respective audio configurations. I chose the Lumina Desktop due to its minimal configuration and tends not to get in your way! Also, the developers are very helpful and accessible on Telegram.

Configuration:

1. Setup USB-to-Serial-Adapter between the ThinkPad T-480 and the Rig Expert TI-5000

Added the following to /boot/loader.conf:

ucom_load="YES"

2. For less restrictive use of the USB-Serial and Audio Adapters:

Added the following to /etc/devfs.rules:

add path 'cuaU[0-9]*' mode 666
add path 'dsp[0-9]\*' mode 666

3. Configured WSJT-X Settings for Radio:

* Open WSJT-X and goto File -> Settings -> Radio
* Selected Kenwood TS-950SDX from Radio List
* Serial Port: /dev/cuaU0
* Data Bits: Default
* Stop Bits: Default
* Handshake: Default
* PTT Method: CAT
* Mode: Data/Pkt
* Split Operations: None

Note: Test CAT and Test PTT from Settings Tab. Success on my configuration!

4. Configured WSJT-X Settings for Audio:

* Open WSJT-X and goto File -> Settings -> Audio
* Two choices Default and OSS.  Selected OSS
* Error Message:  Requested Input Audio Format is not supported on device
* Noticed no choices for specific audio devices in WSJT-X Audio Tab 

5. In light of the previous error, check the status of the sound cards:

cat /dev/sndstat

Installed devices:
pcm0: <Realtek> (0x0257) (Analog 2.0+HP/2.0)> (play/rec) default
pcm1: <Realtek> (0x0257) (Right Analog Mic)> (rec) default
pcm2: <Intel Kaby Lake (HDMI/DP 8ch)> (play) 
pcm3: <USB audio> (play/rec)
No devices installed from userspace.
Note:  pcm3 is the Rig Expert TI-5000

6. Create ~.asoundrc to map OSS device names to ALSA device names:

pcm.Realtek {
   type oss
       device /dev/dsp0
}
pcm.RealtekMic {
   type oss
       device /dev/dsp1
}
pcm.HDMI {
   type oss
       device /dev/dsp2
}
pcm.RigExpert {
       type oss
       device /dev/dsp3
}
ctl.Realtek {
       type oss
       device /dev/mixer0
}
ctl.RealtekMic {
       type oss
       device /dev/mixer1
}
ctl.HDMI {
       type oss
       device /dev/mixer2
}
ctl.RigExpert {
   type oss
       device /dev/mixer3
}

With the addition of the above .asoundrc to my home directory, I’m able to configure WSJT-X’s audio tab to “RigExpert” for both the input and output devices. Additionally, I can still view and listen to YouTube Videos at the same time as using WSJT-X!

At this point, you should be decoding messages in WSJT-X

7. Testing the Rig Expert TI-5000 with WSJT-X

The Rig Expert TI-5000 Transceiver Interface has four (4) knobs on the front panel – Main, Sub, Mic and Out. We are only interested with Main, the main input channel and the Out Knob for audio output. Rotating the Main Knob clockwise, the corresponding audio level should increase in WSJT-X (see lower left hand area on WSJT-X’s main screen. The ideal level is between the 40-60 db level.

On the audio output side of the equation, adjust the Out Knob for the lowest ALC reading on your transceiver. In WSJT-X, use the tune button to key up your transmitter, then adjust the Out Knob on the TI-5000 for the lowest ALC. Of course, just remember to watch your output level on the transmitter. 10 to 50 watts of output is all that is needed.

8. Clean up:

Depending on your individual audio setup, you may want to consider using a specific device as the default audio device. In my case, it is pcm0 which is enumerated as /dev/dsp0.

Add the following to /etc/sysctl.conf

hw.snd.default_unit=0

If you wish to change your default audio device (pcm3) after booting up then type the following in your terminal:

sysctl hw.snd.default_unit=3

Final Thoughts:

In many respects, configuring audio devices for FreeBSD can be difficult. There is lack of documentation especially with mapping OSS Device Names to ALSA Devices Names. Perhaps a FreeBSD Man Page for asound.conf describing these mappings would benefit the FreeBSD Community! It might be time to join the FreeBSD Documentation Team.

Additional Resources:

Leave a Reply

Your email address will not be published. Required fields are marked *