lsdk无线驱动与管理层的接口

lsdk无线驱动与管理层的接口

在linux的应用层,有wlanconfig 和iwconfig,iwpriv三个命令来配置和管理无线接口,在内核里有三种不同的处理方式与三者对应。

Wlanconfig 主要是创建虚拟接口; iwconfig 和iwpriv则可以配置无线接口。

当然还有hostpad也会对无线虚拟接口进行配置。

命令

Ioctl号

驱动对应的函数

应用的dev

wlanconfig

SIOCDEVPRIVATE 0x89FF,这是设备的私有接口。

Ath_ioctl()

Wifi0和wifi1这种物理接口。

Iwconfig/iwpriv/iwlist

SIOCIWFIRST---SIOCIWLAST (0x8B00—0x8BFF)

Linux/net/dev.c下的wext_handle_ioctl;然后是dev->wireless_handlers

Wifi0和athX两种类型的接口。

 

 

 

 

 

与wlanconfig命令相关的接口

Wlanconfig命令应用于wifi0这一类的物理接口,它的ioctl关键字是由linux系统提供的SIOCDEVPRIVATE(0x89FF), 专门为设备设计的私有接口,由dev->ndo_do_ioctl进行处理。

在设备一级的驱动里wifi0对应的处理函数ath_ioctl对应wlanconfig命令的处理。

 athdev_net_ops是wifi0硬件接口的操作接口。

 Iwlist和iwconfig

 

Iw系列命令有iwconfig iwlist和iwpriv三种。

dev->wireless_handlers 这是net_device专门用于处理无线配置的接口。

dev->wireless_handlers=ieee80211_iw_handler_def

ieee80211_iw_handler_def这个结构有相应的驱动给出。

iwlist和iwconfig是比较简单,它们的第二级命令都对应一个SIOCIWFIRST --- SIOCIWLAST之间的命令字。

如iwlist ath1channel的命令,对应的IOCTL是:SIOCGIWFREQ(0x8B05)。

其中它有standard和private两种,iwlist和iwconfig使用standard的处理部分。


与iwpiv相关的接口

 Iwpriv命令配置过程:

1. 读取出ifname接口上所有的priv信息。

2. Priv[i] 与cmdname进行对比,找出正确的priv[i].

3.  由于Priv[i].cmd有一些不是内核定义的,找到getparam或是setpram的priv,把priv[i].cmd赋值给subcmd。再使用getparam或是setpram的cmd进行ioctl操作。

Getparam在内核的处理过程如下:

  

iwpriv wifi0 全是与芯片有关的配置。

wifi0     Available private ioctls :

          setHALparam      (8BE0) : set   2 int  & get   0     

          getHALparam      (8BE1) : set   1 int  & get   1 int 

          DMABcnRespT      (0000) : set   1 int  & get   0     

          GetDMABcnRespT   (0000) : set   0      & get   1 int 

          SWBcnRespT       (0001) : set   1 int  & get   0     

          GetSWBcnRespT    (0001) : set   0      & get   1 int 

        ….

          get_decline_addb (1091) : set   0      & get   1 int 

 

iwpriv ath0 主要与mac层和80211协议相关的配置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值