Ich verwende das RPI, um ein Programm zu erstellen, muss jedoch die USB-Anschlüsse deaktivieren, damit der Endbenutzer keine Tastatur oder Maus anschließen und mit dem Gerät herumspielen kann.
Ist das möglich und wenn ja, wie wird es gemacht?
Ich verwende das RPI, um ein Programm zu erstellen, muss jedoch die USB-Anschlüsse deaktivieren, damit der Endbenutzer keine Tastatur oder Maus anschließen und mit dem Gerät herumspielen kann.
Ist das möglich und wenn ja, wie wird es gemacht?
Antworten:
Sie können Glück mit diesem Befehl finden:
Echo 0x0> / sys / Geräte / Plattform / bcm2708_usb / Buspower
Dies scheint die USB-Anschlüsse zu deaktivieren. Ich habe es aber nicht getestet.
Jeder USB-Host-Controller unter Linux stellt eine Einstellung namens bereit authorized_default
, die den Status aller neu angeschlossenen Geräte steuert. Wenn Sie den Wert auf 0 setzen, werden alle neuen Geräte standardmäßig deaktiviert:
for host in /sys/bus/usb/devices/usb*; do echo 0 > $host/authorized_default; done
Eine empfohlene Methode zum Ausführen dieses Skripts besteht in der Verwendung von udev
Regeln. Auf diese Weise können Sie sicher sein, dass das Skript zum richtigen Zeitpunkt ausgeführt wird, wenn der Host-Controller-Treiber bereits geladen ist, aber noch keines der Geräte autorisiert wurde. In dieser Frage finden Sie ein Beispiel für diesen Ansatz.
Eine Sache, die Sie verstehen sollten, ist, dass Software-Sperren nur wirksam sind, solange der Endbenutzer die SD-Karte nicht ausstecken und die von Ihnen eingerichteten Schutzfunktionen entfernen kann.
Ich weiß nicht wirklich, dass es direkt möglich ist ... Warum nicht einfach die Fähigkeit des Benutzers physisch blockieren? Entweder indem Sie es dort platzieren, wo sie nicht hinkommen können, indem Sie die Anschlüsse ausfüllen oder indem Sie einen Verriegelungsmechanismus darüber / darum legen.
sudo sh -c "echo 0 > /sys/devices/platform/soc/3f980000.usb/buspower"
Deaktiviert die USB-Anschlüsse, aber auch den LAN-Anschluss.
sudo sh -c "echo 1 > /sys/devices/platform/soc/3f980000.usb/buspower"
Aktiviert sie erneut.