RTL8723BU-WiFi-BT模塊移植(WiFi部分)_第1頁(yè)
RTL8723BU-WiFi-BT模塊移植(WiFi部分)_第2頁(yè)
RTL8723BU-WiFi-BT模塊移植(WiFi部分)_第3頁(yè)
RTL8723BU-WiFi-BT模塊移植(WiFi部分)_第4頁(yè)
RTL8723BU-WiFi-BT模塊移植(WiFi部分)_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、本次修改基于廠商提供的RTL8723BU_WiFi_linux_v4316_14189.20150519_BTCOEX2015119-5844包下載鏈接: 一修改記錄:1 .配置linux內(nèi)核(1)Networking support ->Wireless 下增加 802.11 協(xié)議棧的支持Wireless<M>cfg80211 - wireless configuration API*nl80211 testmode command*enabledeveloperwarnings|*cfg80211 regulatory debugging*enable powersave

2、 by defaultcfg80211 DebugFS entriesuse statically compiled regulatory rulesdatabase*cfg80211 wireless extensions compatibility*Wireless extensions sysfs files-*- Common routines for IEEE802.11 drivers | lib80211 debugging messages* Allow reconnect while already connected |<M> Generic IEEE 802.

3、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 DebugFS Select mac80211 debugging fea

4、tures ->(2)配置 Device Drivers->USB support-><*> USB Wireless Device Management support支持WIFI2 .將 RTL8723BU WiFi linux v4316 14189.20150519 BTCOEX2015119-5844/driver下的壓縮包拷貝到 ANDROID SDK/kernel_imx/drivers/net/wireless下,解壓,修改其 Makefile ,編譯 wifi驅(qū)動(dòng)模塊,修改內(nèi)容如下:CONFIG_PLATFORM_IMX6Q = yifeq ($

5、(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_MODE ARCH := arm |CROSS_COMPILE := XXX/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin/arm-eabi-KSRC := XX

6、X/kernel_imx/ MODULE_NAME := 8723bu endif如果(1)中選項(xiàng)沒有選上,會(huì)導(dǎo)致加載wifi模塊時(shí)報(bào)如下錯(cuò)誤: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_get_channelrt

7、l8723bu: 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_register rtl8723bu: Unknown symbol wiphy_register (err -22)原因就是:編譯 WiFi模塊時(shí)會(huì)去KSRC所指的路徑下找相應(yīng)的庫(kù),若果相關(guān)的編譯選項(xiàng)沒有選上會(huì)導(dǎo)

8、致某些庫(kù)缺失,從而導(dǎo)致編出來的WiFi模塊不完整。上述是由于編譯內(nèi)核時(shí)內(nèi)有勾選80211協(xié)議棧導(dǎo)致。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修改內(nèi)容如下:- -Android.mk (版本 170)+ And

9、roid.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_

10、WLAN_VENDOR), 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+

11、#else ifeq ($(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_WI

12、FI_VENDOR), realtek)+LOCAL_SRC_FILES += ./realtek/wlan/libhardware_legacy/wifi/wifi_realtek.c else-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修改內(nèi)容如下:-BoardConf

13、ig.mk (版本 170)+ BoardConfig.mk (工作副本) -26,6 +26,33 TARGET_BOOTLOADER_BOARD_NAME := SABRESDPRODUCT_MODEL k 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_SUP

14、PLICANT_PRIVATE_LIB := lib_driver_cmd_rtl +BOARD_HOSTAPD_DRIVER := NL80211 +BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_rtl +#BOARD_WLAN_DEVICE k rtl8192cu +#BOARD_WLAN_DEVICE k rtl8192du +#BOARD_WLAN_DEVICE k rtl8192ce +#BOARD_WLAN_DEVICE k rtl8192de +#BOARD_WLAN_DEVICE k rt18723as +#BOARD_WLAN_DEV

15、ICE k rtl8723au +#BOARD_WLAN_DEVICE k rtl8189es+#BOARD_WLAN_DEVICE k rt18723bs+BOARD_WLAN_DEVICE k 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_LOAD

16、ER :="" +WIFI_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

