- ベストアンサー
ドライバとファームウェアの関係について
- ドライバとファームウェアの関係についての質問です。
- 質問者は、DebianをインストールしたPCで無線子機を使用しようとしていますが、rt2800usbというドライバが必要だという情報を見つけました。
- しかし、ドライバとファームウェアの関係についての説明が理解できず、どなたかに教えて欲しいと質問しています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
細かいことは理解していませんし、挙動も知りませんが (いつどこでどういう説明を得たのか、すでに記憶にありません) そういうタイプのファームウェア関連のパッケージは プロプライエタリーソフトウェアであり、バイナリー形式で メーカーサイトなどから配布されているファームウェアを PCのHDDの中に保存するための、特殊なパッケージという解釈で良いはずです。 そして、そういったファームウェアは、機器にそもそも入っていません。 デバイスドライバーのロードによって、ファームウェアを機器に送り込み それを受け取り、ファームウェアが機器の中で機能し 機器の中の、コントローラーチップなどが機能するようになっているはずです。 実際、そういう機器では、デバイスドライバー自体はカーネルツリーにあり 自動認識でロードされているのに、OS標準では組み込まれていない ファームウェア取得機構が無い状態では、ファームウェア欠損の状態で 機能しないという状況になるようです。 機器によっては、ファームウェア単体での配布が行われておらず Windows用のデバイスドライバーから、該当部分を抽出して Linuxのシステムに取り込むようになっている場合もあります。 そういったファームウェアはPCの中ではなく それを適用する機器側で動作するものなので Windows用から抽出したものが、他のOSでも機能します。 正確な理由は知りませんが、たぶん ドライバーのアップデートという一般的な作業を行なうことによって (特殊な作業の部類にあたる)ファームウェアのアップデートが可能という メーカーのメンテナンス上の利点から、そういう仕様になっているのでしょう。 逆に、そうであるからこそ、そういう特殊なパッケージで取得する手順が生じます。 でも、M/Bなどに見られる、ファームウェアアップデートのために WineやFreeDOSを使わざるを得ないような状況に比べれば むしろ、Linux系OSなどでも運用しやすい機器設計と言えるかもしれません。
その他の回答 (1)
- notnot
- ベストアンサー率47% (4901/10362)
理解はそれであってると思います。 とあるドライバが機器のファームウェアに特定のバージョンあるいは特定のバージョン以上を必要とするのは別に不思議ではないでしょう。 機器に現在入っているファームウェアがその条件を満たしていればそのままドライバインストールだけで使えますし、ファームウェアが条件を満たしていなければ、ファームウェアの更新が必要です。
お礼
回答ありがとうございます。 私の説明不足だったのですが、質問中で上げた「firmware-ralink package」は、私の認識で言うファームウェアでは無く、PCにインストールする様な類のプログラムなのです。 具体的に言うと、下記のコマンドを叩いてインストールする物で、機器内臓のプログラムを置き換える様な物ではありませんでした。 apt-get install firmware-ralink どうしても私の目には「ドライバ」をインストールしているだけの様に映ってしまいます。 ひょっとして、コンピュータ上にあるプログラムを無線子機が読み込んで、機器内で実行しているのでしょうか? もしご存知でしたらご教示ください。
お礼
詳しい回答ありがとうございます。 回答の内容と、無線子機を作動させるまでの手順がガッチリと重なっており、とてもスッキリできました。 確かに、ファームウェアを取得する際にはaptのsources.listへnon-freeを追記しましたし、デバイスドライバーのrt2800もカーネルに組み込み済みだった様で、子機を接続した時点で自動でロードされていました。 「ファームウェアは機器内部で動作をするが、常に機器内に保持されているとは限らない」という点が理解出来ていませんでした。 大変勉強になりました。ありがとうございました。