Getting Your Yaesu FT-857(D) on FT8 With The TOADs DI

You can find the companion video here: https://youtu.be/CABVvD_mOE8

Getting on FT8 with these older rigs is much harder than just tapping the "FT8" button and plugging in a USB cable.  In this video I break it down step-by-step along with a TON of background information about how FT8 works and how to get the most out of the mode.

In particular, the Raspberry Pi's New OS: Trixie has complicated things even further with the way they've changed up the sound system.  I've got a script for you in this post that gives you the answers you need to get to the bottom of this new mystery.

Let's get started with a fresh Pi install and the terminal:


sudo apt update sudo apt install wsjtx -y lxpanelctl-pi restart

These three commands will update the application repository database - the catalog of softare for your Pi - and collate all the dependencies, install WSJTX and refresh the "start" menu for us impatient types.

From there, we'll need to tell the PI to ignore the "media keys" - Hayden, VK7HH and I went through a lot of trouble to expose the GPIO pins present on the CM108 sound chip. These make it super easy to access them for your radio and tools like Allstar that need them... but they get in the way of things like a desktop environment. Those "media keys" are things like Volume Control, Start, Stop, Balance, etc - and we use one of them for PTT (push to talk) and another for COS (carrier operated squelch). I think its this COS signal that brings our Pi to a halt - the Pi thinks you're constantly pressing the volume down button, when in reality its the radio saying "squelch is open". Since we don't need the desktop environment to respond, and since this is Linux... we can turn it off like this:


#Create /etc/udev/hwdb.d/50-TOADsDI-ignore-media-keys.hwdb sudo -i cat >/etc/udev/hwdb.d/90-TOADsDI-ignore-media-keys.hwdb <<'HWDB' # Silence CM108/CM119 media-key events but keep HID/GPIO available. # Name-based match so it works across ports, event numbers, and many clones. evdev:name:*C-Media*USB*Sound*Device*:* KEYBOARD_KEY_c00ea=reserved # Volume Down KEYBOARD_KEY_c00e9=reserved # Volume Up KEYBOARD_KEY_c00e2=reserved # Mute (some variants) # Some clones report different names—add a couple safe fallbacks: evdev:name:*USB*PnP*Sound*Device*:* KEYBOARD_KEY_c00ea=reserved KEYBOARD_KEY_c00e9=reserved KEYBOARD_KEY_c00e2=reserved evdev:name:*USB*Audio*Device*:* KEYBOARD_KEY_c00ea=reserved KEYBOARD_KEY_c00e9=reserved KEYBOARD_KEY_c00e2=reserved HWDB # Rebuild the hwdb systemd-hwdb update # Re-apply to input devices and print a quick status udevadm trigger -s input # Stop being Root exit

Be sure to copy from the "cat" command all the way to the last of the "HWDB" (in all caps) line. This is the "heredoc" I explain in the video... neat trick for multi-line copy/paste!

Now that we've tamed the desktop environment to our liking, we can use that same heredoc trick to create a script that will ferret out the new sound card device name for WSJTX under Trixie and run it:


cat >toads-audio-helper.sh<<'TOADS'
#!/usr/bin/env bash

set -e

card_block=$(arecord -l 2>/dev/null | awk '
  /card [0-9]+:/ {line=$0}
  /USB Audio/    {print line ORS $0; exit}
')

if [ -z "$card_block" ]; then
  echo "No 'USB Audio' capture device found in arecord -l output."
  echo "Is the CM108 plugged in and recognized?"
  exit 1
fi

card_num=$(grep -oE 'card [0-9]+' <<< "$card_block" | awk '{print $2}')
card_id=$(grep -oE 'card [0-9]+: [^ ]+' <<< "$card_block" | awk -F': ' '{print $2}')

out_sys="sysdefault:CARD=${card_id}"
out_sys=$(echo "$out_sys" | head -n 1)
out_plug="plughw:CARD=${card_id},DEV=0"
in_hw="hw:${card_num},0"
in_plug="plughw:CARD=${card_id},DEV=0"

echo "Detected USB audio capture device!"
echo
echo "Use this device in WSJT-X → Settings → Audio:"
echo "    ${out_sys}"
echo
TOADS

bash toads-audio-helper.sh

Same thing this time too - copy from "cat" to "TOADS" as one command, then run it. This will tell you the audio device. Mine was called "sysdefault:CARD:device" - simple, right?

Let's get the radio all setup with its fun menu settings, yay Yaesu!

Shallow F Menu Settings:
AGC = Off

Deep F Menu Settings:

Menu Number Name  FT8 Setting Your Setting
1 EXT MENU ON
36 DIG DISP 0Hz
37 DIG GAIN Start @ 50, Check ALC
38 DIG MODE USER-U
39 DIG SHIFT 0hz
40 DIG VOX 0
45 DSP BPF WIDTH 240hz
46 DSP HPF CUTOFF 100Hz
47 DSP LPF CUTOFF 6000Hz
48 DSP MIC EQ OFF
49 DSP NR LEVEL 1
59 MIC SEL NOR
74 PROC LEVEL 0
75 RF POWER SET (Set for heat control)
80 SQL/RF GAIN RF GAIN

 

For reference, here are the parts I used to build and test out my station for this video:

Today's Station:
👉 Yaesu FT-857D (Used): https://geni.us/JMtH7q
👉 TOADs Digital Interface: https://temporarilyoffline.com
👉 TOADs DI6 6-Pin Daughter Board: https://temporarilyoffline.com
👉 Raspberry Pi 5: https://geni.us/l0w2hPy
👉 Raspberry Pi 5 Case: https://geni.us/3cmIdT
👉 SD Card: https://geni.us/udB0kKB
👉 Yaesu 8-Pin Cat Cable: https://geni.us/31RrSB
👉 Mini Din 6 Cable: https://geni.us/mKzF
👉 Toroids for RFI: https://geni.us/AVbIA
👉 Ham Radio Crusader TOADs Shell: http://hamradiolife.org/
👉 ATU 100: https://geni.us/EkazAV
👉 Carbon Fiber Antenna: https://geni.us/MtFjQm

Here are some links that I mentioned in the video as well.

Links:
👉 WSJT-X: https://wsjt.sourceforge.io/wsjtx.html
👉 Time Tester: https://time.is
👉 Maidenhead Grid Square Lookup: https://www.levinecentral.com/ham/grid_square.php
👉 Map Signal Reporting: pskreporter.info

0 comments

Leave a comment

Please note, comments need to be approved before they are published.