as regras do udev falham ao executar um script na adição do dispositivo usb

1

Aqui está uma regra simples que criei em /etc/udev/rules.d/21-persistent-local.rules para minha unidade de expansão Seagate 500 GB que usa uma interface USB em uma máquina Debian em execução dentro de uma VM.

ACTION=="add", ENV{DEVTYPE}=="usb_device", ATTRS{ID_SERIAL_SHORT}=="NA453QQS", SUBSYSTEM=="usb", HOTPLUG == 1, \
RUN+="/usr/local/bin/run.sh"

Depois de salvar isso, eu corro eu corro udevadm trigger . Por fim, conecto minha unidade e execute udevadm monitor --env para verificar se a unidade de expansão está carregada corretamente, o que é realmente o caso.

Agora defino a regra de que, na ação add , run.sh deve ser executado. run.sh não tem nada, exceto dois sudo insmod foo.ko e sudo rmmod foo.ko . Mas o script não funciona. Concretamente, nada é impresso em dmesg no script run.sh . O módulo que eu carrego no kernel imprime mensagens que devem estar visíveis ao sair e entrar no kernel.

Qual pode ser a possível razão para este problema?

P.S .: No arquivo de regras acima, usei ambos contra o ATTRS{...} ID_SERIAL=Seagate_Expansion_NA453QQS ID_SERIAL_SHORT=NA453QQS

    
por user1343318 21.09.2014 / 20:04

0 respostas