rtl8723au rtl8723bs移植

rtl8723au
功能:wifi station、softap、wifi direct、bluetooth
接口类型:USB/PCM
rtl8723bs
功能:wifi station、softap、wifi direct、bluetooth
接口类型:SDIO/UART/PCM
编译模式:必须编译成模块加载,修改路径如下
rtl8723au rtl8723bs移植_第1张图片BoardConfig.mk
android4.4\device\softwinner\astar-y3
BoardConfig.mk 文件决定android 加载哪一款wifi 模组, 要配置成使用rtl8723bs模组需要把BoardConfig.mk 文件的相关代码修改成如下。rtl8723au rtl8723bs移植_第2张图片说明:
1、“#”符号起注释作用;
2、“BOARD_WIFI_VENDOR := realtek”指明使用realtek 系统wifi 模组;
3、“#BOARD_WIFI_VENDOR := broadcom”指明不使用broadcom 系统wifi 模组;
4、“SW_BOARD_USR_WIFI := rtl8723bs”、“BOARD_WLAN_DEVICE := rtl8723bs”宏指明
使用rtl8723bs 模组;
init.sun8i.rc
android4.4\device\softwinner\astar-y3
init.sun8i.rc 是资源和服务配置相关的文件,使用 rtl8723bs wifi 模组需要作如下修改(部分代码)。rtl8723au rtl8723bs移植_第3张图片rtl8723au rtl8723bs移植_第4张图片注意:
1、init.sun8i.rc 文件指定开启wpa_supplicant 和p2p_supplicant 两个服务;
2、需要确定 broadcom 对应的 wpa_supplicant 和 p2p_supplicant 两个服务被注释掉;
astar_y3.mk
android4.4\device\softwinner\astar-y3
astar-y3.mk 文件会在编译时拷贝指定文件到特定目录下,使用 rtl8723bs 需要做如下修改。rtl8723au rtl8723bs移植_第5张图片注意:
1、以上是把wifi direct 配置文件android.hardware.wifi.direct.xml 拷贝到指定目
录;
2、需要确定 broadcom 驱动加载 insmod/system/vendor/modules/bcmdhd.ko 被注释掉; 3、需要确定 broadcom 对应的 wpa_supplicant 和 p2p_supplicant 两个服务被注释掉;
config.xml
config.xml 文件路径:
android4.4\device\softwinner\astary3\overlay\frameworks\base\core\res\res\values\config.xml
rtl8723bs 驱动代码支持softap 功能,需要作配置才能在设置界面显示softap 功能,
具体的配置是在config.xml 中实现,修改的部份代码如下。rtl8723au rtl8723bs移植_第6张图片
sys_config.fex
lichee\tools\pack\chips\sun8iw5p1\configs\y3
sys_config.fex 文件决定使用哪款wifi模组和GPIO pin 的分配,要配置成使用rtl8723bs 模组需要把sys_config.fex 文件修改成如下(部分代码)。rtl8723au rtl8723bs移植_第7张图片rtl8723au rtl8723bs移植_第8张图片说明:
1、“;”符号起注释作用;
2、“wifi_used”宏赋值为1 表示使用wifi,为0 表示不使用;
3、“wifi_sdc_id”宏表示使用哪个SD 接口连接SDIO wifi;
4、“wifi_mod_sel”宏表示选用哪一款wifi 模组;
5、“wifi_power”、“wifi_power_ext1”及“wifi_power_ext2”宏表示给模组供电的pin
脚,最多支持3路;rtl8723bs采用axp 的axp22_aldo1、axp22_dldo2及axp22_ldo4;如果只需要2路,则“wifi_power_ext2”为空字符串。wifi_power_swtich表示wifi供电电源开关gpio,如果硬件上没有应该置为空。

