使っていますこのUSB Wi-Fiデバイス私のDebianで実行していますDE10-ナノプレート。
製品の詳細を見ると、RT2800USBドライバに含まれているRT5370チップセットを使用しているようです。以下のスクリーンショットに示すように、カーネルでこの機能を有効にしました。
ただし、以下を使用してファームウェアをインストールしないと、Wi-Fiデバイスは機能しません。
sudo apt install firmware-ralink
私の質問は - ファームウェアはドライバとどのように関連していますか? Wi-Fiデバイスに必要なファームウェアがすでにインストールされている必要はありませんか?ここで何が起こっているのでしょうか?
私はカーネルドライバとデバイスに初めて触れたので、ここで起こる魔法を理解しようとしています。私が理解したのは、デバイスを使用するには、関連するドライバがカーネルにコンパイルまたは後でロードできるモジュールとして提供されていることを確認するだけです。
これは私が実行したときのdmesg出力ですifup wlan0
。ファームウェアファイルはrt2870.bin
ソフトウェアパッケージで提供されていますfirmware-ralink
。
[ 78.302351] ieee80211 phy0: rt2x00lib_request_firmware: Info - Loading firmware file 'rt2870.bin'
[ 78.311413] ieee80211 phy0: rt2x00lib_request_firmware: Info - Firmware detected - version: 0.36
[ 80.175252] wlan0: authenticate with 30:23:03:41:73:67
[ 80.206023] wlan0: send auth to 30:23:03:41:73:67 (try 1/3)
[ 80.220665] wlan0: authenticated
[ 80.232966] wlan0: associate with 30:23:03:41:73:67 (try 1/3)
[ 80.257518] wlan0: RX AssocResp from 30:23:03:41:73:67 (capab=0x411 status=0 aid=5)
[ 80.270065] wlan0: associated
[ 80.503705] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
ベストアンサー1
多くのハードウェアデバイス製造元はデバイスにファームウェアを含まず、ファームウェアをデバイスにロードするにはオペレーティングシステムドライバが必要です。
他のメーカーは以前のバージョンのファームウェアを内蔵していますが、ドライバが最新バージョンをロードできるようにします。組み込みバージョンは古くなったり、バグがあることがよくあります(しばしばデバイス自体で更新されることもあります。製造やテストプロセスを変更する必要があるためです)。ファームウェアのバージョンが必ずしもそうである必要はないという根拠があります。いいね、最小限の機能を備えたものと似ている必要があります。アップデートはドライバによってロードされ、ロードされなければなりません。)
ファームウェアファイルには、ほとんど常にGPLと互換性のないライセンス(明示的または識別可能なライセンスではなく、デバイス自体およびそれに付随するWindowsドライバと一緒に配布され、暗黙的な「許可」のみがあります)があるため、次のように使用することはできません。カーネル自体は一緒に配布されるため、別々のパッケージとして配布する必要があります。
デバイスが正常に動作するには、ドライバとファームウェアが必要です。