Lidar com dispositivo usb de mouse e teclado no udev

1

Estou tentando configurar o usbip em nossos thin clients para encaminhar (quase todos) os dispositivos USB para o servidor. O que eu não quero encaminhar são todos os dispositivos de entrada e todos os hubs / dispositivos virtuais.

Por isso, quero excluir tudo com o ID 1d6b (Linux Foundation) do fornecedor junto com os dispositivos de entrada.

Minha primeira tentativa foi

ATTRS{idVendor}=="1d6b", GOTO="do_nothing"
ENV{ID_INPUT_MOUSE}=="?*", GOTO="do_nothing"
ENV{ID_INPUT_KEYBOARD}=="?*", GOTO="do_nothing"
KERNEL=="?-?"", ACTION=="add", SUBSYSTEM=="usb", RUN+="/usr/local/sbin/add_usbip.sh $kernel"
LABEL="do_nothing"

No entanto, por razões que eu não entendo, o primeiro GOTO é sempre acionado, resultando em nenhum comportamento.

Eu então tentei

KERNEL=="?-?", ACTION=="add", SUBSYSTEM=="usb", ENV{ID_INPUT_MOUSE}!="?*", ENV{ID_INPUT_KEYBOARD}!="?*", RUN+="/usr/local/sbin/add_usbip.sh $kernel"

e semelhantemente

KERNEL=="?-?"", ACTION=="add", SUBSYSTEM=="usb", ENV{ID_INPUT}!="?*", RUN+="/usr/local/sbin/add_usbip.sh $kernel"

que eu supus estar correto com base na escassa documentação que encontrei, mas eles também serão executados apenas para dispositivos de entrada, tornando o teclado inutilizável, uma vez que é exportado para o servidor.

Observe que isso não me ajuda a adicionar séries específicas ou identificações de produto e fornecedor, pois os teclados e mouses e outros dispositivos de entrada podem variar de cliente para cliente.

    
por Xoph 04.03.2015 / 19:01

0 respostas