RTL8723BS 移植(WIFI部分)已解决

来源:互联网 发布:思迅软件下载 编辑:程序博客网 时间:2024/05/20 11:49

硬件平台:N3290X (ARM9)
驱动接口:(必须)支持SDIO
Linux系统版本:2.6.35.4
编译器版本:arm-linux-gcc-4.3.2

RTL8723BS WIFI部分源码下载

硬件电路如下,这不就是SD卡标准接口么?!!
这里写图片描述

源码修改

diff -Nur a/include/autoconf.h b/include/autoconf.h--- a/include/autoconf.h    2015-11-25 16:46:03.000000000 +0800+++ b/include/autoconf.h    2016-11-23 19:35:26.792215500 +0800@@ -310,7 +310,7 @@ /*  * Debug Related Config  */-#define CONFIG_DEBUG+//#define CONFIG_DEBUG  //屏蔽掉调试信息(调成之后感觉没有留的必要,太辣眼睛了) #ifdef CONFIG_DEBUG #define DBG    1   // for ODM & BTCOEX debugdiff -Nur a/include/osdep_service_linux.h b/include/osdep_service_linux.h--- a/include/osdep_service_linux.h 2015-11-25 16:46:03.000000000 +0800+++ b/include/osdep_service_linux.h 2016-11-22 23:26:57.980254100 +0800@@ -387,7 +387,7 @@ #elif defined(CONFIG_ANDROID_POWER) #include <linux/android_power.h> #endif-+#define PATH_MAX    4096 // limitation of path length #define PATH_LENGTH_MAX PATH_MAXdiff -Nur a/Makefile b/Makefile--- a/Makefile  2015-11-25 16:46:03.000000000 +0800+++ b/Makefile  2016-11-24 20:42:28.579376200 +0800@@ -68,7 +68,8 @@ ######### Notify SDIO Host Keep Power During Syspend ########## CONFIG_RTW_SDIO_PM_KEEP_POWER = y ###################### Platform Related #######################-CONFIG_PLATFORM_I386_PC = y+CONFIG_PLATFORM_ARM_N3290X = y+CONFIG_PLATFORM_I386_PC = n CONFIG_PLATFORM_ANDROID_X86 = n CONFIG_PLATFORM_ANDROID_INTEL_X86 = n CONFIG_PLATFORM_JB_X86 = n@@ -884,6 +885,14 @@ KSRC ?= /usr/src/linux-2.6.34.1 endif+ifeq ($(CONFIG_PLATFORM_ARM_N3290X), y)+EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN+ARCH := arm+CROSS_COMPILE := arm-none-linux-gnueabi-+KVER  := 2.6.35.4+KSRC := /home/w55fa93bsp-2.6.35/linux-2.6.35.4+endif+ ifeq ($(CONFIG_PLATFORM_RTD2880B), y) EXTRA_CFLAGS += -DCONFIG_BIG_ENDIAN -DCONFIG_PLATFORM_RTD2880B ARCH:=

加载驱动会看到以下调试信息,说明已经成功驱动了,否则就要各种查查查,如果人品不行的就到庙里多烧烧香(看个人信仰)!

加载驱动:

/ #insmod /usr/8723bs.ko                                                                                                                                    [    9.370000] RTL871X: module init start[    9.370000] RTL871X: rtl8723bs v4.3.16.8_16010.20151125_BTCOEX20150119-5844[    9.380000] RTL871X: build time: Nov 23 2016 19:35:46[    9.380000] RTL871X: rtl8723bs BT-Coex version = BTCOEX20150119-5844[    9.640000] RTL871X: rtw_ndev_init(wlan0)[    9.660000] RTL871X: module init ret=0

启动网卡设备

/ #ifconfig wlan0 up                                                              / # [ 1159.120000] RTL871X: nolinked power save enter

连接wifi热点

/ #wpa_supplicant -D wext -c  /etc/wpa_supplicant.conf -i wlan0 -B[ 1273.970000] RTL871X: nolinked power save leave[ 1273.990000] RTL871X: set bssid:00:00:00:00:00:00ioctl[SIOCSIWAP]: Operation not permitted/ # [ 1275.690000] RTL871X: set ssid [HAME_A5_6537] fw_state=0x00000008[ 1275.710000] RTL871X: set bssid:9c:41:7c:06:53:78[ 1275.830000] RTL871X: start auth[ 1275.840000] RTL871X: auth success, start assoc[ 1275.850000] RTL871X: assoc success[ 1276.080000] RTL871X: send eapol packet[ 1276.090000] RTL871X: send eapol packet[ 1276.090000] RTL871X: set pairwise key camid:4, addr:9c:41:7c:06:53:78, kid:0, type:AES[ 1276.120000] RTL871X: send eapol packet[ 1276.130000] RTL871X: set group key camid:5, addr:9c:41:7c:06:53:78, kid:2, type:AES

