wpa_supplicant 2.0版源代码阅读(4)---- Linux wext和nl80211接口简介

本文介绍了Linux无线驱动的两种标准接口wext和nl80211,详细阐述了它们的发展历程、功能特点及优缺点。wext作为早期接口,通过ioctl与netlink socket传递驱动事件,而在nl80211接口出现后,由于netlink技术的优势逐渐取代wext,成为主流。nl80211接口在协议扩展性和性能上更具优势,且wpa_supplicant可根据无线驱动接口选择相应的配置方式。
摘要由CSDN通过智能技术生成

4.  linux无线驱动接口简介

    在分析wpa_supplicant软件linux版本下无线驱动事件和无线驱动配置代码之前,先简单介绍下linux无线驱动接口的实现技术和发展情况。

    Linux无线驱动接口有两种标准接口,wext(Wireless Extensions无线扩展接口)和nl80211接口。

    在linux-2.6.18版本之前,linux内核代码中并没有提供无线驱动接口以及无线驱动协议栈。wext是由开发者Jean Tourrilhes (惠普实验室软件工程师)定义的一套供用户层软件访问无线驱动以及驱动事件通知用户层的接口。当时无线驱动的协议栈软件比较多,如开源项目hostap,madwifi,mac80211,ieee80211协议栈以及无线芯片厂商自己实现的协议栈,基本都使用wext接口。wext接口也逐渐成为一套标准的接口。在linux-2.6.18版本,wext和mac80211协议栈并入内核,成为linux kernel的一部分。wext接口随着802.11协议从802.11,802.11b,802.11a/g的发展,,其API也不断增加,伴随着就是其wext的版本号不断变化。

    wext的接口实现上,应用层采用ioctl方式访问驱动,设置无线参数或者获取无线参数,配置无线驱动进行联网操作。无线驱动事件到应用层的传递采用的netlink socket技术,一种netlink route消息技术。这也是很多其他类型的驱动标准的实现方法。但在linux-2.6.25(记得不是很清楚了,懒得确定了)之后,wext API接口版本停止在V22就不再进行更新了。而替代其的是nl80211接口。

    nl80211接口其实在linux-2.6.18并入wext和

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值