ロードされたモジュールがデバイスのドライバではないのはなぜですか?

ロードされたモジュールがデバイスのドライバではないのはなぜですか?

スマートフォン用TP-Link TL-WN722N USB Wi-Fiカード用のドライバを含めるためにAndroid 8カーネルをコンパイルしようとすると、カーネルは正常にフラッシュされますが、OTGを介してWi-Fiカードを携帯電話に挿入するとソフトウェアは認識できません。

私が行ったデバッグは次のとおりです。

Wi-Fiカードはlsusb -t出力に表示されますが、付属のドライバはありません。

モジュールがロードされていることがわかり/proc/modulesますlsmod

wlan 5801121 0 - Live 0x00000000000000 (O)

コンパイル前に使用することを選択したドライバはmake menuconfig次のとおりです。ATH9KそしてATH9K_HTC、なぜこれが起こるのかわかりません。wlanここで、オフセットがすべてゼロであることは少し奇妙です。また、これは出力の唯一の項目です。他のすべての基本モジュールは、外部ではなくカーネルに直接コンパイルされるようです。

不正確な部分がたくさんありますが、まさに問題がどこにあるのかわかりません。どんなアドバイスでもいただければ幸いです。

ベストアンサー1

ついに動作し、Atherosデバイスが動作するためには、.fwファームウェアファイルを正しいディレクトリに配置する必要があることがわかりました。 Wi-Fiカードを接続するたびにdmesgにエラーが表示されたため、これがわかりました。ファームウェアのロードに失敗しましたというメッセージが表示されます。また、@nobodyが提案したようにドライバをデバイスにバインドしようとしましたが、これが機能するかどうかはわかりません。バインディング後にドライバがデバイスフォルダに表示されません。

おすすめ記事