RTL8723BU-WiFi-BT模块移植WiFi部分_第1页
RTL8723BU-WiFi-BT模块移植WiFi部分_第2页
RTL8723BU-WiFi-BT模块移植WiFi部分_第3页
RTL8723BU-WiFi-BT模块移植WiFi部分_第4页
全文预览已结束

下载本文档

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

文档简介

1、. 本次修改基于厂商提供的包下载:一修改记录:1.配置linu*核 (1)Networking support -Wireless下增加802.11 协议栈的支持- Wireless cfg80211 - wireless configuration API* nl80211 testmode mand * enable developer warnings * cfg80211 regulatory debugging* enable powersave by default cfg80211 DebugFS entries use statically piled regulatory r

2、ules database * cfg80211 wireless e*tensions patibility * Wireless e*tensions sysfs files-*- mon routines for IEEE802.11 drivers lib80211 debugging messages * Allow reconnect while already connected Generic IEEE 802.11 Networking Stack (mac80211) PID controller based rate control algorithm * Minstre

3、l* Minstrel 802.11n support Default rate control algorithm (Minstrel) - * Enable mac80211 mesh networking (pre-802.11s) support * Enable LED triggers E*port mac80211 internals in DebugFS Select mac80211 debugging features -(2) 配置Device Drivers -USB support - USB Wireless Device Management support 支持

4、WIFI2.将下的压缩包拷贝到ANDROID_SDK/kernel_im*/drivers/net/wireless下,解压,修改其Makefile,编译wifi驱动模块,修改容如下:CONFIG_PLATFORM_IM*6Q = yifeq ($(CONFIG_PLATFORM_IM*6Q), y)E*TRA_CFLAGS += -DCONFIG_LITTLE_ENDIANE*TRA_CFLAGS += -DCONFIG_IOCTL_CFG80211 -DRTW_USE_CFG80211_STA_EVENT -DCONFIG_PLATFORM_ANDROID -DCONFIG_ANDROID

5、 -DCONFIG_CONCURRENT_MODEARCH := armCROSS_PILE := */prebuilts/gcc/linu*-*86/arm/arm-eabi-4.6/bin/arm-eabi-KSRC := */kernel_im*/MODULE_NAME := 8723buendif如果1中选项没有选上,会导致加载wifi模块时报如下错误:rtl8723bu: no symbol version for cfg80211_ready_on_channelrtl8723bu: Unknown symbol cfg80211_ready_on_channel (err -22

6、)rtl8723bu: Unknown symbol odm_SwAntDetectInit (err 0)rtl8723bu: no symbol version for _ieee80211_get_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 w

7、iphy_registerrtl8723bu: Unknown symbol wiphy_register (err -22)原因就是:编译WiFi模块时会去KSRC所指的路径下找相应的库,假设果相关的编译选项没有选上会导致*些库缺失,从而导致编出来的WiFi模块不完整。上述是由于编译核时有勾选80211协议栈导致。3.用厂商提供的hardware/realtek 替换hardware/realtek4.用厂商提供的替换ANDROID_SDK/e*tern/wpa_supplicant_8,并修改文件夹的名字为wpa_supplicant_8。5.hardware/libhardware_le

8、gacy/wifi/Android.mk修改容如下:- Android.mk (版本 170)+ Android.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)/././e*ternal/wpa_supplicant_ath/wpa_supplicant/src/mon- LOCAL_SRC_FILES

9、+= wifi/wifi_unite.c-else ifeq ($(BOARD_WLAN_VENDOR), INTEL)- LOCAL_SRC_FILES += wifi/wifi_intel.c- LOCAL_C_INCLUDES += $(LOCAL_PATH)/././e*ternal/wpa_supplicant_8/src/mon+#ifeq ($(BOARD_WLAN_DEVICE),UNITE)+# LOCAL_C_INCLUDES += $(LOCAL_PATH)/././e*ternal/wpa_supplicant_ath/wpa_supplicant/src/mon+#

10、LOCAL_SRC_FILES += wifi/wifi_unite.c+#else ifeq ($(BOARD_WLAN_VENDOR), INTEL)+# LOCAL_SRC_FILES += wifi/wifi_intel.c+# LOCAL_C_INCLUDES += $(LOCAL_PATH)/././e*ternal/wpa_supplicant_8/src/mon+#else+# LOCAL_SRC_FILES += wifi/wifi.c+# LOCAL_C_INCLUDES += $(LOCAL_PATH)/././e*ternal/wpa_supplicant_8/src/

