我在这里找到了一些有关无线工具的好信息问答。显然它是由 Jean Tourrhiles 在 1997 年由 Hewlett Packard 赞助引入Linux 内核的。
编辑:看来 WE(无线扩展)是由 Tourrhiles 添加到内核中的,而不是无线工具本身。大多数发行版上都提供了这些工具,作为与 WE 沟通的主要方式。您可以在内核中看到 WE /proc/net/wireless
。
这最后发布的版本Ubuntu 14 和 16似乎v29
还包含v30
beta 版 ( iwconfig -v
)。
我很好奇这个包裹怎么了?为什么“beta”版本30成为事实上的标准版本?
惠普是否停止了对 Jean Tourrhiles 的资助,导致开发停止了?或者也许认为它足够稳定而停止开发,但如果是这样的话,为什么 30 仍然是测试版呢?
我找到了这个Github页面但似乎仅供历史参考。
版本历史
答案1
答案2
我应该仔细阅读我链接的问答,因为有一个讨论页面的链接为什么这个项目被放弃了:
WE正在进一步发展吗?
不它不是。 WE 只接受错误修复。
为什么我们要放弃WE
WE 基于
ioctl()
并且尽管ioctl()
已经被使用并且仍然被用作用户←→内核空间之间通信的标准传输,但出于多种原因,新的传输被首选。来自 Linux 设备驱动程序 - 第三版:
In user space, the ioctl system call has the following prototype: int ioctl(int fd, unsigned long cmd, ...);
该原型由于点的存在而在 Unix 系统调用列表中脱颖而出,这些点通常将函数标记为具有可变数量的参数。然而,在真实的系统中,系统调用实际上不能具有可变数量的参数。系统调用必须有一个明确定义的原型,因为用户程序只能通过硬件“门”访问它们。因此,原型中的点代表的不是可变数量的参数,而是单个可选参数,传统上标识为
char *argp
。这些点只是为了防止编译期间进行类型检查。它还指出:
该调用的非结构化性质
ioctl
导致它不再受到内核开发人员的青睐。每个ioctl
命令本质上都是一个单独的、通常未记录的系统调用,并且无法以任何全面的方式审核这些调用。使非结构化ioctl
论证在所有系统上都同样有效也很困难;例如,考虑 64 位系统,其中用户空间进程以 32 位模式运行。Wireless-Extensions 的替代品是什么
新的开发应该集中在cfg80211和nl80211上。
边注:Jean Tourrhiles 似乎在 1997 年至 2009 年间致力于该项目。我找到了一个2014年的文章说图尔希尔斯仍在惠普,从事一个名为开放流:
HP 的 Jean Tourrhiles 还担任可扩展性工作组的主席,该工作组充当“编辑”的角色,推动最新技术融入 OpenFlow 的未来版本