RTL8723BU-WiFi-BT模块移植(WiFi部分)_第1页
RTL8723BU-WiFi-BT模块移植(WiFi部分)_第2页
RTL8723BU-WiFi-BT模块移植(WiFi部分)_第3页
RTL8723BU-WiFi-BT模块移植(WiFi部分)_第4页
RTL8723BU-WiFi-BT模块移植(WiFi部分)_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、本次修改基于厂商提供的RTL8723BU_WiFi_linux_v4.3.16_14189.20150519_BTCOEX2015119-5844包下载链接:/detail/bhj1119/9761769一 修改记录:1.配置linux内核 (1)Networking support -Wireless下增加802.11 协议栈的支持- Wireless cfg80211 - wireless configuration API* nl80211 testmode command * enable developer warnings * cfg8

2、0211 regulatory debugging* enable powersave by default cfg80211 DebugFS entries use statically compiled regulatory rules database * cfg80211 wireless extensions compatibility * Wireless extensions sysfs files-*- Common routines for IEEE802.11 drivers lib80211 debugging messages * Allow reconnect whi

3、le already connected Generic IEEE 802.11 Networking Stack (mac80211) PID controller based rate control algorithm * Minstrel* Minstrel 802.11n support Default rate control algorithm (Minstrel) - * Enable mac80211 mesh networking (pre-802.11s) support * Enable LED triggers Export mac80211 internals in

4、 DebugFS Select mac80211 debugging features -(2) 配置Device Drivers -USB support - USB Wireless Device Management support 支持WIFI2.将RTL8723BU_WiFi_linux_v4.3.16_14189.20150519_BTCOEX2015119-5844/driver下的压缩包拷贝到ANDROID_SDK/kernel_imx/drivers/net/wireless下,解压,修改其Makefile,编译wifi驱动模块,修改内容如下:CONFIG_PLATFORM_

5、IMX6Q = yifeq ($(CONFIG_PLATFORM_IMX6Q), y)EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIANEXTRA_CFLAGS += -DCONFIG_IOCTL_CFG80211 -DRTW_USE_CFG80211_STA_EVENT -DCONFIG_PLATFORM_ANDROID -DCONFIG_ANDROID -DCONFIG_CONCURRENT_MODEARCH := armCROSS_COMPILE := XXX/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin/arm-ea

6、bi-KSRC := XXX/kernel_imx/MODULE_NAME := 8723buendif如果(1)中选项没有选上,会导致加载wifi模块时报如下错误:rtl8723bu: no symbol version for cfg80211_ready_on_channelrtl8723bu: Unknown symbol cfg80211_ready_on_channel (err -22)rtl8723bu: Unknown symbol odm_SwAntDetectInit (err 0)rtl8723bu: no symbol version for _ieee80211_g

7、et_channelrtl8723bu: Unknown symbol _ieee80211_get_channel (err -22)rtl8723bu: no symbol version for cfg80211_roamedrtl8723bu: Unknown symbol cfg80211_roamed (err -22)rtl8723bu: no symbol version for wiphy_registerrtl8723bu: Unknown symbol wiphy_register (err -22)原因就是:编译WiFi模块时会去KSRC所指的路径下找相应的库,若果相关

8、的编译选项没有选上会导致某些库缺失,从而导致编出来的WiFi模块不完整。上述是由于编译内核时内有勾选80211协议栈导致。3.用厂商提供的hardware/realtek 替换hardware/realtek4.用厂商提供的wpa_supplicant_8_kk_4.4_rtw_r12456.20141003替换ANDROID_SDK/extern/wpa_supplicant_8,并修改文件夹的名字为wpa_supplicant_8。5.hardware/libhardware_legacy/wifi/Android.mk修改内容如下:- Android.mk (版本 170)+ Andro

