Нет необходимости действовать физически на встроенной веб-камере, чтобы отключить ее: следующая команда отключает ее,
echo 0 > /sys/bus/usb/devices/1-1.3/bConfigurationValue
но в этой команде часть 1-1.3
является правильной координатой шины для встроенной веб-камеры в моей системе. Все, что нам нужно сделать, это найти эквивалент 1-1.3
для вашей системы.
Сначала давайте определим координаты шины: в моей системе
# lsusb -t
...............
: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M
|__ Port 2: Dev 4, If 0, Class=Wireless, Driver=btusb, 12M
|__ Port 2: Dev 4, If 1, Class=Wireless, Driver=btusb, 12M
|__ Port 3: Dev 3, If 0, Class=Video, Driver=uvcvideo, 480M
|__ Port 3: Dev 3, If 1, Class=Video, Driver=uvcvideo, 480M
только одно устройство идентифицируется как Class = Video ; идентификация в качестве встроенной веб-камеры еще более усиливается драйвером uvcvideo. Это адрес Bus = 1, Device = 3, Function = 0,1.
Теперь давайте перейдем к:
# cd /sys/bus/usb/devices/; ls
1-0:1.0 1-1:1.0 1-1.2:1.0 1-1.3 1-1.3:1.1 2-1 2-1.5 2-1.6 2-1.6:1.1 2-1.6:1.2 2-1.6:1.4 2-1.6:1.6 2-1.6:1.8 3-0:1.0 3-2:1.0 3-3:1.0 3-3:1.2 usb1 usb3
1-1 1-1.2 1-1.2:1.1 1-1.3:1.0 2-0:1.0 2-1:1.0 2-1.5:1.0 2-1.6:1.0 2-1.6:1.10 2-1.6:1.3 2-1.6:1.5 2-1.6:1.7 2-1.6:1.9 3-2 3-3 3-3:1.1 4-0:1.0 usb2 usb4
Из этого видно, что у меня есть два Bus Domains, 1 и 2; только у Bus Domain 1, однако, Bus = 1, Device = 3 address, поэтому мы переходим к:
# cd 1-1.3
Вы можете дважды проверить, что это ваша бортовая камера, сравнив содержимое двух файлов,
# cat id{Vendor,Product}
1bcf
288e
который вы можете сравнить с выводом
# lsusb
................
Bus 001 Device 003: ID 1bcf:288e Sunplus Innovation Technology Inc.
что вы можете легко подтвердить, прибегая к помощи камеры (моя камера!).
Чтобы отключить его, как sudo,
# echo 0 > bConfigurationValue
Запуск cheese
теперь подтвердит, что веб-камера отключена. Чтобы сделать это постоянным, включите строку
echo 0 > /sys/bus/usb/devices/1-1.3/bConfigurationValue
в файл /etc/rc.local
.