Wi-Fiドライバはユーザースペースにどのように公開されますか?

Wi-Fiドライバはユーザースペースにどのように公開されますか?

私はドライバーから始めて上向きに動作するRaspberry pi 3でWi-Fiパイプがどのように機能するかを探っています。

Wi-Fiチップの使用を担当する次のドライバを確認しました。

$ lsmod
...
brcmfmac              186403  0 
brcmutil                5661  1 brcmfmac
cfg80211              428871  1 brcmfmac

次のステップは、ドライバに関連するデバイスファイルを見つけて、lsofどのユーザースペースアプリケーションがファイルを保持しているかを確認することです。

上記のドライバに関連するデバイスファイルがないことを発見した場合、方法は失敗しました。次のコマンドを使用します。

/dev $ find . ! -type d -exec sh -c "echo {};  udevadm info -a -n {} | grep DRIVERS" \;

私の質問は、デバイスファイルを介さずにLinuxでデバイスドライバを接続できる他のオプションはありますか?

答え1

デバイスファイルを介さずにデバイスドライバを接続するためのLinuxの他のオプションはありますか?

はい、ネットワークデバイスはカーネルスペースの呼び出しにのみ応答するのではなく、ネットワークトラフィックにも応答するため、ワーキングセットが異なるため、/devにデバイスファイルがないか、ファイルの読み取り/書き込み操作を使用しません。これには、ファイルデバイスノードを持つ文字とブロックデバイスへの接続があります。

ネットワークデバイスはソケットとソケットバッファを使用して通信します。使用される主な呼び出しは、ソケット()、バインディング()、リスニング()、受け入れ()、読み取り()、書き込み()、および閉じる()です。オンラインにはこれに関する豊富な情報があり(今はかなり古い)、Linux Device Drivers 3(LDD3)の本は良い紹介であり、オンラインで無料で利用できます。

関連情報