私のシステムにどのドライバがないのか、どうすればわかりますか?

私のシステムにどのドライバがないのか、どうすればわかりますか?

ラップトップにLinuxをインストールすると、通常はすべてのドライバがすぐにインストールされますが、最近いくつかのタスクを実行したときにpacman -Syu表示されるメッセージは次のとおりです。

...
  -> Running build hook: [block]
==> WARNING: Possibly missing firmware for module: aic94xx
==> WARNING: Possibly missing firmware for module: wd719x
  -> Running build hook: [keyboard]
...

これにより、ユーザーとしてシステムのどの部分にドライバーが欠けているかをどのように知ることができますか?などを使用して使用しているドライバを一覧表示できることはわかっていますが、上記lspci -vの2つのようにファームウェア/ドライバがインストールされていないコンポーネントについて具体的に尋ねているので、その情報を使用して問題を解決する方法を検索できます。あります。問題。

ベストアンサー1

モジュールにファームウェアがない可能性があるという警告です。これは、システムにモジュールがありますが、一部のバイナリブロブや他の展開問題の場合と同様に、一部のファームウェアがインストールされていないことを意味します。

ここでaic94xx用ドライバファームウェアを確認してください。https://aur.archlinux.org/packages/aic94xx-firmware/オープンソースライセンスはありません。したがって、警告は、インストールしたモジュールのファームウェアが存在しないため、そのファームウェアと互換性のあるハードウェアを検出する正しい方法がないことを示します。これらの警告が表示されると、モジュールがインストールされていますが、現在システムにそのモジュールを使用する機能がある場合とない場合があります。

ドライバは実際にはモジュールの一部であるため、各デバイスシナリオで使用されているドライバの種類を確認する必要があります。実際、モジュールは互いに依存する可能性があり、カーネル自体にはいくつかの「ドライバ」があります。

技術的には、バスデバイスはカーネルに新しいデバイスを通知し、そのデバイスはデバイスをサポートするモジュールをロードします。その後、デバイスドライバはバスとデバイスのメジャー番号とマイナー番号を使用してDEVfsにデバイスノードを作成しますが、このシステムにはかなりの制限があります。実際には、モジュールをイベントとルールに自動的にロードしようとすることもできます。 Udevはバス/デバイス名にモジュールエイリアスを使用し、必要に応じてモジュールをロードしてデバイスファイルを生成します。

を使用すると、udevadm info -a /dev/<device file>ロードされた各デバイスに関する情報が提供されます。 SUBSYSTEMS=使用されるLinuxの中核部分、DRIVERS=使​​用されるドライバ。 udevはこのフィールドのすべての名前を "/lib/modules//modules.alias"uname -rのエイリアスとして使用します。

ご覧のとおり、どのデバイスがロードされないかはわかりません。たとえば、何百ものデバイス(エイリアス)をサポートするモジュールをロードできますが、1つのデバイスにのみロードできます。

おすすめ記事