11、mon+#endif+ifeq ($(BOARD_WIFI_VENDOR), realtek)+LOCAL_SRC_FILES += ./realtek/wlan/libhardware_legacy/wifi/wifi_realtek.celse- LOCAL_SRC_FILES += wifi/wifi.c- LOCAL_C_INCLUDES += $(LOCAL_PATH)/././e*ternal/wpa_supplicant_8/src/mon+LOCAL_SRC_FILES += wifi/wifi.cendif6.修改device/fsl/sabresd_6dq/BoardCon

12、fig.mk修改容如下:- BoardConfig.mk (版本 170)+ BoardConfig.mk (工作副本) -26,6 +26,33 TARGET_BOOTLOADER_BOARD_NAME := SABRESDPRODUCT_MODEL := SABRESD-M*6DQ+BOARD_WIFI_VENDOR := realtek+ifeq ($(BOARD_WIFI_VENDOR), realtek)+WPA_SUPPLICANT_VERSION := VER_0_8_*+BOARD_WPA_SUPPLICANT_DRIVER := NL80211+CONFIG_DRIVER_W

13、E*T :=y+BOARD_WPA_SUPPLICANT_PRIVATE_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 := rtl8723

14、as+#BOARD_WLAN_DEVICE := rtl8723au+#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 := +WI

15、FI_DRIVER_FW_PATH_STA := +WIFI_DRIVER_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

16、_PRIVATE_LIB_Q := lib_driver_cmd_qcwBOARD_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_con

17、te*ts上述步骤完成后,到根目录下执行make 编译整个系统。二测试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 cf

18、g80211_disconnected (err 0)8723bu: 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 127.0.0.1/8 0*00000

19、049 00:00:00:00:00:00can0 DOWN 0.0.0.0/0 0*00000080 00:00:00:00:00:00can1 DOWN 0.0.0.0/0 0*00000080 00:00:00:00:00:00eth0 UP 0.0.0.0/0 0*00001043 1e:ed:19:27:1a:b3wlan0 DOWN 0.0.0.0/0 0*00001002 7c:c7:09:30:c5:4dp2p0 DOWN 0.0.0.0/0 0*00001002 7e:c7:09:30:c5:4d3.执行ifconfig wlan0 up,翻开wlan04.执行system/

20、bin/wpa_supplicant -Dnl80211 -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 pr

21、ocess already running or the 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的路径不对

22、,没有匹配成功,导致进程启动失败。原来ctrl_interface的路径是/var/run/wpa_supplicant,把ctrl_interface改成/data/misc/wifi/wpa_supplicant就可以了。ctrl_interface在哪里?在工程下的e*ternal/wpa_supplicant_8/wpa_supplicant/wpa_supplicant.conf中。深入分析:wpa_supplicant_init_iface函数分析init_iface初始化的第一个工作是解析运行时配置文件。其中,wpa_s-confname的值为/data/misc/wifi/wp

23、a_supplicant.conf,解析函数是wpa_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

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

25、nect to wpa_supplicant: wlan0 - 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

26、-CHANGE id=-1 state=3 BSSID=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 243

27、7 -65 WPA-PSK-CCMP+TKIPWPA2-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-CCMPE

28、SS tcs appled4:ee:07:29:9b:4a 2442 -73 WPA-PSK-CCMPWPA2-PSK-CCMPESS Cherry&Filippo24:69:68:16:a9:1e 2462 -74 WPA-PSK-CCMPWPA2-PSK-CCMPESS *e6*b2*83*e7*95*89fc:d7:33:8d:0a:36 2412 -74 WPA-PSK-CCMPWPA2-PSK-CCMPESS dangyuanwei*inb0:c0:90:3a:24:a3 2422 -74 WPA2-PSK-CCMPESS 360*e8*a1*8c*e8*bd*a6*e8*ae*b0

29、*e5*bd*95*e4*bb*aa-A3c8:3a: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

30、 0 ssid systec-ciscoOK5 set_network 0 psk *OK6 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

31、=00:00:00:00:00:00 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-ci

32、scoWPA: Key negotiation pleted with bc:67:1c:41:29:4d PTK=CCMP GTK=TKIPCTRL-EVENT-CONNECTED - Connection to bc:67:1c:41:29:4d pleted (auth) id=0 id_str=CTRL-EVENT-STATE-CHANGE id=0 state=9 BSSID=bc:67:1c:41:29:4d SSID=systec-cisco7enable_network 0OK查看状态: statusbssid=bc:67:1c:41:29:4dssid=systec-ciscoid=0mode=stationpairwise_cipher=CCMPgroup_cipher=TKIPkey_mgmt=WPA2-PSKwpa_state=PLETEDp2p_device_address=7c:c7:09:30:c5:4daddress=7c:c7:09:30:c5:4dC

温馨提示

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

评论

0/150

提交评论