Como desativar um dispositivo de som usb com o udev

3

Como posso desativar o dispositivo USB por ID de fornecedor? Então eu tenho:

[root@piotr ~]# lsusb
Bus 001 Device 002: ID 058f:9254 Alcor Micro Corp. Hub
Bus 001 Device 003: ID 0d8c:000c C-Media Electronics, Inc. Audio Adapter
Bus 001 Device 004: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
Bus 002 Device 004: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 006: ID 0bc2:3320 Seagate RSS LLC SRD00F2 [Expansion Desktop Drive]

Eu quero desativar

Bus 001 Device 003: ID 0d8c:000c C-Media Electronics, Inc. Audio Adapter

Eu preciso desta unidade no ambiente Windows, mas isso me incomoda a entrada do Skype (e somente o Skype). Como solução temporária, incluí apenas snd_usb_audio na lista negra de modprobe. Mas é apenas uma solução alternativa. Ou (talvez melhor) é possível excluir este dispositivo USB específico das regras do udev? Mas em /usr/lib/udev/rules.d não há definição para este dispositivo. Quero dizer sobre o VendorID.

Então minhas perguntas são: Por que está funcionando e pode ser visto pela ALSA? Como posso excluir tais regras de VendorID e ProductID fron udev? Qualquer ideia queria

    
por mackowiakp 18.12.2013 / 10:18

2 respostas

2

Adicione esta linha:

ACTION=="add", ATTR{idVendor}=="0d8c", ATTR{idProduct}=="000c", RUN+="/bin/sh -c 'echo 1 >/sys/\$devpath/authorized'"

para um novo arquivo (ex: my.rules) em /etc/udev/rules.d /

    
por 18.12.2013 / 13:55
0

resposta correta (com base no feedback de @mackowiakp) é realmente isso:

Adicione esta linha:

ACTION=="add", ATTR{idVendor}=="0d8c", ATTR{idProduct}=="000c", RUN="/bin/sh -c 'echo 0 >/sys/\$devpath/authorized''

para um novo arquivo (ex: my.rules) em /etc/udev/rules.d /

Diferenças da resposta do @ user2438863:

  • RUN= em vez de RUN+=
  • echo 0 em vez de echo 1
por 01.12.2018 / 18:27