Eu já enfrentei antes o mesmo problema com o ignore_device
não eficaz. Eu não consegui descobrir porque então eu sempre vou com outras soluções.
-
Bem,
ignore_device
foi removido com a versão 148 do udev. Consulte a nota de lançamento ou changelogSe você percebeu, todos os tópicos que sugerem o uso dele são antigos (~ 2009).
-
Uma alternativa rápida é usar:
ENV{UDISKS_PRESENTATION_HIDE}="1"
(Ubuntu 12.04). Para lançamentos (> = 12.10) que incluemudisks2
use:ENV{UDISKS_IGNORE}="1"
.Referência: Archlinux Wiki: Udisks
As outras soluções estão usando o SYSFS. device/authorized
(como mencionado em solsTiCe), device/remove
ou driver/unbind
. Consulte Use somente dispositivos de armazenamento em massa em um dispositivo USB selecionado port - como?
A dificuldade vem em como negar todo o armazenamento, exceto apenas uma marca / modelo. Portanto, a condição de correspondência da regra deve filtrar um único nó de dispositivo, nem mais nem menos (nenhum dispositivo pai ou filho). É por isso que adicionei KERNELS=="[1-9]*-[0-9]*"
KERNELS=="[1-9]*-[0-9]*", SUBSYSTEMS=="usb", DRIVERS=="usb", ATTRS{idVendor}!="0951", ENV{UDISKS_PRESENTATION_HIDE}="1"
KERNELS=="[1-9]*-[0-9]*", SUBSYSTEMS=="usb", DRIVERS=="usb", ATTRS{idVendor}=="0951", ATTRS{idProduct}!="1665", ENV{UDISKS_PRESENTATION_HIDE}="1"
Bem, o UDisks oculta apenas o gancho de montagem. Estes podem ser melhores usando o driver SYSFS unbind.
KERNELS=="[1-9]*-[0-9]*", SUBSYSTEMS=="usb", DRIVERS=="usb", ATTRS{idVendor}!="125f", ENV{IF_STORAGE_REMOVE_ME}="1"
KERNELS=="[1-9]*-[0-9]*", SUBSYSTEMS=="usb", DRIVERS=="usb", ATTRS{idVendor}=="125f", ATTRS{idProduct}!="c96a", ENV{IF_STORAGE_REMOVE_ME}="1"
ENV{IF_STORAGE_REMOVE_ME}=="1", DRIVERS=="usb-storage", DRIVER=="sd", RUN+="/bin/sh -c 'echo -n %k >/sys%p/driver/unbind'"
Referência: regra do udev com poucos dispositivos pai atributos