文档章节

WEXT/mac80211/nl80211/cfg80211

s
 sflfqx
发布于 2014/09/29 17:11
字数 529
阅读 1383
收藏 1
  • Wireless-Extensions--旧的无线驱动框架

  • mac80211--为softMAC驱动服务的API

  • cfg80211--新的配置API

  • nl80211--新的用户控件<->内核空间通讯方式

组件交互的基本原理图
[Wireless Card]
      |
[Linux Kernel ]
  |    |
[udev][libnl]-[iw]      
   |  /   \      
[crda]    \     
    |       \     
[ Wireless ] |
[Regulatory] |
[ Database ] |
             |
             |
        [ hostapd ]
理解每一部分是做什么的
Wireless Card: Should be self explanitory... handles sending/receiving wireless packets
无线网卡:操作接收/发达无线包
Linux Kernel: The linux kernel contains the driver for the wireless card, the mac80211 subsystem which handles packet generation and scheduling, and the nl80211 subsystem, which handles configuring the wireless interfaces for userspace
linux核:linux核包涵了无线网尗的驱动,mac80211子系统处理包的产生与时序安排。nl80211处理在用户空间配置无线接口  cfg80211
libnl: libnl is the transport layer used to communicate with the kernel via netlink
libnl:通过netlink与内核对话的传输层
udev: udev is the facility the kernel uses to pass events/calls to crda
udev:udev是内核通过events/calls到 crda的设施
iw: iw is a userspace utility that we can use to test that libnl is working correctly, as well as create additional virtual wireless interfaces on the wireless card
iw:是我们用来测试libnl是否正确工作,以及在无线网卡上创建额外的虚拟无线接口的用户空间工具
crda: crda is a userspace program that the kernel queries (through udev) to find what channels/frequencies are usable, and at what powers. This moves the information out of static tables maintained in kernel to userspace, which allows them to be updated without reloading drivers/rebooting
crda:是内核通过udev来查找什么频段/频率是有效的,在什么强度的用户空间程序。这个从内核维护的静态表中移到用户空间,它可以不需要重载驱动和重启的情况下更新。
Wireless Regulatory Database: database of allowable frequencies and transmit power levels used by crda
无线控制数据库:crda使用允许的频率和传输强度等级的数据库
hostapd: This is the daemon that handles generation of beacons and other wireless packets, as wel as wpa-psk, wpa2, etc encryptions.
hostapd:这是个用来操作信号的产生和其它无线包,以及wpa-psk, wpa2等加密的守护进程
softMAC是一个用于描述无线网尗的类型的一个术语。


本文转载自:http://blog.csdn.net/saturnbj/article/details/7208784

共有 人打赏支持
s
粉丝 42
博文 202
码字总数 0
作品 0
深圳
高级程序员
linux Wireless基础知识(cfg80211 mac80211 nl80211)

基本概念 • cfg80211: 用于对无线设备进行配置管理。与FullMAC, mac80211和nl80211一起工作。(Kernel态) • mac80211: 是一个driver开发者可用于为SoftMAC无线设备写驱动的框架 (Kernel态)...

sflfqx
2014/12/08
0
0
Linux wext和nl80211接口简介

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

sflfqx
2014/07/29
0
1
wpa_supplicant与kernel的接口

接口定义实现wpa_drivers wpa_drivers的定义如下: [cpp] view plaincopy struct wpadriverops *wpa_drivers[] = { #ifdef CONFIGDRIVERWEXT &wpadriverwext_ops, // 我的系统使用的这个老的......

sflfqx
2014/09/29
0
0
linux 无线网卡设置(加载驱动)-Broadcom网卡通用

我的笔记本是acer的,装上fedora16 后发现无线不能用。幸好有线能用,就在网上查相关资料说是可以通过 “ndiswrapper”模拟运行windows下的驱动,但是试了几次没有成功,可能是驱动对不上号吧...

crazypenguin
2012/06/29
0
2
wpa_supplicant与kernel交互

wpa_supplicant与kernel交互的操作,一般需要先明确驱动接口,以及用户态和kernel态的接口函数,以此来进行调用操作。这里分为4个步骤讨论。 1.首先需要明确指定的驱动接口。因为有较多的驱动...

sflfqx
2014/07/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

解决访问swaggerUI接口文档显示basic-error-controler问题

使用swagger生成接口文档后,访问http://localhost:8888/swagger-ui.html#/,显示如下: 解决方法: public Docket createRestApi() {return new Docket(DocumentationType.SWAGGER_2)......

张欢19933
25分钟前
1
0
区块链教程以太坊源码分析core-state-process源码分析(二)

兄弟连区块链教程以太坊源码分析core-state-process源码分析(二):关于g0的计算,在黄皮书上由详细的介绍和黄皮书有一定出入的部分在于if contractCreation && homestead {igas.SetUin...

兄弟连区块链入门教程
30分钟前
0
0
BLAKE2 — fast secure hashing

BLAKE2 — fast secure hashing SPECS | CODE | B2SUM | CONTACT | USERS | THIRD-PARTY SOFTWARE | CRYPTANALYSIS | FAQ Come from http://www.blake2.net/ BLAKE2 is a cryptographic has......

openthings
36分钟前
4
0
Titan Framework MongoDB深入理解3

在前两篇文章中,我们介绍了操作Mongo数据库的类型Curd和Finder,下面要理解的是框架内mongoDB操作的条件类型——MongoDBQueryCondition。 MongoDBQueryCondition是一个接口,规定了一些实现...

云季科技
36分钟前
0
0
数据结构(算法)-树

#include <iostream>#include <malloc.h>using namespace std;#define MaxSize 100typedef char ElemType;typedef struct node{ElemType data;struct node *left ,*......

ashuo
38分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部