私はカーネルモジュールをバックポートする作業をいくつか行いましたhid-apple
(bcm5974
多くの協力を得て)シックボロ) を作成し、カーネルのアップグレード間で互換性を維持できるように DKMS スクリプトを作成します。
パッチは非常に簡単で、これらの新しい USB 製品 ID のサポートを追加するだけです。
私が抱えている問題は、DKMSを使用してこれらの新しいカーネルモジュールをインストールした後でも、デバイスが一度もない適切なドライバーにバインドされている場合、それらは常に にバインドされusbhid
、次に にバインドされます。ここで、それらはそれぞれキーボードとトラックパッドに対してとにhid-generic
バインドされる必要があります。hid-apple
bcm5974
変更点は本当にシンプルで、私が知る限り、カーネルに十分な情報を伝えるはずです適切なデバイスをバインドするに適切なドライバー。
カーネルにこれらのデバイスをこれらのドライバーにバインドする必要があることを指示するために、私が見逃している手順はありますか? DKMS 内の間違った場所にモジュールをインストールしていますか?
デバイスを適切なドライバーに再バインドする手間をかけると(つまり、検索、検索、アンバインド、バインド)、デバイスは正常に動作し、パッチは期待どおりに機能します。しかし、カーネルに適切な方法でバインドさせるにはどうすればよいでしょうか。デフォルトで?
答え1
私の問題は、DKMS 内の間違ったディレクトリにパッケージをインストールしていたことです。
DEST_MODULE_LOCATION
モジュールが存在するはずのカーネル ドライバー内のディレクトリを指すように設定することが重要です。 にインストールしていましたが、これは間違った場所でした。認識されるように/updates
するには に移動する必要がありました。/kernel/drivers/hid
/extras
奇妙なことに、ここで何を渡してもDKMS はドライバーをインストールするようですが、どういうわけかこれで修正されます。