9、id.mk (工作副本) -49,15 +49,21 LOCAL_CFLAGS += -DWIFI_DRIVER_FW_PATH_PARAM=$(WIFI_DRIVER_FW_PATH_PARAM)endif-ifeq ($(BOARD_WLAN_DEVICE),UNITE)- LOCAL_C_INCLUDES += $(LOCAL_PATH)/././external/wpa_supplicant_ath/wpa_supplicant/src/common- LOCAL_SRC_FILES += wifi/wifi_unite.c-else ifeq ($(BOARD_WLAN_VENDOR

10、), INTEL)- LOCAL_SRC_FILES += wifi/wifi_intel.c- LOCAL_C_INCLUDES += $(LOCAL_PATH)/././external/wpa_supplicant_8/src/common+#ifeq ($(BOARD_WLAN_DEVICE),UNITE)+# LOCAL_C_INCLUDES += $(LOCAL_PATH)/././external/wpa_supplicant_ath/wpa_supplicant/src/common+# LOCAL_SRC_FILES += wifi/wifi_unite.c+#else if

11、eq ($(BOARD_WLAN_VENDOR), INTEL)+# LOCAL_SRC_FILES += wifi/wifi_intel.c+# LOCAL_C_INCLUDES += $(LOCAL_PATH)/././external/wpa_supplicant_8/src/common+#else+# LOCAL_SRC_FILES += wifi/wifi.c+# LOCAL_C_INCLUDES += $(LOCAL_PATH)/././external/wpa_supplicant_8/src/common+#endif+ifeq ($(BOARD_WIFI_VENDOR),

12、realtek)+LOCAL_SRC_FILES += ./realtek/wlan/libhardware_legacy/wifi/wifi_realtek.celse- LOCAL_SRC_FILES += wifi/wifi.c- LOCAL_C_INCLUDES += $(LOCAL_PATH)/././external/wpa_supplicant_8/src/common+LOCAL_SRC_FILES += wifi/wifi.cendif6.修改device/fsl/sabresd_6dq/BoardConfig.mk修改内容如下:- BoardConfig.mk (版本 17

13、0)+ BoardConfig.mk (工作副本) -26,6 +26,33 TARGET_BOOTLOADER_BOARD_NAME := SABRESDPRODUCT_MODEL := SABRESD-MX6DQ+BOARD_WIFI_VENDOR := realtek+ifeq ($(BOARD_WIFI_VENDOR), realtek)+WPA_SUPPLICANT_VERSION := VER_0_8_X+BOARD_WPA_SUPPLICANT_DRIVER := NL80211+CONFIG_DRIVER_WEXT :=y+BOARD_WPA_SUPPLICANT_PRIVAT

14、E_LIB := lib_driver_cmd_rtl+BOARD_HOSTAPD_DRIVER := NL80211+BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_rtl+#BOARD_WLAN_DEVICE := rtl8192cu+#BOARD_WLAN_DEVICE := rtl8192du+#BOARD_WLAN_DEVICE := rtl8192ce+#BOARD_WLAN_DEVICE := rtl8192de+#BOARD_WLAN_DEVICE := rtl8723as+#BOARD_WLAN_DEVICE := rtl8723au+

15、#BOARD_WLAN_DEVICE := rtl8189es+#BOARD_WLAN_DEVICE := rtl8723bs+BOARD_WLAN_DEVICE := rtl8723bu+WIFI_DRIVER_MODULE_NAME := 8723bu+WIFI_DRIVER_MODULE_PATH := /system/lib/modules/8723bu.ko+WIFI_DRIVER_MODULE_ARG := ifname=wlan0 if2name=p2p0+WIFI_FIRMWARE_LOADER := +WIFI_DRIVER_FW_PATH_STA := +WIFI_DRIV

16、ER_FW_PATH_AP := +WIFI_DRIVER_FW_PATH_P2P := +WIFI_DRIVER_FW_PATH_PARAM := +else# UNITE is a virtual device support both atheros and realtek wifi(ar6103 and rtl8723as)BOARD_WLAN_DEVICE := UNITEWPA_SUPPLICANT_VERSION := VER_0_8_UNITE -39,6 +66,7 BOARD_WPA_SUPPLICANT_PRIVATE_LIB_QCOM := lib_driver_cmd

