数日前、古いバージョンのLinuxにUSBWiFiアダプターをインストールしようとしていました。正常にインストールしました。
しかし、私が従った手順では、ドライバーだけでなく、そのアダプターで使用されているチップのファームウェアもインストールする必要がありました。
ファームウェアについて調べたところ、ファームウェアはハードウェア上で動作するソフトウェアであることがわかりました。しかし、ファームウェアはルーターのファームウェアのようにアダプターにプリロードされていませんか?チップにプリロードされていないのはなぜですか?
から buntu Wiki :
多くのデバイスには、オペレーティングシステムで機能させるための2つの重要なソフトウェアがあります。 1つ目は、システムがハードウェアと通信できるようにするソフトウェアである、動作するドライバーです。 2つ目はファームウェアです。これは通常、デバイスが正しく機能するためにデバイスに直接アップロードされる小さなコードです。ファームウェアは、デバイス内のハードウェアをプログラミングする方法と考えることができます。実際、ほとんどすべての場合、ファームウェアはブラックボックスであるという点でハードウェアのように扱われます。付属のソースコードは無料で配布されていません。
そして
ファームウェアは通常、ハードウェアデバイスを開発する会社によって保守されます。 Windowsの世界では、ファームウェアは通常、インストールするドライバーの一部です。多くの場合、ユーザーには表示されません。 Linuxでは、ファームウェアはさまざまなソースから配布される場合があります。一部のファームウェアは、Linuxカーネルソースから提供されます。再配布ライセンスを持っている他のものは上流から来ます。一部のファームウェアには、残念ながら無料の再配布を許可するライセンスがありません。
ファームウェアには、BIOSソフトウェアと共通の重要な機能があります。それ自体を更新することはできません。これは(オープンソースではなく)完全にクローズドソースであり、何らかの手順で再インストールできますが、ダウンストリームユーザーが検査したり修正したりすることはできません。
主な理由は、ベンダーが製品の発売後にUSBデバイスのファームウェアを変更できるようにしたいと考えているためです...
したがって、ますます多くのUSBデバイスにブートローダーのみが装備され、ファームウェアのアップロードが必要になります。