17、_SUPPLICANT_VERSION:= VER_0_8_UNITE -39,6 +66,7 BOARD_WPA_SUPPLICANT_PRIVATE_LIB_QCOM:= lib_driver_cmd_qcwcnBOARD_HOSTAPD_PRIVATE_LIB_RTL:= lib_driver_cmd_rtlBOARD_WPA_SUPPLICANT_PRIVATE_LIB_RTL:= lib_driver_cmd_rtl+endif #for intel vendor ifeq ($(BOARD_WLAN_VENDOR),INTEL) BOARD_HOSTAPD_PRIVATE_LIB:

18、= private_lib_driver_cmd -118,3 +146,4 fs_use untrusted_app.te genfs_contexts上述步驟完成后,到根目錄下執(zhí)行make編譯整個(gè)系統(tǒng)。二測(cè)試1 .安裝cfg80211ko , 8723bu.ko依賴此模塊,缺省會(huì)報(bào)如下錯(cuò)誤:8723bu: Unknown symbol cfg80211_ready_on_channel (err 0) 8723bu: Unknown symbol _ieee80211_get_channel (err 0) 8723bu: Unknown symbol cfg80211_roamed (e

19、rr 0) 8723bu: Unknown symbol wiphy_register (err 0) 8723bu: Unknown symbol cfg80211_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模塊,兩個(gè)模塊都安裝好之后,執(zhí)行 netcf

20、g ,會(huì)看到多出 wlan0和p2P0設(shè)備節(jié) 點(diǎn),他們是 8723bu驅(qū)動(dòng)創(chuàng)建出來的,放到 sys/class/net/下。loUP127.0.0.1/80x00000049 00:00:00:00:00:00can0DOWN0.0.0.0/00x00000080 00:00:00:00:00:00can1DOWN0.0.0.0/00x00000080 00:00:00:00:00:00eth0UP0.0.0.0/00x00001043 1e:ed:19:27:1a:b3wlan0DOWN0.0.0.0/00x00001002 7c:c7:09:30:c5:4dp2p0DOWN0.0.0.0/

21、00x00001002 7e:c7:09:30:c5:4d3 .執(zhí)彳亍 ifconfig wlanO up ,打開 wlanO4 .執(zhí)行 system/bin/wpa supplicant-Dnl80211 -iwlanO -c/etc/wifi/wpa supplicant.conf, 啟動(dòng)wpa_supplicant 進(jìn)程。啟動(dòng)過程報(bào)如下錯(cuò)誤:E/wpa_supplicant( 3251): mkdirctrl_interface=wlanO: Permission deniedE/wpa_supplicant( 3251): Failed to initialize control in

22、terface 'wlan0'.E/wpa_supplicant( 3251): You may have another wpa_supplicant process already running or thefile wasE/wpa_supplicant( 3251): left by an unclean termination of wpa_supplicant in which case you willneedE/wpa_supplicant( 3251): to manually remove this file before starting wpa_sup

23、plicant again.錯(cuò)誤原因:wpa_supplicant 進(jìn)程運(yùn)行時(shí)的配置文件 wpa_supplicant.conf 文件中的ctrl_interface 的 路徑不對(duì),沒有匹配成功,導(dǎo)致進(jìn)程啟動(dòng)失敗。原來ctrl interface的路徑是/var/run/wpa supplicant , 把 ctrl_interface 改成/data/misc/wifi/wpa_supplicant 就可以了。ctrl interface在 哪 里? 在 工 程 下 的external/wpa supplicant 8/wpa supplicant/wpa supplicant.conf中。

24、深入分析:wpa supplicant init iface函數(shù)分析init_iface 初始化的第一個(gè)工作是解析運(yùn)行時(shí)配置文件。其中,wpa_s->confname 的值為 “/data/misc/wifi/wpa supplicant.conf解析函數(shù)是 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

25、 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 case you will needn""to manually remove this file before starting ""wpa_

26、supplicant again.n", wpa_s->conf->ctrl_interface);return -1;如果是linux系統(tǒng),可能沒有wpa_supplicant工具,可參考 Wpa_SUpplicant-2.6交叉編譯 ,移植此工具。5 .執(zhí)彳f system/bin/wpa cli-p/data/misc/wifi/wpa supplicant, 配置并連接 wifi 熱點(diǎn)。Could not connect to wpa_supplicant: wlanO - re-tryingwpa_cli v2.0-devel-4.4.2_rtw_r12456.

