ワイヤレスツールバージョン30が永続的なベータ版になったのはなぜですか?


10

このQ / Aで、ワイヤレスツールに関する良い情報を見つけまし。どうやら、1997年にHewlett Packardが後援するJean TourrhilesによってLinuxカーネルに導入されたようです。

編集:WE(Wireless Extensions)は、ワイヤレスツール自体ではなく、Tourrhilesによってカーネルに追加されたようです。ツールは、WEと通信する主要な方法として、ほとんどのディストリビューションで使用できます。WEはカーネルで確認できます/proc/net/wireless

リリース最後のバージョンがいたv2914&16が含まれているように見えるまだUbuntuのv30ベータ版を(iwconfig -v)。

このパッケージに何が起こったのか知りたいのですが?なぜ「ベータ」バージョン30が使用される事実上の標準バージョンになったのですか?

HPはJean Tourrhilesへの資金提供を停止したため、開発は中止されましたか?それとも、開発を停止するのに十分安定していると判断されたのかもしれませんが、そうであれば、まだベータ版である理由は何ですか?

私はこのGithubページを見つけましたが、これは歴史的な参照のみのようです。

バージョン履歴

バージョン履歴


「Linuxカーネルでワイヤレスツールバージョン30を使用した理由...」 -ワイヤレスツールはカーネルに含まれていません。ドライバーはカーネル内にあり、wireless-toolsは(a)カーネルスペースドライバーを構成するためのユーザースペースコンポーネントです。
marcelm 2017年

1
@marcelmコメントに基づいて質問にメモを追加しました。彼はカーネルにWEを追加したと思います/proc/net/wirelessが、ワイヤレスツール自体はカーネルの一部ではありません。私がそれについて間違っているかどうか知らせてください。
Philip Kirkbride 2017年

1
はい、WEはカーネルの一部です。より正確には、「Wireless Extensions」は、カーネルのワイヤレスプラミングによって公開されるユーザースペース<->カーネルスペースインターフェースの名前です。wireless-toolsは、そのインターフェースを使用して無線デバイスを操作します。それらは独立してバージョン管理されます。私のシステムでは、wireless-toolsはバージョン30であり、WEバージョン22で私のカーネル(4.9.0)と通信します:)
marcelm 2017年

回答:


17

ワイヤレスiwデバイスは、ワイヤレスデバイスの新しいnl80211インターフェースを支持して廃止されたため、ワイヤレスツールは廃止されました。iwカーネルのドキュメントはそれを言っています。

ただし、nl80211は活発に開発中であり、すべてのドライバーがそれに移行されているわけではありません。ワイヤレス拡張機能から移行されていないデバイスには、引き続きワイヤレスツールが必要です。

Ubuntu(および私が知っているほとんどすべてのディストリビューション)がバージョン30ベータを提供する理由は、そのバージョンがバージョン29にあった重大なバグを修正するためです。これは、バッファが原因でエリア内のネットワークが多すぎるとiwconfigが失敗する原因となりましたオーバーフロー。ワイヤレスツールのGithubリポジトリにはこれは表示されませんが、Archからの関連するパッチを以下に示します


17

このプロジェクトが中止された理由を論じているページへのリンクがあったため、私はより良くリンクしたQ / Aを読んだはずです。

WEはさらに開発されていますか?

いいえそうではありません。WEはバグ修正のみを受け付けています。

なぜ私たちはWEを放棄するのか

WESが基づいているioctl()とがioctl()依然として使用されてきたユーザとの間の通信のための標準的なトランスポートとして使用されている←→kernelspace新しいトランスポートは、いくつかの理由のために好ましいれます。

Linuxデバイスドライバー-第3版:

In user space, the ioctl system call has the following prototype:

int ioctl(int fd, unsigned long cmd, ...);

プロトタイプは、通常、関数が可変数の引数を持つものとしてマークするドットがあるため、Unixシステムコールのリストで際立っています。ただし、実際のシステムでは、システムコールは実際には可変数の引数を持つことができません。ユーザープログラムはハードウェア「ゲート」を介してのみアクセスできるため、システムコールには明確に定義されたプロトタイプが必要です。したがって、プロトタイプのドットは、可変数の引数ではなく、従来はとして識別されている単一のオプションの引数を表しますchar *argp。ドットは、コンパイル中に型チェックを行わないようにするためのものです。

それはまた述べています:

ioctl呼び出しの構造化されていない性質が原因で、カーネル開発者の間で支持されなくなりました。各ioctlコマンドは、本質的には、個別の、通常は文書化されていないシステムコールであり、これらのコールを包括的な方法で監査する方法はありません。非構造化ioctl引数をすべてのシステムで同じように機能させることも困難です。たとえば、32ビットモードで実行されているユーザースペースプロセスを備えた64ビットシステムについて考えてみます。

Wireless-Extensionsの交換とは

新しい開発はcfg80211とnl80211に焦点を合わせる必要があります。


補足: 1997年から2009年にかけて、Jean Tourrhilesがプロジェクトに取り組んだようです。TourrhilesがまだHPにいて、 OpenFlowというプロジェクトに取り組んでいるという 2014年記事を見つけました。

HPのJean Tourrhilesは、最新の技術を将来のバージョンのOpenFlowに組み込むための「編集者」として機能する、Extensibility Working Groupの議長も務めています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.