# Author : Gaston Gonzalez # Date : 28 September 2024 # Updated : 10 October 2024 # Purpose : udev rules for the Icom IC-705 # # Preconditions: # 1. IC-705 connected via USB cable # # Postconditions: # 1. /dev/et-cat created # 2. /dev/et-gps created # 3. rigctld is started # 4. gpsd is started # # Resources # - https://www.florian-wolters.de/posts/ic705-serial-device-symlinks/ # Set "IC-705" as an environment variable. This workaround is needed for the IC-705. # Refer to the document under the Resources above for the background details. KERNEL=="ttyACM[0-9]*", SUBSYSTEM=="tty", ATTRS{product}=="IC-705", \ ENV{ET_DEVICE}="IC-705" # Create consistent device name/path for the CAT serial device ENV{ET_DEVICE}=="IC-705", SUBSYSTEMS=="usb", ATTRS{bInterfaceNumber}=="00", \ ACTION=="add", \ ENV{ET_SUBDEVICE}="CAT", GROUP="dialout", MODE="0660", SYMLINK+="et-cat", \ RUN+="/usr/bin/systemctl start rigctld" # Create consistent device name/path for the GPS serial device ENV{ET_DEVICE}=="IC-705", SUBSYSTEMS=="usb", ATTRS{bInterfaceNumber}=="02", \ ACTION=="add", \ ENV{ET_SUBDEVICE}="GPS", GROUP="dialout", MODE="0660", SYMLINK+="et-gps", \ RUN+="/opt/emcomm-tools/sbin/wrapper-gpsd.sh start" # TODO: Make this rule more specific # # If we do not stop rigctld, the rigctl progress will continue to run and maintain # a stale reference to /dev/et-cat. This condition will prevent subsequent attach # and detatch events of the radio from working. SUBSYSTEM=="tty", ACTION=="remove", RUN+="/opt/emcomm-tools/sbin/wrapper-rigctld.sh stop" # TODO: Add rules for sound card