27、20141003Copyright (c) 2004-2013, Jouni Malinen <jw1.fi> and contributorsThis software may be distributed under the terms of the BSD license.See README for more details.Selected interface 'wlan0'Interactive mode1) > scanOK<3>CTRL-EVENT-STATE-CHANGE id=-1 state=3 BSSID=00:00:00:

28、00:00:00 SSID=<3>CTRL-EVENT-SCAN-RESULTS<3>WPS-AP-AVAILABLE <3>CTRL-EVENT-STATE-CHANGE id=-1 state=2 BSSID=00:00:00:00:00:00 SSID= 2) > scan results bssid / frequency / signal level / flags / ssid78:eb:14:bd:f6:9e2412-58 WPA-PSK-CCMPWPA2-PSK-CCMPESSB1412bc:67:1c:41:29:4d2437-65

29、WPA-PSK-CCMP+TKIPWPA2-PSK-CCMP+TKIPWPSESS systec-cisco e0:05:c5:23:fc:522452-71 WPA-PSK-CCMP+TKIPWPA2-PSK-CCMP+TKIPWPSESS 30:fc:68:0b:c9:f62437-71 WPA-PSK-CCMPWPA2-PSK-CCMPESSgsdqec:26:ca:53:ea:f12462-72 WPA-PSK-CCMPWPA2-PSK-CCMPWPSESSTP-LINK_EAF100:1f:f3:bf:d0:6f2462-73WPA2-PSK-CCMPESStcs appled4:e

30、e:07:29:9b:4a2442-73WPA-PSK-CCMPWPA2-PSK-CCMPESS&Filippo24:69:68:16:a9:1eb2x83xe7x95x892462-74WPA-PSK-CCMPWPA2-PSK-CCMPESSfc:d7:33:8d:0a:362412-74 WPA-PSK-CCMPWPA2-PSK-CCMPESSCherryxe6xdangyuanweixinb0:c0:90:3a:24:a32422-74 WPA2-PSK-CCMPESS 360xe8xa1x8cxe8xbdxa6xe8xaexb0xe5xbdx95xe4xbbxaa-A3c8:3

31、a:35:1f:5f:882422-80 WPA-PSK-CCMPWPA2-PSK-CCMPESSwangzihaoc8:3a:35:06:a9:b02452-82WPA-PSK-CCMPESSTenda_06A9B000:3a:99:9b:9b:402417-45WEPESSsystec-AP00:0c:43:30:50:a02437-51ESS Wii-Link_3050A008:10:78:e1:27:a52412-74ESS NETCORE_27A53) > add_network0 一4) > set_network 0 ssid "systec-cisco&q

32、uot; OK5) > set network 0 psk "XXX" OK6) > select network 0OK<3>CTRL-EVENT-STATE-CHANGE id=0 state=3 BSSID=00:00:00:00:00:00 SSID=systec-cisco <3>CTRL-EVENT-SCAN-RESULTS<3>WPS-AP-AVAILABLE<3>Trying to associate with bc:67:1c:41:29:4d (SSID='systec-cisco

33、9; freq=2437 MHz)<3>CTRL-EVENT-STATE-CHANGE id=0 state=5 BSSID=00:00:00:00:00:00 SSID=systec-cisco<3>CTRL-EVENT-STATE-CHANGE id=0 state=6 BSSID=00:00:00:00:00:00 SSID=systec-cisco<3>Associated with bc:67:1c:41:29:4d<3>CTRL-EVENT-STATE-CHANGE id=0 state=7 BSSID=bc:67:1c:41:29:

34、4d SSID=systec-cisco<3>CTRL-EVENT-STATE-CHANGE id=0 state=8 BSSID=bc:67:1c:41:29:4d SSID=systec-cisco<3>WPA: Key negotiation completed with bc:67:1c:41:29:4d PTK=CCMP GTK=TKIP<3>CTRL-EVENT-CONNECTED - Connection to bc:67:1c:41:29:4d completed (auth) id=0 id_str=<3>CTRL-EVENT-STATE-CHANGE id=0 state=9 BSSID=bc:67:1c:41:29:4d SSID=systec-cisco7) enable_network 0OK查看鏈接狀態(tài):> statusbssid=bc:67:1c:41:29:4d | ssid=systec-ciscoid=0mode=stationpairwise_cipher=CCMPgroup_cipher=TKIPkey_mgmt=WPA2-PSK wpa_state=CO

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論