Estoy buscando una manera de desactivar la cámara web que está integrada en mi computadora portátil. La cámara web está utilizando el módulo uvcvideo pero no quiero incluirlo en la lista negra ya que también lo está usando una cámara web externa que tengo.
¿Hay alguna forma de deshabilitar el dispositivo sin tocar la lista de módulos?
Así es como lsusb enumera las cámaras web. El primero es integrado (algunas aplicaciones lo identifican como BisonCam NB Pro), el segundo es el Logitech C525 externo:
Bus 002 Device 004: ID 5986:0361 Acer, Inc
Bus 003 Device 002: ID 046d:0826 Logitech, Inc.
Ya he comprobado el BIOS: no hay forma de desactivar la cámara web desde allí. Además, me encantaría aprender cómo deshabilitar el dispositivo por ID de todos modos.
¡Gracias!
Respuestas:
Es bastante simple. El trabajo duro es determinar cuál es la ruta al dispositivo USB. Necesitamos comenzar buscando qué dispositivo queremos deshabilitar. Podemos hacer esto con
lsusb
:Cambie 1-6 a los puertos de su dispositivo para deshabilitarlos. El puerto a menudo no es lógico (es físico), pero puede obtener una asignación de puerto
lsusb -t
. Una vez que crees que lo tienes, puedes probarlo con:Esto me da
0402
y5602
, proveedores y productos ID para el dispositivo correcto (como se indica enlsusb
).Ahora que lo hemos encontrado, apagarlo es simple:
Después de asegurarse de que funciona según lo deseado, haga que cargue cada inicio (por ejemplo, en
/etc/rc.local
).fuente
echo "0" > /sys/bus/usb/devices/1-6/bConfigurationValue
con sudo, esto no funciona. El valor no permanece allí, el archivo no contiene nada. La cámara web todavía funciona.echo "0" > /sys/bus/usb/devices/1-6/bConfigurationValue
línea/etc/rc.local
.@surjack:
1-6
depende de su mapeo de puertos. Si escribelsusb -t
, lo obtendrá y luego lo comparará con la salida delsusb
. Para mí obtengo los siguientes resultados:y
Ahora solo encuentre el Bus correcto que está
04
en mi caso porqueAcer, Inc
es la cámara. El mapeo de puertos muestra que la cámara está ubicada enBus 04.Port 1
. Esto significa que en lugar de usar1-6
tengo que usar4-1
. No soy un experto en Linux / Ubuntu, pero esto me da la impresión de que tienes que usarBus-Port
y simplemente usar los números. Si desea estar 100% seguro, use elcat
comando como se describe:y compáralo con lsusb.
En mi caso:
que es idéntica a la salida lsusb:
5986:0525
.Ahora encontraste tu cámara web interna.
Pero desafortunadamente la lisdexia es correcta y el comando echo no funciona porque sí
Permission denied
.¿Hay otra solución disponible?
fuente
sudo -i
y más tardeecho "0" > ...
.sudo echo "0" > sudo /sys/bus/usb/devices/...
Si desea habilitar solo el externo cuando está conectado, pero tiene habilitado el interno si el externo no está conectado, aquí hay un script para eso. Se basa en la respuesta de Wildneuro, pero puede determinar la ruta del dispositivo para usted dada la identificación.
Lo uso porque algunas aplicaciones de las que dependo no parecen ofrecer una manera de elegir fácilmente su cámara preferida. Puede personalizarlo fácilmente con sus propias ID de cámara (desde
lsusb
).Código aquí: https://gist.github.com/shimon/12cd1080fb8669549aadc2b5408922bc
fuente