Я ищу способ отключить веб-камеру, встроенную в мой ноутбук. В веб-камере используется модуль uvcvideo, но я не хочу помещать его в черный список, поскольку он также используется внешней веб-камерой, которая у меня есть.
Есть ли способ отключить само устройство, не касаясь списка модулей?
Вот как веб-камеры перечислены lsusb. Первый - интегрированный (в некоторых приложениях он обозначается как BisonCam NB Pro), второй - внешний Logitech C525:
Bus 002 Device 004: ID 5986:0361 Acer, Inc
Bus 003 Device 002: ID 046d:0826 Logitech, Inc.
Я уже проверил BIOS - оттуда нет возможности отключить веб-камеру. Кроме того, я хотел бы узнать, как отключить устройство по идентификатору в любом случае.
Благодарность!
Ответы:
Это довольно просто. Тяжелая работа - выяснить, каков путь к USB-устройству. Нам нужно начать с поиска устройства, которое мы хотим отключить. Мы можем сделать это с
lsusb
:Измените 1-6 на порты вашего устройства, которые будут отключены. Порт часто не логичен (он физический), но вы можете получить сопоставление портов
lsusb -t
. Как только вы думаете, что у вас есть, вы можете проверить это с:Это дает мне
0402
и5602
, поставщика и идентификаторы продукта для правильного устройства (как указано вlsusb
).Теперь мы нашли это, отключить это просто:
Убедившись, что он работает как нужно, загружайте его при каждом запуске (например, в
/etc/rc.local
.)источник
echo "0" > /sys/bus/usb/devices/1-6/bConfigurationValue
с sudo, это не работает. Значение не остается там, файл ничего не содержит. Веб-камера все еще работает.echo "0" > /sys/bus/usb/devices/1-6/bConfigurationValue
строку в/etc/rc.local
.@ Surjack:
1-6
зависит от вашего сопоставления портов. Если вы напечатаете,lsusb -t
вы получите его, а затем сравните с выводомlsusb
. Для меня я получаю следующие выводы:и
Теперь просто найдите правильный автобус, который
04
в моем случае, потому чтоAcer, Inc
это камера. Сопоставление портов показывает, что камера расположена вBus 04.Port 1
. Это означает, что вместо использования1-6
я должен использовать4-1
. Я не эксперт по Linux / Ubuntu, но у меня сложилось впечатление, что вы должны использоватьBus-Port
и просто использовать цифры. Если вы хотите быть на 100% уверены, используйтеcat
команду, как описано:и сравните это с lsusb.
В моем случае:
которая тождественно к выходу lsusb:
5986:0525
.Теперь вы нашли свою внутреннюю веб-камеру.
Но, к сожалению, lysdexia прав, и команда echo не работает, потому что
Permission denied
.Есть ли другое решение?
источник
sudo -i
и позжеecho "0" > ...
.sudo echo "0" > sudo /sys/bus/usb/devices/...
Если вы хотите включить только внешний, когда он подключен, но включить внутренний, если внешний не подключен, вот скрипт для этого. Он основан на ответе Wildneuro, но может определить путь к устройству для вас с учетом идентификатора.
Я использую его, потому что некоторые приложения, от которых я зависит, похоже, не предлагают способ легко выбрать предпочитаемую камеру. Вы можете легко настроить свои собственные идентификаторы камеры (с
lsusb
).Код здесь: https://gist.github.com/shimon/12cd1080fb8669549aadc2b5408922bc
источник