Estou procurando uma maneira de desativar a webcam integrada ao meu laptop. A webcam está usando o módulo uvcvideo, mas não quero colocá-lo na lista negra, pois também está sendo usada por uma webcam externa que possuo.
Existe alguma maneira de desativar o próprio dispositivo sem tocar na lista de módulos?
É assim que as webcams são listadas por lsusb. O primeiro é um integrado (é identificado por alguns aplicativos como BisonCam NB Pro), o segundo é o Logitech C525 externo:
Bus 002 Device 004: ID 5986:0361 Acer, Inc
Bus 003 Device 002: ID 046d:0826 Logitech, Inc.
Eu já verifiquei o BIOS - não há como desativar a webcam a partir daí. Além disso, eu adoraria aprender a desativar o dispositivo por ID de qualquer maneira.
Obrigado!
Respostas:
É bem simples O trabalho duro é descobrir qual é o caminho para o dispositivo USB. Precisamos começar descobrindo qual dispositivo queremos desativar. Podemos fazer isso com
lsusb
:Altere de 1 a 6 para as portas do dispositivo para desabilitar. A porta geralmente não é lógica (é física), mas você pode obter um mapeamento de porta
lsusb -t
. Depois de pensar que você o possui, você pode testá-lo com:Isto dá-me
0402
e5602
, de fornecedores e produtos IDs para o dispositivo correto (conforme listado nalsusb
).Agora que descobrimos, desativar é simples:
Depois de garantir que ele funcione como desejado, faça-o carregar todas as inicializações (por exemplo, em
/etc/rc.local
.)fonte
echo "0" > /sys/bus/usb/devices/1-6/bConfigurationValue
com o sudo, isso não funciona. O valor não fica lá, o arquivo não contém nada. A webcam ainda funciona.echo "0" > /sys/bus/usb/devices/1-6/bConfigurationValue
linha a/etc/rc.local
.@ Surjack:
1-6
depende do seu mapeamento de portas. Se você digitar,lsusb -t
irá obtê-lo e compará-lo com a saída delsusb
. Para mim eu recebo as seguintes saídas:e
Agora, basta encontrar o barramento certo, que está
04
no meu caso, porqueAcer, Inc
é a câmera. O mapeamento de portas mostra que a câmera está localizada emBus 04.Port 1
. Isso significa que, em vez de usar1-6
, tenho que usar4-1
. Eu não sou um especialista em Linux / Ubuntu, mas isso me dá a impressão de que você precisa usarBus-Port
e simplesmente usar os números. Se você deseja ter 100% de certeza, use ocat
comando conforme descrito:e compare com lsusb.
No meu caso:
que é idêntica à saída lsusb:
5986:0525
.Agora você encontrou sua webcam interna.
Infelizmente, a lisdexia está certa e o comando echo não funciona porque
Permission denied
.Existe outra solução disponível?
fonte
sudo -i
e depoisecho "0" > ...
.sudo echo "0" > sudo /sys/bus/usb/devices/...
Se você deseja ativar apenas o externo quando ele estiver anexado, mas ativar o interno se o externo não estiver anexado, aqui está um script para isso. É baseado na resposta de Wildneuro, mas pode descobrir o caminho do dispositivo para você, com o ID.
Uso-o porque alguns aplicativos dos quais dependo não parecem oferecer uma maneira fácil de escolher sua câmera preferida. Você pode personalizar facilmente com seus próprios IDs de câmera (de
lsusb
).Código aqui: https://gist.github.com/shimon/12cd1080fb8669549aadc2b5408922bc
fonte