17、_qcwcnBOARD_HOSTAPD_PRIVATE_LIB_RTL := lib_driver_cmd_rtlBOARD_WPA_SUPPLICANT_PRIVATE_LIB_RTL := lib_driver_cmd_rtl+endif#for intel vendorifeq ($(BOARD_WLAN_VENDOR),INTEL)BOARD_HOSTAPD_PRIVATE_LIB := private_lib_driver_cmd -118,3 +146,4 fs_use untrusted_app.te genfs_contexts上述步骤完成后,到根目录下执行make 编译整个系

18、统。二 测试1.安装cfg80211.ko,8723bu.ko依赖此模块,缺省会报如下错误:8723bu: Unknown symbol cfg80211_ready_on_channel (err 0)8723bu: Unknown symbol _ieee80211_get_channel (err 0)8723bu: Unknown symbol cfg80211_roamed (err 0)8723bu: Unknown symbol wiphy_register (err 0)8723bu: Unknown symbol cfg80211_disconnected (err 0)87

19、23bu: Unknown symbol cfg80211_new_sta (err 0)8723bu: Unknown symbol cfg80211_connect_result (err 0)8723bu: Unknown symbol cfg80211_inform_bss_frame (err 0)2.安装8723bu.ko模块,两个模块都安装好之后,执行netcfg,会看到多出wlan0和p2p0设备节点,他们是8723bu驱动创建出来的,放到sys/class/net/下。lo UP /8 0x00000049 00:00:00:00:00:00can0 DOW

20、N /0 0x00000080 00:00:00:00:00:00can1 DOWN /0 0x00000080 00:00:00:00:00:00eth0 UP /0 0x00001043 1e:ed:19:27:1a:b3wlan0 DOWN /0 0x00001002 7c:c7:09:30:c5:4dp2p0 DOWN /0 0x00001002 7e:c7:09:30:c5:4d3.执行ifconfig wlan0 up,打开wlan04.执行system/bin/wpa_supplicant -Dnl80211

21、-iwlan0 -c/etc/wifi/wpa_supplicant.conf,启动wpa_supplicant进程。启动过程报如下错误:E/wpa_supplicant( 3251): mkdirctrl_interface=wlan0: Permission deniedE/wpa_supplicant( 3251): Failed to initialize control interface wlan0.E/wpa_supplicant( 3251): You may have another wpa_supplicant process already running or the

22、file wasE/wpa_supplicant( 3251): left by an unclean termination of wpa_supplicant in which case you will needE/wpa_supplicant( 3251): to manually remove this file before starting wpa_supplicant again.错误原因:wpa_supplicant进程运行时的配置文件wpa_supplicant.conf文件中的ctrl_interface的路径不对,没有匹配成功,导致进程启动失败。原来ctrl_inter

23、face的路径是/var/run/wpa_supplicant,把ctrl_interface改成/data/misc/wifi/wpa_supplicant就可以了。ctrl_interface在哪里?在工程下的external/wpa_supplicant_8/wpa_supplicant/wpa_supplicant.conf中。深入分析:wpa_supplicant_init_iface函数分析init_iface初始化的第一个工作是解析运行时配置文件。其中,wpa_s-confname的值为“/data/misc/wifi/wpa_supplicant.conf”,解析函数是wpa_

24、config_read。wpa_s-ctrl_iface = wpa_supplicant_ctrl_iface_init(wpa_s); if (wpa_s-ctrl_iface = NULL) wpa_printf(MSG_ERROR, Failed to initialize control interface %s.n You may have another wpa_supplicant process already running or the file wasn left by an unclean termination of wpa_supplicant in which

25、case you will needn to manually remove this file before starting wpa_supplicant again.n, wpa_s-conf-ctrl_interface); return -1; 如果是linux系统,可能没有wpa_supplicant工具,可参考wpa_supplicant-2.6交叉编译,移植此工具。5.执行system/bin/wpa_cli -p/data/misc/wifi/wpa_supplicant,配置并连接wifi热点。Could not connect to wpa_supplicant: wla

26、n0 - re-tryingwpa_cli v2.0-devel-4.4.2_rtw_r12456.20141003Copyright (c) 2004-2013, Jouni Malinen and contributorsThis software may be distributed under the terms of the BSD license.See README for more details.Selected interface wlan0Interactive mode1) scanOKCTRL-EVENT-STATE-CHANGE id=-1 state=3 BSSI

