打印
[嵌入式Linux]

RK3399 rk3288 RK3326 wIFi驱动移植说明

[复制链接]
1391|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
RK3399 rk3288 RK3326 wIFi驱动移植说明
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 函数中
确认如下内容即可:
static 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 CONFIG_DEBUG /* DBG_871X, etc... */ #注释掉这行可以关闭掉 wifi 驱动的
debug 信息


RealTeK 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
5ko 编译成功后,通过如下方式可以确定使用的 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 驱动中相关重要参数说明
1SURVEY_TO ==> channel remain time;
定义位置在 include/rtw_mlme_ext.h 文件中。
#define SURVEY_TO (100) 说明每个 channel 扫描的时候保持的时间为100ms
增大这个时间可以一定程度上提高扫描
ap 数量稳定性,特别是对于信号强度比较差的
AP,但是也会拉长一次扫描的时间,太大了反而影响其他 channel 扫描。一般情况下不建议
修改。
2int rtw_channel_plan = RT_CHANNEL_DOMAIN_MAX; ==> channel set;
这个定义是 wifi 驱动 country code 定义,可以修改来使默认支持的通道数量比如1~11
1~131~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
3notify_signal ==> wifi signel level;
这个变量在文件 os_dep/linux/ioctl_cfg80211.c 中是每个扫描到的 AP 往上层上报 RSSI
大小的地方,修改这个可以改变设置中扫描到的所有 AP 的信号强度,比如在原先基础上增
100*10,那么设置中所有的 AP 都将增大10dbm 的信号强度。
一般情况下不建议修改,这个是信号认为造假的行文,对实际通信没有任何好处,一
般信号问题都是硬件方面的问题,解决信号问题需要从硬件方面去改善或者优化才是最有
效的方法。

xcy-rk3399主板效果展示


xcy-rk3399主板 wifi支持列表






使用特权

评论回复

相关帖子

沙发
sw10086| | 2020-8-3 09:12 | 只看该作者
感谢分享,rk3288+rtl8189ftv没调成功,可以给点意见吗

使用特权

评论回复
板凳
1348795481| | 2020-8-3 16:09 | 只看该作者
多谢分享,学习下

使用特权

评论回复
地板
dufanghua| | 2020-8-3 16:52 | 只看该作者
移植过ap6356的路过

使用特权

评论回复
5
1348795481| | 2020-10-16 16:39 | 只看该作者
8189调式成功了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:承接MID、Android TV等项目定制 QQ:7643066

107

主题

422

帖子

5

粉丝