ITPub博客

首页 > Linux操作系统 > Linux操作系统 > RK3399 rk3288 RK3326 wIFi驱动移植说明

RK3399 rk3288 RK3326 wIFi驱动移植说明

原创 Linux操作系统 作者:tt7643066 时间:2020-08-03 14:17:43 0 删除 编辑

RK3399  rk3288 RK3326 w IFi驱动移植说明
1.  驱动修改说明:
1.  修改  RealTek wifi  驱动入口函数
一般来说, 
RealTek  的驱动, 都有统一的入口函数
Realtek USB WIFI  驱动入口在  wifi_dirver/os_dep/linux/usb_intf.c  的  rtw_drv_entry  函数中
Realtek SDIO WIFI  驱动入口在  wifi_dirver/os_dep/linux/sdio_intf.c  的  rtw_drv_entry  函数中
确认如下内容即可:
sta tic int __init rtw_drv_entry(void)
static void __exit rtw_drv_halt(void)
module_init(rtw_drv_entry);
module_exit(rtw_drv_halt);
2. 
修改  RealTek wifi  驱动  Makefile
CONFIG_PLATFORM_ANDROID_X86 = n
CONFIG_PLATFORM_ ARM_RK3188 = y
   3. RealTek wifi  驱动  debug LOG  开关
#define CO NFIG_DEBU G /* DBG_871X, etc... */  # 注释掉这行可以关闭掉  wifi  驱动的
debug  信息  


Re alTeK KO编译
1 、 如果是  3.0  内核需要将驱动解压到内核  kernel/drivers/net/wireless  目录下; 如果是  3.10
内核,解压到  kernel/drivers/net/wireless/rockchip_wlan
2
、一些使用相同驱动的需要先执行  make_drv  并选择,比如  8188etv or 8189es
3
、然后修改驱动源码包中的  Makefile  文件
ARCH := arm
#CROSS_COMPILE
:= /usr/src/release_fae_version/toolchain/arm-eabi-4.4.0/bin/arm-eabiKSRC := /xxxx/kernel #
这个改成实际内核的路径,也就是具体项目的内核路径  
在内核根目录直接运行 make modules 即可编译出相应的 wifi ko
5 、  ko  编译成功后,通过如下方式可以确定使用的  wifi  驱动版本:
方法 
1 :直接查看驱动源码  include/rtw_version.h
方法  2 :烧写固件后,进入  adb  或者串口  cat proc/net/rtl8822bs/drv_cfg  查看
rk3328_box:/ # cat proc/net/rtl8822bs/drv_cfg
Kernel Version: 3.10.104

Driver Version: v5.1.7_20554.20161209_COEX20161026-3434_aml
------------------------------------------------
CFG80211
RTW_USE_CFG80211_STA_EVENT
DBG:0
CONFIG_CONCURRENT_MODE
LOAD_PHY_PARA_FROM_FILE - REALTEK_CONFIG_PATH=/system/etc/firmware/
RTW_DEF_MODULE_REGULATORY_CERT=0x00
CONFIG_TXPWR_BY_RATE_EN=1
CONFIG_TXPWR_LIMIT_EN=0
CONFIG_RTW_ADAPTIVITY_EN = 0
CONFIG_TX_AGGREGATION
MAX_XMITBUF_SZ = 20480
MAX_RECVBUF_SZ = 65536
3. RealTek wifi  驱动中相关重要参数说明
1 、  SURVEY_TO ==> channel remain time;
定义位置在  include/rtw_mlme_ext.h  文件中。
#define SURVEY_TO (100)  说明每个  channel  扫描的时候保持的时间为 100ms
增大这个时间可以一定程度上提高扫描 
ap  数量稳定性,特别是对于信号强度比较差的
AP ,但是也会拉长一次扫描的时间,太大了反而影响其他  channel  扫描。一般情况下不建议
修改。
2 、  int rtw_channel_plan = RT_CHANNEL_DOMAIN_MAX; ==> channel set;
这个定义是  wifi  驱动  country code  定义,可以修改来使默认支持的通道数量比如 1~11
1~13 、  1~14 。默认情况下是 13 个通道,
RT_CHANNEL_DOMAIN_FCC ==> US
RT_CHANNEL_DOMAIN_ETSI ==> EU
RT_CHANNEL_DOMAIN_MKK ==> JP
RT_CHANNEL_DOMAIN_CHINA ==> CN
RT_CHANNEL_DOMAIN_GLOBAL_DOAMIN ==> IN
3 、  notify_signal ==> wifi signel level;
这个变量在文件  os_dep/linux/ioctl_cfg80211.c  中是每个扫描到的  AP  往上层上报  RSSI
大小的地方,修改这个可以改变设置中扫描到的所有  AP  的信号强度,比如在原先基础上增
大 
100*10 ,那么设置中所有的  AP  都将增大 10dbm  的信号强度。
一般情况下不建议修改,这个是信号认为造假的行文,对实际 通信没有任何好处,一
般信号问题都是硬件方面的问题,解决信号问题需要从硬件方面去改善或者优化才是最有
效的方法。
 
xcy-rk3399主板效果展示




xcy-rk3399主板 wifi支持列表





来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69948385/viewspace-2708803/,如需转载,请注明出处,否则将追究法律责任。

全部评论

注册时间:2019-09-14

  • 博文量
    29
  • 访问量
    22234