27、D=00:00:00:00:00:00 SSID=CTRL-EVENT-SCAN-RESULTSWPS-AP-AVAILABLECTRL-EVENT-STATE-CHANGE id=-1 state=2 BSSID=00:00:00:00:00:00 SSID=2) scan_resultsbssid / frequency / signal level / flags / ssid78:eb:14:bd:f6:9e 2412 -58 WPA-PSK-CCMPWPA2-PSK-CCMPESS B1412bc:67:1c:41:29:4d 2437 -65 WPA-PSK-CCMP+TKIPWP

28、A2-PSK-CCMP+TKIPWPSESS systec-ciscoe0:05:c5:23:fc:52 2452 -71 WPA-PSK-CCMP+TKIPWPA2-PSK-CCMP+TKIPWPSESS30:fc:68:0b:c9:f6 2437 -71 WPA-PSK-CCMPWPA2-PSK-CCMPESS gsdqec:26:ca:53:ea:f1 2462 -72 WPA-PSK-CCMPWPA2-PSK-CCMPWPSESS TP-LINK_EAF100:1f:f3:bf:d0:6f 2462 -73 WPA2-PSK-CCMPESS tcs appled4:ee:07:29:9

29、b:4a 2442 -73 WPA-PSK-CCMPWPA2-PSK-CCMPESS Cherry&Filippo24:69:68:16:a9:1e 2462 -74 WPA-PSK-CCMPWPA2-PSK-CCMPESS xe6xb2x83xe7x95x89fc:d7:33:8d:0a:36 2412 -74 WPA-PSK-CCMPWPA2-PSK-CCMPESS dangyuanweixinb0:c0:90:3a:24:a3 2422 -74 WPA2-PSK-CCMPESS 360xe8xa1x8cxe8xbdxa6xe8xaexb0xe5xbdx95xe4xbbxaa-A3c8:3

30、a:35:1f:5f:88 2422 -80 WPA-PSK-CCMPWPA2-PSK-CCMPESS wangzihaoc8:3a:35:06:a9:b0 2452 -82 WPA-PSK-CCMPESS Tenda_06A9B000:3a:99:9b:9b:40 2417 -45 WEPESS systec-AP00:0c:43:30:50:a0 2437 -51 ESS Wii-Link_3050A008:10:78:e1:27:a5 2412 -74 ESS NETCORE_27A53) add_network04) set_network 0 ssid systec-ciscoOK5

31、) set_network 0 psk XXXOK6) select_network 0OKCTRL-EVENT-STATE-CHANGE id=0 state=3 BSSID=00:00:00:00:00:00 SSID=systec-ciscoCTRL-EVENT-SCAN-RESULTSWPS-AP-AVAILABLETrying to associate with bc:67:1c:41:29:4d (SSID=systec-cisco freq=2437 MHz)CTRL-EVENT-STATE-CHANGE id=0 state=5 BSSID=00:00:00:00:00:00

32、SSID=systec-ciscoCTRL-EVENT-STATE-CHANGE id=0 state=6 BSSID=00:00:00:00:00:00 SSID=systec-ciscoAssociated with bc:67:1c:41:29:4dCTRL-EVENT-STATE-CHANGE id=0 state=7 BSSID=bc:67:1c:41:29:4d SSID=systec-ciscoCTRL-EVENT-STATE-CHANGE id=0 state=8 BSSID=bc:67:1c:41:29:4d SSID=systec-ciscoWPA: Key negotia

33、tion completed with bc:67:1c:41:29:4d PTK=CCMP GTK=TKIPCTRL-EVENT-CONNECTED - Connection to bc:67:1c:41:29:4d completed (auth) id=0 id_str=CTRL-EVENT-STATE-CHANGE id=0 state=9 BSSID=bc:67:1c:41:29:4d SSID=systec-cisco7)enable_network 0OK查看链接状态: statusbssid=bc:67:1c:41:29:4dssid=systec-ciscoid=0mode=stationpairwise_cipher=CCMPgroup_cipher=TKIPkey_mgmt=WPA2-PSKwpa_state=COMPLETEDp2p_device_address=7c:c7:09:30:c5:4dad

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论