5

Raspbian Jessie インストール、カーネル バージョン 4.4.16-v7+ で USB HID サポートを (可逆的に) 無効にしようとしています。Raspberry Pi を半公共のスペースに置いて、テレビに何かを表示する必要があります。

これまでのところ、rmmod を介して usbhid モジュールをカーネルから取り外し可能にすることができました。ただし、モジュールを rmmod した後、USB キーボードまたはマウスを接続するたびに、デバイス ドライバーがカーネルに読み込まれるようです。

それを防ぐ方法はありますか?

4

2 に答える 2

6

udevはそれを行うための最良かつ最も簡単な方法です。たとえば、新しいルールを /etc/udev/rules.d/99-disable-usb-hid.rules に追加します。

SUBSYSTEMS=="usb", DRIVERS=="usbhid", ACTION=="add", ATTR{authorized}="0"

udevを再起動します。Debian Jessie ARM 4.4.16 でテストしました。

于 2016-09-23T17:57:24.380 に答える
0

次の 2 つのオプションが考えられます。

より簡単に:

以下を追加して、/etc/modprobe.d/blacklist.conf 内のカーネル モジュールをブラックリストに登録します。

blacklist usbhid

sudo を使用するか、root としてログインして、必ず root としてこれを実行してください。そうしないと、このファイルは読み取り専用になります。

もっと強く:

使用しているカーネルを再コンパイルする能力がある場合は、カーネル構成ファイルで CONFIG_USB_HID=n を設定して usbhid を完全に無効にすることができます。

Raspberry Pi のカーネル ビルド手順に従うことができます。すべてのビルドの設定が完了したら、CONFIG_USB_HID=n になるように構成ファイルを変更できます。これは、menuconfig の実行中に行うことも、make defconfig を実行した後に非表示の .config ファイルを編集するという、私が通常行っている方法で行うこともできます。Linux カーネルの構成と構築の詳細については、Linux カーネルの概要を参照してください。

Raspberry Pi は ARM であり、コンピューターは x86 であると想定しているため、クロスコンパイラ ツールチェーンをセットアップする必要があります。その情報は、RasPi のカーネル構築ステップにも含まれているはずです。

次に、RasPi のカーネル構築手順に従って、カーネルを Raspberry Pi に取り込みます。これにより、usbhid が表示される問題が解決されるはずです。そもそもカーネルに焼き付けられません。

于 2016-09-22T14:49:35.023 に答える