Como provavelmente milhares de pessoas, eu queria ter um script especial em execução quando o stick USB "this one" estiver inserido. Mas também quero ter algo funcionando quando for removido - isso é dor no rabo.
Eu li sobre problemas com remoção de correspondência correta aqui: link
Minhas regras são:
ACTION=="add", SUBSYSTEMS=="scsi", ATTRS{model}=="USB2FlashStorage", ATTRS{vendor}=="Ut165 ", ENV{UDISKS_IGNORE}="1", ENV{PX2_KEY}="1", SYMLINK+="key%n", OWNER="root", RUN+="/root/bin/key.sh add"
ACTION=="remove", SUBSYSTEM=="bsg", ENV{PX2_KEY}=="1", RUN+="/root/bin/key.sh del"
Adicione um funciona perfeitamente mas remova nada.
Tentei usar com e w/o SUBSYSTEM (usb, block, scsi)
, com ou sem ENV{ID_MODEL}, ID_VENDOR, ID_SERIAL, ID_F..._POOP
correto e nada.
No estágio atual, você pode ver que estou criando o próprio symlink (chave% n) e tentei usá-lo também com
KERNEL=="key*"
sem sorte! Você provavelmente também notou que eu estou definindo minha própria variável (PX2_KEY) e tentando combinar com isso e ... sem sorte também ... O que estou fazendo errado ... Talvez eu esteja perdendo algo na ordem das regras, mas fiz Tente fazer o meu arquivo de regras 10-local, bem como 99-local - não funcionou. Adicione trabalhos, remova não. bsg
está definido porque este é o primeiro subsistema onde vejo que o udev mostra a existência de PX2_KEY
em
udevadm monitor --udev --environment
quando a remoção é feita. Pensei que talvez eu precisasse pegar a primeira ocorrência. Mas também tentei diferente.