关于cfg80211

关于cfg80211转至 http blog csdn net robertsong20 article details 关于 cfg80211cfg8 是 Linux802 11 配置 API cfg80211 用于取代 Wireless Extensions nl80211 用来配置一个 cfg80211 设备 用于内核用户空间之间的通信 Wi

转至:http://blog.csdn.net/robertsong2004/article/details/

关于 cfg80211




cfg80211是Linux 802.11配置API。 cfg80211用于取代Wireless-Extensions。 nl80211用来配置一个cfg80211设备,用于内核< - >用户空间之间的通信。 Wireless extensions 现在处于维护模式,将不会添加新的功到它上面,我们只修复bug。cfg80211现在与wireless-extensions是完全特性兼容的,它实际上有更多的功能,这些功能wireless extension根本是没有的,而且以后也不会有。当实现一个cfg80211驱动时,仍然会通过CONF​​IG_CFG80211_WEXT为你自动提供wireless extensions的支持,不再需要无线扩展的发行版可以删除它,我们也鼓励他们这样做。 cfg80211还提供了完整的regulatory支持,这是通过wireless-regdb 和CRDA的使用来实现的。

所有新的Linux无线驱动程序应该面向fullmac设备的cfg80211或softmac设备的mac80211编程。

cfg80211 驱动编程



我们现在有一些cfg80211驱动,一个完整的cfg80211驱动的很好的例子是Atheros ath6kl驱动程序。 取代之前的wext ioctls 编程,你现在通过设置cfg80211回调和wiphy结构体来告知cfg80211其设备信息。

static struct cfg80211_ops ath6kl_cfg80211_ops = {  .add_virtual_intf = ath6kl_cfg80211_add_iface, //. 结构体初始化  .del_virtual_intf = ath6kl_cfg80211_del_iface,  .change_virtual_intf = ath6kl_cfg80211_change_iface,  .scan = ath6kl_cfg80211_scan,  .connect = ath6kl_cfg80211_connect,  .disconnect = ath6kl_cfg80211_disconnect,  .add_key = ath6kl_cfg80211_add_key,  .get_key = ath6kl_cfg80211_get_key,  .del_key = ath6kl_cfg80211_del_key,  .set_default_key = ath6kl_cfg80211_set_default_key,  .set_wiphy_params = ath6kl_cfg80211_set_wiphy_params,  .set_tx_power = ath6kl_cfg80211_set_txpower,  .get_tx_power = ath6kl_cfg80211_get_txpower,  .set_power_mgmt = ath6kl_cfg80211_set_power_mgmt,  .join_ibss = ath6kl_cfg80211_join_ibss,  .leave_ibss = ath6kl_cfg80211_leave_ibss,  .get_station = ath6kl_get_station,  .set_pmksa = ath6kl_set_pmksa,  .del_pmksa = ath6kl_del_pmksa,  .flush_pmksa = ath6kl_flush_pmksa,  CFG80211_TESTMODE_CMD(ath6kl_tm_cmd) #ifdef CONFIG_PM  .suspend = __ath6kl_cfg80211_suspend,  .resume = __ath6kl_cfg80211_resume, #endif  .start_ap = ath6kl_start_ap,  .change_beacon = ath6kl_change_beacon,  .stop_ap = ath6kl_stop_ap,  .del_station = ath6kl_del_station,  .change_station = ath6kl_change_station,  .remain_on_channel = ath6kl_remain_on_channel,  .cancel_remain_on_channel = ath6kl_cancel_remain_on_channel,  .mgmt_tx = ath6kl_mgmt_tx,  .mgmt_frame_register = ath6kl_mgmt_frame_register,  .sched_scan_start = ath6kl_cfg80211_sscan_start,  .sched_scan_stop = ath6kl_cfg80211_sscan_stop, };



然后你通过指定cfg80211 ops分配wiphy并填写wiphy。

Regulatory



Linux wireless regulatory 文档:

  • Addressing vendor concerns
  • Regulatory statement by developer on responsibility
  • Linux wireless regulatory documentation
  • Regulatory processing rule documentation
  • CRDA documentation

其他文档



cfg80211 文件和内核文档



  • include/net/cfg80211.h (kerneldoc)
  • cfg80211 kerneldoc warnings
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/219412.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午10:36
下一篇 2026年3月17日 下午10:37


相关推荐

  • 国内不用备案的cdn_2018年广电总局电影备案查询

    国内不用备案的cdn_2018年广电总局电影备案查询随着行业老大哥百度云加速的CDN关闭,不,不能说是关闭,是不再面向国外用户(实则是不再面向未备案中国用户),喜欢简单而快捷方式的草根大佬们不知道该何去何从,特别是用习惯了CDN的大佬,更是讨厌裸奔的感觉,没了层CDN,还真就觉得不安全了!事实上,CDN确实让我们的网站加速了不少,当然,排除那些劣质的CDN,有人可能会感觉不用CDN自己的网站反而会快很多,这个是错误的认知,你的网站访问不大的…

    2025年10月21日
    3
  • Anaconda:在Pycharm中使用Anaconda的解释器

    Anaconda:在Pycharm中使用Anaconda的解释器我先从我的认识简单总结一下 搭建 Python 环境的常见模式是安装一个 Python 的 IDE 集成开发环境 再使用 pip 或 conda 等命令安装特别扩展的第三方包 常见的 PythonIDE 平台简单列举如下 1 Python 自带的 IDE IDLE 优点是小巧 缺点是需要另外安装很多 Python 包 2 Anaconda 平台 优点是已包含很多 Python 第三方包 使用比较方便 缺点是

    2026年3月27日
    3
  • 鸿蒙系统为什么能用太极框架,玩机福音:华为 EMUI 升级鸿蒙之后依然可使用太极运行 Xposed…

    鸿蒙系统为什么能用太极框架,玩机福音:华为 EMUI 升级鸿蒙之后依然可使用太极运行 Xposed…众所周知,搞机圈中安卓玩机用户需要先进行ROOT和安装Xposed,而iOS则需要越狱。安卓手机用户要想运行Xposed模块除官方框架外还有多种类Xposed框架,例如EdXp、LSP、Dreamland(梦境框架)等Riru框架(SandHook、YAHFA)、Epic(太极)、BugHook(应用转生)等。而原生Xposed自安卓8.1以后早已停止维护,因此新版…

    2022年6月4日
    181
  • webpack中的publicPath路径问题(output和DevServer中的publicPath的作用)

    webpack中的publicPath路径问题(output和DevServer中的publicPath的作用)在 webpack 的配置文件中 output 和 devServer 中都可以设置一个 publicPath 属性 那么两者的作用有什么不同呢 嗯 稍微的分析一下 1 publicPath 在 output 属性里面 设置的其实是一个基础的路径 它会为我们所有的资源都应用上 publicPath 设置的值 然后再接上资源对应转换出来的路径 怎么理解呢 看一下例子就知道了我们在配置文件中设置了一下的值 output

    2026年3月19日
    1
  • ubuntu server install 安装中文(搜狗)输入法

    ubuntu server install 安装中文(搜狗)输入法

    2021年9月7日
    109
  • python中的静态方法和类方法

    python中的静态方法和类方法

    2021年11月19日
    52

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号