Saya menggunakan RPI untuk membuat program, tetapi saya harus menonaktifkan port USB agar pengguna akhir tidak dapat menyambungkan keyboard atau mouse dan mengacaukan perangkat.
Apakah ini mungkin, dan jika demikian, bagaimana caranya?
Saya menggunakan RPI untuk membuat program, tetapi saya harus menonaktifkan port USB agar pengguna akhir tidak dapat menyambungkan keyboard atau mouse dan mengacaukan perangkat.
Apakah ini mungkin, dan jika demikian, bagaimana caranya?
Jawaban:
Anda mungkin menemukan keberuntungan dengan perintah ini:
gema 0x0> / sys / devices / platform / bcm2708_usb / buspower
Ini tampaknya menonaktifkan port USB. Saya belum mengujinya.
Setiap pengontrol host USB di Linux memperlihatkan pengaturan yang disebut authorized_default
, yang mengontrol keadaan setiap perangkat yang terhubung baru. Mengaturnya ke 0 membuat semua perangkat baru dinonaktifkan secara default:
for host in /sys/bus/usb/devices/usb*; do echo 0 > $host/authorized_default; done
Cara yang disarankan untuk menjalankan skrip ini terdiri dari penggunaan udev
aturan. Dengan cara ini, Anda yakin skrip berjalan pada waktu yang tepat, ketika driver pengontrol host sudah dimuat, tetapi belum ada perangkat yang diotorisasi. Lihat pertanyaan ini untuk contoh pendekatan ini.
Satu hal yang harus Anda pahami adalah bahwa kunci perangkat lunak hanya efektif selama pengguna akhir tidak dapat mencabut kartu SD dan menghapus perlindungan yang telah Anda tempatkan.
Saya tidak benar-benar tahu bahwa itu mungkin secara langsung ... Mengapa tidak secara fisik memblokir kemampuan pengguna untuk melakukannya? Entah dengan meletakkannya di tempat yang tidak bisa dijangkau, mengisi porta atau dengan meletakkan mekanisme penguncian di atasnya.
sudo sh -c "echo 0 > /sys/devices/platform/soc/3f980000.usb/buspower"
Akan menonaktifkan port USB tetapi juga port LAN.
sudo sh -c "echo 1 > /sys/devices/platform/soc/3f980000.usb/buspower"
Buat ulang mereka.