77范文网 - 专业文章范例文档资料分享平台

Atherose pb42无线AP简要分析 (2)(3)

来源:网络收集 时间:2018-12-27 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

Hostapd模块结构图

4.2 wsc

wsc是Intel给出的实现WiFi的WPS规范的一个参考实现代码。本项目中目前还没有使用,暂不分析。

5 功能分析

5.1 无线模块启动脚本

/etc/rc.d/rcS

? 调用/etc/rc.d/rc.network包含了/etc/ath/apcfg,设置了如下宏

? AP_IPADDR=192.168.1.2

? AP_NETMASK=255.255.255.0 ? WAN_MODE=bridged

? WAN_IPADDR=192.168.2.1 ? WLAN_ON_BOOT=n

? AP_STARTMODE=standard ? AP_PRIMARY_CH=6 ? AP_SECONDARY_CH=-1

? AP_IFNUM=0:RF:$AP_PRIMARY_CH:$AP_SECONDARY_CH ? AP_IFNUM_2=0::$AP_PRIMARY_CH:$AP_SECONDARY_CH ? AP_IFNUM_3=0::$AP_PRIMARY_CH:$AP_SECONDARY_CH

? AP_IFNUM_4=0::$AP_PRIMARY_CH:$AP_SECONDARY_CH ? AP_MODE=ap

? TXQUEUELEN=1000 ? SHORTGI=1 ? AMPDU=1

? AMPDULIMIT=50000 ? RATECTL=auto

? MANRATE=0x8c8c8c8c ? MANRETRIES=0x04040404 ? RX_CHAINMASK=7 ? TX_CHAINMASK=5 ? AP_SSID=Atheros_Xspan ? ATH_use_eeprom=1

? 由于apcfg脚本中定义WLAN_ON_BOOT=n,因此没有执行/etc/ath/apup,后面

又单独调用makeVAP脚本来启动AP,这点比较奇怪。 ? /etc/ath/makeVAP ap Atheros_AP71 0:RF:8:-1 ? ifconfig ath0 up ? brctl addif br0 ath0 /etc/ath/makeVAP

? 调用格式makeVAP ? 取值:ap, ap-wds, sta, sta-wds

? 的格式::RF:< PRIMARY_CH>:< SECONDARY_CH>,如

果不设置无线模块物理参数,可以简单的写RF ? 单位为毫秒

? 检查是否有已经装入了ath_pci*模块,如果没有则调用/etc/ /rc.d/rc.wlan up ? APNAME=`wlanconfig ath create wlandev wifi$IFNUM wlanmode

${MODE}`

? APMODE=\

? 如果模式中包含wds,则iwpriv ${APNAME} wds 1 ? 禁用后台扫描,iwpriv ${APNAME} bgscan 0 ? 设置调试模式掩码:

? DEBUGMODE=0x100

? echo $DEBUGMODE > /proc/sys/net/${APNAME}/debug ? 设置其他无线模块物理参数

/etc/rc.d/rc.wlan

? 使用了如下环境变量

DFS_domainoverride 0=Unitialized (default),

1=FCC Domain (FCC3, US) 2=ETSI Domain (Europe) 3=Japan Domain

DFS_usenol 1=Use channel NOL (default)

ATH_countrycode Set Country Code (Override the use of channel NOL

Override default country code (-1 auto, default)

Use country code 0x1ff for demo channels ATH_outdoor 0=Disable (default) 1=Enable

ATH_xchanmode 0=Disable Extended Channels

1=Enable Extended Channels (default) ATH_use_eeprom 0=Use Flash for Calibration Data (default) 1=Use EEPROM for Calibratin Data ATH_force_11a_ch 1=Force AP to use 11na channels only 0=Use all channels

ATH_debug Load time debug flags, 0x00000000 default

? DFS_ARGS=” domainoverride = $DFS_domainoverride usenol =

$DFS_usenol”

? PCI_ARGS=” countrycode=$ATH_countrycode outdoor=$ATH_outdoor

xchanmode=$ATH_xchanmode use_eeprom = $ATH_use_eeprom ath_debug = $ATH_debug”

? insmod $MODULE_PATH/ath_dfs.ko $DFS_ARGS ? insmod $MODULE_PATH/ath_hal.ko ? insmod $MODULE_PATH/wlan.ko

? insmod $MODULE_PATH/ath_rate_atheros.ko ? insmod $MODULE_PATH/ath_pci.ko $PCI_ARGS ? insmod $MODULE_PATH/wlan_xauth.ko ? insmod $MODULE_PATH/wlan_ccmp.ko ? insmod $MODULE_PATH/wlan_tkip.ko ? insmod $MODULE_PATH/wlan_wep.ko ? insmod $MODULE_PATH/wlan_acl.ko ? insmod $MODULE_PATH/ath_pktlog.ko

5.2 VAP功能

Atheros的无线驱动最多支持4个虚拟AP(Virtual AP, VAP),在系统中动态可以创建最多4个虚拟网络设备,虚拟网络设备与物理网络设备的关系如下图所示。

ath0 ath1 ath2 ath3 MAC层

wifi0 物理驱动层

虚拟AP的创建和注销由工具wlanconfig完成。

5.2.1 创建一个VAP

wlanconfig create wlandev <物理网络设备名> wlanmode [nosbeacon]

wlanconfig SIOC80211IFCREATE类型ioctl() 用户层 ath_ioctl() 内核层 ieee80211_ioctl_create_vap() 分配资源 ath_vap_create () alloc_etherdev() ieee80211_vap_setup () ieee80211_vap_attach () register_netdevice() 5.2.2 注销一个VAP

wlanconfig destroy

wlanconfig SIOC80211IFDESTROY类型ioctl() 用户层 ieee80211_ioctl() 内核层 ath_vap_delete () ieee80211_vap_detach () unregister_netdevice() 5.3 设备初始化

插入ath_pci.ko模块时,内核调用该模块的初始化函数init_ath_pci(),该函数调用内核pci_register_driver()注册所支持PCI设备ID和操作函数集。内核比对PCI Scan时找到的PCI设备ID,如果发现有该驱动程序支持的PCI设备ID则调用该驱动函数的probe()函数。对应的是ath_pci_probe(),它完成物理设备的创建和初始化。流程如下图所示。

使能PCI设备 读入PCI配置参数 分配并初始化 struct net_dev,设备名:wifi0 调用ath_attach(),初始化HAL、设置操作函数集、初始化队列……

5.4 数据接收

为了避免过多占用CPU中断时间,Atheros的数据接收也采用了延后处理的机制,中断处理函数的根据硬件中断的原因启动相应的工作队列进行处理,然后中断直接返回,实际的处理工作由工作队列来完成。

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库Atherose pb42无线AP简要分析 (2)(3)在线全文阅读。

Atherose pb42无线AP简要分析 (2)(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/391962.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: