У меня есть два правила: когда подключено устройство, мой телефон, и один, когда он отключен. Правило для добавления запускает правило удаления. Вот мое правило udev. Я упрощен, но событие remove не запускается.
#RUNS:
KERNEL=="sd?1", ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0ff9", SYMLINK+="phone", ACTION=="add", RUN+="/usr/bin/touch /tmp/udev.add"
#DOES NOT RUN:
KERNEL=="sd?1", ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0ff9", SYMLINK+="phone", ACTION=="remove", RUN+="/usr/bin/touch /tmp/udev.remove"
Зачем запускать, а не другой?
Вам нужно будет реорганизовать ваше правило удаления, как описано здесь: http://www.linuxquestions.org/questions/linux-desktop-74/udev-not-doing-remove-rules-841733/
Подводя итог содержанию ссылки, кажется, что после удаления устройства некоторые из его атрибутов больше не читаются, поэтому вам нужно будет контролировать удаление устройства и сосредоточиться на атрибутах, которые сбрасываются с помощью udevadm monitor --environment --udev.
Кроме того, создание символической ссылки во время удаления является неправильным.
Вам нужно будет реорганизовать ваше правило удаления, как описано здесь: http://www.linuxquestions.org/questions/linux-desktop-74/udev-not-doing-remove-rules-841733/
Подводя итог содержанию ссылки, кажется, что после удаления устройства некоторые из его атрибутов больше не читаются, поэтому вам нужно будет контролировать удаление устройства и сосредоточиться на атрибутах, которые сбрасываются с помощью udevadm monitor --environment --udev
.
Кроме того, создание символической ссылки во время удаления является неправильным.