Ich suche nach einer Möglichkeit, die in meinem Laptop integrierte Webcam zu deaktivieren. Die Webcam verwendet das uvcvideo-Modul, aber ich möchte es nicht auf die schwarze Liste setzen, da es auch von einer externen Webcam verwendet wird, die ich besitze.
Gibt es eine Möglichkeit, das Gerät selbst zu deaktivieren, ohne die Modulliste zu berühren?
So werden die Webcams von lsusb aufgelistet. Das erste ist ein integriertes (es wird von einigen Apps als BisonCam NB Pro bezeichnet), das zweite ist das externe Logitech C525:
Bus 002 Device 004: ID 5986:0361 Acer, Inc
Bus 003 Device 002: ID 046d:0826 Logitech, Inc.
Ich habe das BIOS bereits überprüft - es gibt keine Möglichkeit, die Webcam von dort aus zu deaktivieren. Außerdem würde ich gerne lernen, wie man das Gerät per ID sowieso deaktiviert.
Vielen Dank!
Antworten:
Es ist ganz einfach. Die harte Arbeit besteht darin, den Pfad zum USB-Gerät zu ermitteln. Zunächst müssen wir herausfinden, welches Gerät deaktiviert werden soll. Das schaffen wir mit
lsusb
:Ändern Sie 1-6 in die zu deaktivierenden Geräteports. Der Port ist oft nicht logisch (es ist physisch), aber Sie können ein Port-Mapping mit bekommen
lsusb -t
. Sobald Sie glauben, dass Sie es haben, können Sie es testen mit:Dies gibt mir
0402
und5602
, Anbieter und Produkt-IDs für das richtige Gerät (wie in aufgeführtlsusb
).Jetzt haben wir es gefunden. Das Ausschalten ist ganz einfach:
Nachdem Sie sichergestellt haben, dass es wie gewünscht funktioniert, laden Sie es bei jedem Start (z. B. in
/etc/rc.local
.)quelle
echo "0" > /sys/bus/usb/devices/1-6/bConfigurationValue
funktioniert dies nicht , auch wenn ich mit sudo arbeite. Der Wert bleibt nicht dort, die Datei enthält nichts. Die Webcam funktioniert immer noch.echo "0" > /sys/bus/usb/devices/1-6/bConfigurationValue
Zeile hinzugefügt habe/etc/rc.local
.@surjack:
1-6
hängt von Ihrer Portzuordnung ab. Wenn Sielsusb -t
etwas eingeben, erhalten Sie es und vergleichen es mit der Ausgabe vonlsusb
. Für mich bekomme ich folgende Ausgaben:und
Finden Sie jetzt einfach den richtigen Bus, der
04
in meinem Fall ist, weil derAcer, Inc
die Kamera ist. Die Anschlusszuordnung zeigt, dass sich die Kamera in befindetBus 04.Port 1
. Dies bedeutet, anstatt zu verwenden, muss1-6
ich verwenden4-1
. Ich bin kein Linux / Ubuntu-Experte, aber dies gibt mir den Eindruck, dass SieBus-Port
die Zahlen verwenden und einfach verwenden müssen. Wenn Sie 100% sicher sein möchten, verwenden Sie dencat
Befehl wie folgt:und vergleiche es mit lsusb.
In meinem Fall:
das ist identisch mit dem lsusb Ausgang:
5986:0525
.Nun haben Sie Ihre interne Webcam gefunden.
Aber leider ist Lysdexia richtig und der Echobefehl funktioniert da nicht
Permission denied
.Gibt es eine andere Lösung?
quelle
sudo -i
und späterecho "0" > ...
.sudo echo "0" > sudo /sys/bus/usb/devices/...
Wenn Sie nur das externe aktivieren möchten, wenn es angehängt ist, aber das interne aktivieren möchten, wenn das externe nicht angehängt ist, finden Sie hier ein Skript dafür. Es basiert auf der Antwort von Wildneuro, kann aber anhand der ID den Gerätepfad für Sie ermitteln.
Ich benutze es, weil einige Apps, auf die ich angewiesen bin, offenbar keine Möglichkeit bieten, Ihre bevorzugte Kamera einfach auszuwählen. Sie können ganz einfach mit Ihren eigenen Kamera - IDs (von
lsusb
) .Code hier: https://gist.github.com/shimon/12cd1080fb8669549aadc2b5408922bc
quelle