无线驱动移植与开发-realtek

SDK目录

无线驱动移植与开发-realtek_第1张图片
驱动

代码路径为DriverSrcPkg下的driver,根据howtomake 修改platform.mk,config.mk以及Makefile


platform.mk,针对交叉编译的平台做配置
自定义CONFIG_PLATFORM,并根据平台修改以下config
1、ARCH 内核架构 :arm or mips
2、CROSS_COMPILE: 交叉编译链的路径
3、KSRC:kernel代码路径
4、EXTRA_CFLAGS += -D_LITTLE_ENDIAN_ 大小端


config.mk
根据芯片类型,以及支持的功能配置


用Makefile_nrs直接覆盖Makefile


编译

直接在Driver目录下直接make

用户态


修改每个工具中的Makefile中的CROSS_COMPILE 以及大小端问题,如auth,wsc

编译

直接make

SCRIPT

sdk中提供了很多script ,用于配置驱动,重要的有两个
1、init.sh 初始化驱动
2、default_setting.sh 生成默认配置,路径为"/var/rtl8192c"

其他的脚本都是针对某个独立功能添加的,可以作为参考,也可以自己根据porting guide中的配置自己写

配置文件
所有的配置均在/var/rtl8192c,具体每个值的意义参考porting guide 第四章


iwpriv MIB
iwpriv 的节点,与配置文件中的参数一一对应,可以动态获取驱动配置

Bring up wifi
1、insmod wlan.ko
2、default_setting.sh wlan0
3、将自定义的config 修改到/var/rtl8192c
4、init.sh
5、ifconfig wlan0 up

开发功能流程
方法一:完全重启
针对每个独立的功能,将配置修改后重新拉起wifi,完整的init.sh会读取修改的配置,配置driver
具体的节点值,在Porting Guide中列举了详细的说明
如修改ssid,只要 echo “newssid” > /var/rtl8192c/wlan0/ssid即可


方法二:部分重启
使用iwpriv MIB 的方法
ifconfig wlan0 down
iwpriv wlan0 set_mib MIB=XXX
ifconfig wlan0 up

无线校准


对应的功率表配置有
tx_power_cck_a //11b ant 0
tx_power_cck_b //11b ant 1
tx_power_ht40_1s_a// 11n ant 0
tx_power_ht40_1s_b//11n ant 1
tx_power_diff_ht20//11n ht20 offset
tx_power_diff_ht40_2s//11n ht40 mimo offset
tx_power_diff_ofdm//11g offset
每个值都是28个16进制,代表了14channel,制式是最高速率

而如果要设置低速率,需要将mib中disable_pwr_by_rate设置为0,然后修改驱动中对应芯片的配置表
如8192es 就要修改WLANHAL/data/8192e.PHT_REG_PG_8192Emp.txt

11n_ther 温补
11n_xcap 频偏

校准过程使用mp mode,具体过程不再赘述,参考realtek mp flow

参考文档

RTL819x_AIO_porting_guide

RTL8192EE_COB_MP_FLOW

你可能感兴趣的:(WiFi)