by Stewart (G0LGS)
To update the Linux version of the Minos Radio Configuration file ~/runtime/Configuration/Radio/AvailRadio.ini to point to the correct /dev/ttyUSB<n> device for any number of connected Radio's
cd ~/
mkdir ~/git
git clone https://github.com/g0lgs/Minos-Config-Script.git ~/git/Minos-Config-Script
cd ~/git/Minos-Config-Script
You will need to connect each Radio individually to the USB and use the commands like:
lsusb
udevadm info -a -n ttyUSB0
udevadm info -p $(udevadm info -q path -n /dev/ttyUSB0)
Examine the details so you can correctly populate the UDEV Rule file '99-hamlib.rules' with the details of your radio's
From the udevadm output you will need:
ATTRS{idVendor} (probably '10c4')
ATTRS{idProduct} (probably 'ea60')
ATTRS{serial} (may include the radio model and an identifying serial)
Each Radio Needs a unique name for each port so that the MinosSetRadoPorts Script can associate them with the configured Radios
The example '99-hamlib.rules':
# Create symlinks for USB ports for Specific Radio's
# IC 7300
ACTION=="add", KERNEL=="ttyUSB?" SUBSYSTEM=="tty", \
ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", ATTRS{serial}=="IC-7300 01234567", SYMLINK+="ic7300" \
RUN{program}+="/usr/local/bin/MinosSetRadioPorts -cfg /home/<user>/runtime/Configuration -Q &"
# IC 9700
ACTION=="add", KERNEL=="ttyUSB?" SUBSYSTEM=="tty", \
ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", ATTRS{serial}=="IC-9700 01234567 A", SYMLINK+="ic9700a" \
RUN{program}+="/usr/local/bin/MinosSetRadioPorts -cfg /home/<user>/runtime/Configuration -Q &"
ACTION=="add", KERNEL=="ttyUSB?" SUBSYSTEMS=="tty", \
ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", ATTRS{serial}=="IC-9700 01234567 B", SYMLINK+="ic9700b"
# FT-817 using FTDI Interface
ACTION=="add", KERNEL=="ttyUSB?" SUBSYSTEM=="tty", \
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="AFWZ9VXZ", SYMLINK+="ft817" \
RUN{program}+="/usr/local/bin/MinosSetRadioPorts -cfg /home/<user>/runtime/Configuration -Q"
# Create Consistent Names for Sound (Codec) devices based on the USB port that device is connected
# This makes it easier to configure apps that use Sound Devices provided that you always use the same USB port / Hub combination
ACTION=="change", SUBSYSTEM=="sound", DEVPATH=="/devices/*/usb*/sound/card?", ENV{PULSE_NAME}="$env{ID_ID}.$env{ID_PATH_TAG}"
As anything invoked by udev rules are run as 'root' you will need to correctly set the Path to your Minos runtime configuration folder using the -cfg parameter in the RUN options above.
Currently you will also need to Modifiy MinosSetRadioPorts to set the correct Paths and Radio IDs as configured in Minos and matching /dev/ as assigned by the custom udev rules
my %Radios = ();
$Radios{"IC-9700"}= { 'port' => '/dev/ic9700a'};
$Radios{"IC-7300"}= { 'port' => '/dev/ic7300'};
$Radios{"FT-817"}= { 'port' => '/dev/ft817'};
Place the '99-hamlib.rules' file in /etc/udev/rules.d/
sudo cp -f 99-hamlib.rules /etc/udev/rules.d/
Place the MinosSetRadioPorts in /usr/local/bin
sudo cp -f MinosSetRadioPorts /usr/local/bin
sudo chmod 744 /usr/local/bin/MinosSetRadioPorts
Reload udev
sudo udevadm control --reload
Test the script by disconnecting at reconnecting the USB to your radio, check the logs with
journalctl | grep MinosSet | tail -n 10
To examine your ~/runtime/Configuration/Radio/AvailRadio.ini and you should see where it has updated the 'comport=' line
grep -B2 "comport=" ~/runtime/Configuration/Radio/AvailRadio.ini
Stewart G0LGS
Revised: Oct 2025