diff --git a/overlay/etc/udev/rules.d/79-et-digirig-dr891.rules b/overlay/etc/udev/rules.d/79-et-digirig-dr891.rules index fe2f725..62f39b6 100644 --- a/overlay/etc/udev/rules.d/79-et-digirig-dr891.rules +++ b/overlay/etc/udev/rules.d/79-et-digirig-dr891.rules @@ -11,30 +11,27 @@ # 2. /dev/et-audio created # 3. rigctld is started # +# CAUTION: The FT-891 is an experimental device that may impact the stability of the platform and may +# not work 100% of the time. This device support is best effort only. -# Ensure that the FT-891 is set as the current radio configuration. -# If it is, set ET_DEVICE=FT-891 to allow following rules to match. -SUBSYSTEM=="tty|sound", PROGRAM="/opt/emcomm-tools/sbin/udev-tester.sh yaesu-ft891", \ +# Special rule to ensure that the first serial interface (/dev/ttyUSB4) is tagged as ET_DEVICE=FT-891 so +# that it can be used in the next CAT control rule. The second serial device will not work (/dev/ttyUSB5) +# if it is incorrectly detected as the /dev/et-cat device. +KERNEL=="ttyUSB[0-9]*", SUBSYSTEM=="tty", PROGRAM="/opt/emcomm-tools/sbin/udev-tester.sh yaesu-ft891", \ + ATTRS{bInterfaceNumber}=="00", \ ENV{ET_DEVICE}="FT-891" -SUBSYSTEMS=="usb", ENV{ET_DEVICE}=="FT-891", ATTRS{bInterfaceProtocol}=="00", \ - ACTION=="add", \ - ENV{ET_FIRST_CAT_DEVICE}="yes" - # CAT control device will only match if PROGRAM above matches (exit status=0) -SUBSYSTEM=="tty", ENV{ET_DEVICE}=="FT-891", ENV{ET_FIRST_CAT_DEVICE}="yes", \ +SUBSYSTEM=="tty", ENV{ET_DEVICE}=="FT-891", \ ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea70",\ ACTION=="add", \ ENV{ET_SUBDEVICE}="CAT", GROUP="dialout", MODE="0660", SYMLINK+="et-cat", \ RUN+="/usr/bin/systemctl start rigctld" -#SUBSYSTEMS=="usb", SUBSYSTEM=="tty", ENV{ET_DEVICE}=="FT-891", ATTRS{bInterfaceProtocol}=="00", \ -# ACTION=="add", \ -# ENV{ET_SUBDEVICE}="CAT", GROUP="dialout", MODE="0660", SYMLINK+="et-cat", \ -# RUN+="/usr/bin/systemctl start rigctld" - # Audio device will only match if PROGRAM above matches (exit status=0) -SUBSYSTEM=="sound", ENV{ET_DEVICE}=="FT-891", ATTRS{idVendor}=="0d8c", ATTRS{idProduct}=="0012", \ +SUBSYSTEM=="sound", ATTRS{idVendor}=="0d8c", ATTRS{idProduct}=="0012", \ + PROGRAM="/opt/emcomm-tools/sbin/udev-tester.sh yaesu-ft891", \ ACTION=="add", \ + ENV{ET_DEVICE}="FT-891", \ ATTR{id}="ET_AUDIO", \ ENV{ET_SUBDEVICE}="AUDIO", GROUP="audio", MODE="0660", SYMLINK+="et-audio"