动态获取IP地址

/ #udhcpc -i wlan0                                                                udhcpc (v1.15.2) startedSending discover...Sending select for 192.168.169.3...Lease of 192.168.169.3 obtained, lease time 86400deleting routersroute: SIOCDELRT: No such processadding dns 192.168.169.1adding dns 8.8.8.8

测试网络

/ # ping 14.215.177.37PING 14.215.177.37 (14.215.177.37): 56 data bytes64 bytes from 14.215.177.37: seq=0 ttl=54 time=69.517 ms64 bytes from 14.215.177.37: seq=1 ttl=54 time=41.021 ms64 bytes from 14.215.177.37: seq=2 ttl=54 time=51.218 ms64 bytes from 14.215.177.37: seq=3 ttl=54 time=31.156 ms64 bytes from 14.215.177.37: seq=4 ttl=54 time=61.027 ms^C--- 14.215.177.37 ping statistics ---5 packets transmitted, 5 packets received, 0% packet lossround-trip min/avg/max = 31.156/50.787/69.517 ms/ # 

其中wpa_supplicant.conf 配置文件格式,可自行网上查wpa_supplicant工具用法

ctrl_interface=/var/run/wpa_supplicantnetwork={        ssid="热点名称"        psk="热点的密码"        key_mgmt=WPA-PSK        proto=WPA2        pairwise=CCMP        group=CCMP}

还有几个wifi调试工具
比如iwlist扫描附近有哪些显摆的热点:

/ # iwlist wlan0 scan                                                              wlan0     Scan completed :          Cell 01 - Address: 9C:41:7C:06:53:78                    ESSID:"HAME_A5_6537"                    Protocol:IEEE 802.11bgn                    Mode:Master                    Frequency:2.412 GHz (Channel 1)                    Encryption key:on                    Bit Rates:150 Mb/s                    Extra:wpa_ie=dd160050f20101000050f20401000050f20401000050f202                    IE: WPA Version 1                        Group Cipher : CCMP                        Pairwise Ciphers (1) : CCMP                        Authentication Suites (1) : PSK                    Quality=100/100  Signal level=76/100                      Extra:fm=0003          Cell 02 - Address: 74:C3:30:51:F1:C8                    ESSID:"FAST_102"                    Protocol:IEEE 802.11bgn                    Mode:Master                    Frequency:2.412 GHz (Channel 1)                    Encryption key:on                    Bit Rates:300 Mb/s                    Extra:wpa_ie=dd160050f20101000050f20401000050f20401000050f202                    IE: WPA Version 1                        Group Cipher : CCMP                        Pairwise Ciphers (1) : CCMP                        Authentication Suites (1) : PSK                    Extra:                    IE: IEEE 802.11i/WPA2 Version 1                        Group Cipher : CCMP                        Pairwise Ciphers (1) : CCMP                        Authentication Suites (1) : PSK                    Quality=100/100  Signal level=74/100                      Extra:fm=0003          Cell 03 - Address: FC:D7:33:EC:35:86                    ESSID:"TP-LINK_3586"                    Protocol:IEEE 802.11bgn                    Mode:Master                    Frequency:2.412 GHz (Channel 1)                    Encryption key:on                    Bit Rates:300 Mb/s                    Extra:wpa_ie=dd160050f20101000050f20401000050f20401000050f202                    IE: WPA Version 1                        Group Cipher : CCMP                        Pairwise Ciphers (1) : CCMP                        Authentication Suites (1) : PSK                    Extra:                    IE: IEEE 802.11i/WPA2 Version 1                        Group Cipher : CCMP                        Pairwise Ciphers (1) : CCMP                        Authentication Suites (1) : PSK                    Quality=89/100  Signal level=54/100                      Extra:fm=0003          Cell 04 - Address: 08:10:79:6D:F0:E3                    ESSID:"Netcore_6DF0E3"                    Protocol:IEEE 802.11bgn                    Mode:Master                    Frequency:2.437 GHz (Channel 6)                    Encryption key:on                    Bit Rates:300 Mb/s                    Extra:wpa_ie=dd160050f20101000050f20401000050f20401000050f202                    IE: WPA Version 1                        Group Cipher : CCMP                        Pairwise Ciphers (1) : CCMP                        Authentication Suites (1) : PSK                    Extra:                    IE: IEEE 802.11i/WPA2 Version 1                        Group Cipher : CCMP                        Pairwise Ciphers (1) : CCMP                        Authentication Suites (1) : PSK                    Quality=72/100  Signal level=47/100                      Extra:fm=0001
1 0