The new IC-705 has many functions. One of them is D-Star terminal mode (TM). Icom presents TM in two flavours: internal and external.

Internal TM uses the WLAN connection and connects directly to the internet, no additional hardware required. However, you have to configure a TM capable reflector in settings. So changing reflector means changing settings. What is needed here is some TM “proxy”, that handles all connections and routes them to the different reflectors, based on D-Star linking commands. In addition, this proxy should implement some form of heartbeat so that the incoming UDP port on your router remains open, even when there is no D-Star traffic. For now, such a thing does not exist…

So how about external TM then? Well, here you need a serial connection, running at 38400 baud on the IC-705 and some additional hardware/software.

The easiest way is the Doozy program for Windows. Plug in the USB cable, select the proper COM port and reflector and that’s it. But quickly checking some reflectors requires fiddling with your PC. (Booting or waking from sleep mode. Starting the app or hoping that Doozy survives sleep mode and reconnects properly. Maybe Windows reboots first because of updates…) I don’t like that, because there is Murphy’s Law of computers: “If you have time enough, things will run quickly and smooth, but if you are in a hurry, things will fail and take time.” (also called the demo effect)

The best alternative is the Pi-Star software, where you simply leave your Pi running all the time. No booting, sleep mode issues, unexpected updates etc. Getting this up and running with the IC-9700 in external TM is well documented on the internet. One key item here is the use of the original Icom serial port interface adapter, that is powered by the Pi and thus is always on from a Pi point of view. This dedicated connection for TM enables you to leave Audio and CI-V connected to Windows or Mac. The Pi-Star contains an udev rule, that matches the FTDI chipset in the adapter and creates a file called /dev/icom_ta, that is a symbolic link to the serial port device. Only when this file is present, the terminal mode interface can be selected on the Pi-Star configuration screen.

So what about the IC-705 then? Well, the IC-705 has two serial ports using the Prolific chipset to interface to a single USB port. So you cannot separate audio and CI-V from TM data, all gets connected to the Pi thru one USB port. Linux detects the serial ports as /dev/ttyACM0 and /dev/ttyACM1. The /dev/icom_ta file is not created by udev and thus terminal mode cannot be selected in Pi-Star. And there are more problems:

  1. Powering down the IC-705 shuts down the USB port and the serial devices disappear from Linux. This is different from the IC-9700 use-case and the ‘dstarrepeater’ process gets upset…
  2. The 2nd serial port device name (ttyACM1) changes with each USB hotplug event. Like ttyACM1 –> ttyACM2 –> ttyACM1 etc. Cool.. (not)

All these issues can be solved with standard udev functionality. Just trigger a task on USB hotplug but only for ttyACM[12345] (meaning it does not matter if the device is called ttyACM1 or ttyACM2 or…). First the symlink gets created, then the ‘dstarrepeater’ process is restarted with systemctl in order to initialise properly.

The Pi-Star udev rules are in ‘/etc/udev/rules.d/100-pistar.rules’ and look like this after adding the IC-705 rules.

#Icom TA 4100

# "Bus 001 Device 008: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC"
SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", SYMLINK+="icom_ta"

#Added for IC-705
KERNEL=="ttyACM[12345]", SUBSYSTEM=="tty", ATTRS{idVendor}=="0c26", ATTRS{idProduct}=="0036", SYMLINK+="icom_ta"
KERNEL=="ttyACM[12345]", SUBSYSTEM=="tty", ATTRS{idVendor}=="0c26", ATTRS{idProduct}=="0036", ACTION=="add", RUN+="/bin/systemctl restart dstarrepeater"

Since you can enable and disable TM without restarting the IC-705 (and thus not restarting ‘dstarrepeater’) things can still get messed up. The Pi-Star watchdog script fixes this, but loops every 5 minutes… So just power cycle the IC-705 to get things properly initialised after switching to TM. You can still modify the watchdog script in ‘/usr/local/sbin/pistar-watchdog’ of course :-)

Leave a Reply

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

+ 49 = 59