このプロジェクトが放棄された理由を説明するページへのリンクがあったため、より適切にリンクした Q/A を読むべきでした:
<ブロック引用>WE はさらに開発されていますか?
いいえそうではありません。 WE では、バグ修正のみが受け入れられています。
WE を放棄する理由
WE は ioctl()
に基づいています ioctl()
でも ユーザー←→ カーネル空間間の通信用の標準トランスポートとして使用されており、現在も使用されています。いくつかの理由から、新しいトランスポートが好まれています。
Linux デバイス ドライバーから - 第 3 版:
In user space, the ioctl system call has the following prototype:
int ioctl(int fd, unsigned long cmd, ...);
Unix システム コールのリストでプロトタイプが際立っているのは、通常、関数が可変数の引数を持つことを示すドットがあるためです。ただし、実際のシステムでは、システム コールは実際には可変数の引数を持つことはできません。ユーザー プログラムはハードウェアの「ゲート」を介してのみシステム コールにアクセスできるため、システム コールには明確に定義されたプロトタイプが必要です。したがって、プロトタイプのドットは、可変数の引数ではなく、伝統的に char *argp
として識別される 1 つのオプションの引数を表します。 .ドットは、コンパイル中の型チェックを防ぐためだけに存在します。
また、次のようにも述べています:
ioctl
の構造化されていない性質 call により、カーネル開発者の間で人気がなくなりました。各 ioctl
command は本質的に、別個の、通常は文書化されていないシステム コールであり、これらの呼び出しを包括的な方法で監査する方法はありません。構造化されていない ioctl
を作るのも難しい 引数はすべてのシステムで同じように機能します。たとえば、ユーザー空間プロセスが 32 ビット モードで実行されている 64 ビット システムを考えてみましょう。
Wireless-Extensions の代替品とは
新しい開発は、cfg80211 と nl80211 に集中する必要があります。
補足: Jean Tourrhiles は 1997 年から 2009 年にかけてこのプロジェクトに取り組んだようです。私は 2014 年の記事を見つけました。Tourrhiles はまだ HP にいて、OpenFlow というプロジェクトに取り組んでいました:
<ブロック引用>HP の Jean Tourrhiles は Extensibility Working Group の議長も務めており、最新のテクノロジを OpenFlow の将来のバージョンに推進する「編集者」として働いています
無線ツールは iw
を支持して廃止されました ワイヤレス デバイス用の新しい nl80211 インターフェイスを優先して、ワイヤレス拡張機能が非推奨になったためです。 iw のカーネル ドキュメントには、そのように記載されています。
ただし、nl80211 は活発に開発中であり、すべてのドライバーが移行されたわけではありません。ワイヤレス拡張機能から移行されていないデバイスには、引き続きワイヤレス ツールが必要です。
Ubuntu (および私が知っているほぼすべてのディストリビューション) がバージョン 30 ベータ版を提供する理由は、そのバージョンがバージョン 29 にあった重大なバグを修正するためです。これにより、バッファーのために領域内にネットワークが多すぎる場合に iwconfig が失敗しました。オーバーフロー。ワイヤレス ツールの Github リポジトリにはこれが表示されませんが、関連する Arch のパッチは次のとおりです