6 、“ rtl8723bs_chip_en ”、“ rtl8723bs_wl_regon ”、“ rtl8723bs_wl_host_wake ”、 “ rtl8723bs_bt_regon ”、“ rtl8723bs_bt_wake ”、“ rtl8723bs_bt_host_wake ” 是
rtl8723bs的控制引脚;rtl8723bs_chip_en脚可以不用gpio控制,不用gpio控制时,必
须上拉,保证为高电平。
7、“rtl8723bs_lpo_use_apclk”表示rtl8723bs是否采用主控的32k作为时钟输入,0表
示不采用,1表示采用。
注意:
1、rtl8723bs模组的供电pin “wifi_power”、**wifi_power_ext1”及“wifi_power_ext2”**需要根据具体硬件电路而设定;
2、rtl8723bs_wl_host_wake”、“rtl8723bs_bt_host_wake”必须连接到可以产生 GPIO中断的 pin 脚,且在系统休眠时带电;
Bluetooth
要使用 rtl8723bs 蓝牙功能需要做 8 个修改,分别如下:
(1) 内核中把支持蓝牙休眠功能选择上,具体修改如下。rtl8723au rtl8723bs移植_第9张图片(2)修改BoardConfig.mk 文件,让其支持rtl8723bs 蓝牙功能,修改如下。rtl8723au rtl8723bs移植_第10张图片(3) 修改 init.sun8i.rc 文件,设置蓝牙的属性信息,修改如下。
注意: rtl8723bs 需要在启动阶段将 lpm 写 1rtl8723au rtl8723bs移植_第11张图片rtl8723au rtl8723bs移植_第12张图片(4) 修改 astar_y3.mk 文件,添加 tablet_core_hardware.xml 文件,使界面显示蓝牙开关;rtl8723bs 支持 bt le 功能,需要加入 bluetooth_le.xml 系统才能支持;加入rtl8723bs 蓝牙功能使用的 firmware;打包编译 Bluetooth.apk;加入系统属 性
ro.product.8723b_bt.used 为 true,表示使用 rtl8723bs bt 功能rtl8723au rtl8723bs移植_第13张图片(5)rtl8723bs 支持蓝牙共享网络功能,需要在 config.xml 配置才能支持。
config 文件路径:\android4.4\device\softwinner\astary3\overlay\frameworks\base\core\res\res\values\config.xmlrtl8723au rtl8723bs移植_第14张图片(6) 修改 sys_config.fex 文件,把使用蓝牙项打开并且打开 uart1rtl8723au rtl8723bs移植_第15张图片(7) 拷贝 rtl8723bs bt 配置文件到方案 bluetooth 目录
拷贝 android/device/softwinner/astar-y3/bluetooth/bdroid_buildcfg.h 配置文件到/device/softwinner/xxxxx/bluetooth/目录,同时修改 BTM_DEF_LOCAL_NAME 选项,设置机器默认蓝牙名称。

(8) 添加方案 bt vendor 配置文件 vnd_xxx.txt
hardware\realtek\bluetooth\rtl8723bs\libbt-vendor\include
xxx: 表示方案名,如 astar-y2、astar-y3 等
vnd_xxx.txt 文件可以拷贝 vnd_astar-y3.txt,然后更名为 vnd_xxx.txt,然后根据需要修改对应配置项。BLUETOOTH_UART_DEVICE_PORT 表示 bt 通信的 uart 节点UART_TARGET_BAUD_RATE uart 波特率其它项可以不用修改

wifi&bt wake host
Rtl8723bs 支 持 wifi 、 bt 唤 醒 休 眠 主 控 功 能 , 只 需 要 在 sys_config.fex 的[wakeup_src_para]主键中做添加即可,具体修改如下。rtl8723au rtl8723bs移植_第16张图片说明:
1、“wakeup_src_wl”、“wakeup_src_bt”子键是为wifi和bt唤醒主休眠主控而添加的; 2 、“wakeup_src_wl”、“wakeup_src_bt” 中所指定的pin 必须与[wifi_para] 主键下rtl8723bs 中的“rtl8723bs_bt_host_wake”、“rtl8723bs_wl_host_wake”指定的pin 保
持一致;
注:
1、模组使用哪些pin 做为rtl8723bs 的控制需要根据具体平台而定;

你可能感兴趣的:(瑞昱,rtl8723au,rtl8723bs,linux,android)