udev não funciona

1

Eu criei um udev regras que é suposto montar um dispositivo USB, fazer backup de alguns dados e limpar tudo. Eu estou realmente trabalhando em um servidor Debian .

Existem as informações sobre o meu dispositivo usb que tenho com lsusb

Bus 001 Device 003: ID 054c:0243 Sony Corp. MicroVault Flash Drive

(Na verdade, o lsusb retorna mais Bus / Device, mas eu tenho que escrevê-los manualmente, já que não estou postando da minha máquina Debian:))

Então eu escrevi minha regra udev chamada:

10-usb_back.rules

para:

/etc/udev/rules.d/

(eu usei 95 porque o script de backup leva alguns segundos e eu quero executá-lo o mais atrasado possível para evitar atrasar outras coisas)

E finalmente a regra em si:

ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="054c", ATTR{idProduct}=="0243", RUN+="/usr/local/bin/mount_usb"
ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="054c", ATTR{idProduct}=="0243", RUN+="/usr/local/bin/backup_database"

Eu também tentei isso:

ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="054c", ATTR{idProduct}=="0234", RUN+="bash /usr/local/bin/mount_usb"

Sem sucesso: (

Então eu reinicio o udev

sudo /etc/init.d/udev restart

E quando eu conecto meu dispositivo USB, recebo esta mensagem estranha:

[1348.295280] sd 6:0:0:0: [sdc] Assuming drive cache: write through

duas vezes

Mas nada aconteceu. Nenhum dispositivo USB montado, nenhum dado de backup.

I looked with tail -f /var/log/message

E a unidade USB parece ter sido detectada:

usb 1-3: Product Storage Media 
usb 1-3 Manufacturer Sony'
...

Algo deve estar errado em algum lugar, mas eu não sei o que, nem onde: (

Edit: Desde que eu tenho sido um pouco preguiçoso porque eu não posso reescrever tudo do meu servidor, por favor, solicite mais informações, se necessário, como o script ou mais mensagens de logs:)

    
por Edelweiss 16.05.2013 / 10:31

3 respostas

1

Você digitou incorretamente ATTR, deve ser ATTRS neste caso.

    
por 16.05.2013 / 11:30
0

Esses erros de digitação não estão na parte idProduct das regras?

Você tem isso:

ATTR{idProduct}=="0234"

Não deveria ser isso:

ATTR{idProduct}=="0243"

Com base na saída desta linha:

Bus 001 Device 003: ID 054c:0243 Sony Corp. MicroVault Flash Drive
    
por 16.05.2013 / 11:18
0

Tente dar uma olhada na saída de udevadm info --path=path/to/device --attribute-walk . Ele informará todos os atributos e subsistemas válidos para o dispositivo. Por exemplo, um dispositivo USB que eu tenho tem um SUBSYSTEM="tty" , para reconhecer USB para esse dispositivo você precisa colocar SUBSYSTEMS=="usb" (nota: plural subsistema * s *). Eu suspeito que algo assim pode ser o caso aqui. De qualquer forma, o udevadm info --attribute-walk é uma ferramenta realmente útil para depurar problemas do udev.

Além disso, ATTR {key} não é válido, em vez disso, use ATTRS {key} (foi mencionado antes, mas alguns de seus exemplos ainda usam o formulário incorreto.)

    
por 12.06.2013 / 22:26

Tags