Files
emcomm-tools-os-community/overlay/etc/udev/rules.d/80-et-ic705.rules
T

43 lines
1.6 KiB
Plaintext

# 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