GEC6818移植rtl8723bu wifi驱动


1. 配置内核

进入内核目录。

执行 make menuconfig

然后会打开一个配置工具,它可以让你遍历每个可用模块,然后启用或者禁用你需要或者不需要的模块。(空格表示选择)

进入 NetWork device support 层下的 Wireless 层,启用 cfg80211 - wireless configuration API、cfg80211 wireless extensions compatibility、Generic IEEE 802.11 Networking Stack (mac80211

然后退到顶层,进入 Device Drivers 层下的 Network device support 启用 Wireless LAN

然后退出编译内核即可。

2. 编译RTL8723BU-WiFi驱动

下载地址:https://pan.baidu.com/s/1JdHK7tmVYQYgkYHFTUFEjw 提取码: mi9f

解压 unzip RTL8723BU_WiFi_linux_v4.3.9_13200.20150106_BTCOEX20140929-5443.zip

进入 driver 目录。

解压 tar -zxvf rtl8723BU_WiFi_linux_v4.3.9.3_13200.20150106_BTCOEX20140929-5443.tar.gz

cd rtl8723BU_WiFi_linux_v4.3.9.3_13200.20150106_BTCOEX20140929-5443

修改 Makefile 文件。

ifeq ($(CONFIG_PLATFORM_GEC6818), y)
    EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN
    EXTRA_CFLAGS += -DCONFIG_IOCTL_CFG80211 -DRTW_USE_CFG80211_STA_EVENT -DCONFIG_CONCURRENT_MODE
    ARCH := arm
    CROSS_COMPILE := /home/incipe/expend/6818GEC/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8/bin/arm-eabi-
    KSRC := /home/incipe/expend/6818GEC/kernel
    MODULE_NAME := rtl8723bu_wifi
endif

然后 make 即可,会在当前目录下看到 rtl8723bu_wifi.ko 的驱动文件,拷贝到开发板上就好了。

3. 移植wpa_supplicant

简介:wpa_supplicant是wifi客户端(client)加密认证工具,和iwconfig不同,wpa_supplicant支持wep、wpa、wpa2等完整的加密认证,而iwconfig只能支持wep。

wpa_supplicant运行于后台,它需要借助控制台工具wpa_cli来进行手动操作,使用wpa_cli来搜索、设置、和连接网络。

下载地址:https://pan.baidu.com/s/1udO5qg2iPftzE-76wYZmPg 提取码: f3br

注意:以下移植请都切换到 root 用户执行,不然会出现莫名其妙的错。。。。。

openssl移植

解压 tar -zxvf openssl-1.0.2k.tar.gz

进入源码目录 cd openssl-1.0.2k

配置 ./config no-asm shared no-async --prefix=/opt/wifi_depend/openssl_lib --cross-compile-prefix=arm-linux-

去掉这些 -m64

make 等待编译完成执行 make install 即可在 /opt/wifi_depend/openssl_lib 目录下看到安装好的 openssl 了。

libnl移植

解压 tar -zxvf libnl-3.2.29.tar.gz

进入源码目录配置 ./configure --prefix=/opt/wifi_depend/libnl_lib --host=arm-linux

然后 make 报错

修改 include/linux-private/linux/ipv6.h include/linux-private/linux/if_bridge.h#include<linux/in6.h>#include <netinet/in.h>

然后 make && make install 即可。

wpa_supplicant移植

解压 tar -zxvf wpa_supplicant-2.6.tar.gz

进入源码目录 cd wpa_supplicant-2.6/wpa_supplicant

拷贝一份默认配置文件 cp defconfig .config

修改 .config 文件如下:

修改 Makefile 如下内容:

CFLAGS += -I/opt/wifi_depend/openssl_lib/include -I/opt/wifi_depend/libnl_lib/include/libnl3
LIBS += -L/opt/wifi_depend/openssl_lib/lib -L/opt/wifi_depend/libnl_lib/lib -ldl
CC = arm-linux-gcc

然后运行 make 命令即可。

当前目录下会生成三个可执行文件 wpa_supplicant wpa_passphrasewpa_cli 拷贝到 /usr/bin 目录下即可。

4. 配置

在板子上运行 mkdir/var/run 生成 run 文件夹。

/etc 目录下创建 wpa_supplicant.conf 文件,内容为

ctrl_interface=DIR=/var/run/wpa_supplicant
update_config=1
network={
    ssid="incipe"
    scan_ssid=1
    key_mgmt=WPA-EAP WPA-PSK IEEE8021X NONE
    pairwise=CCMP TKIP
    group=CCMP TKIP WEP104 WEP40
    psk="incipe"
    eap=TTLS PEAP TLS
}

其中 ssid 为要连接 wifi 的名字,psk 为密码。

最后拷贝 libnl 库到板子上的 /usr/lib 即可。

5. 测试

运行 wpa_supplicant -Dnl80211 -iwlan0 -c/etc/wpa_supplicant.conf -dd& 即可连接 wifi 了。

最后分享一篇介绍 wpa_supplicant 的文章。Wpa supplicant (简体中文)


文章作者: incipe
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 incipe !
评论
 上一篇
VSCode插件PlatformIO配置ESP8266使用教程 VSCode插件PlatformIO配置ESP8266使用教程
Ⅰ. 安装VSCode就不介绍如何安装了,安装好VSCode后,直接打开Extensions,搜索PlatformIO点击install即可。 安装成功后重启便会多了个蚂蚁头样的栏目。并且状态栏会多出如下的图标。 Ⅱ. 安装平台支持点击状
2021-06-09
下一篇 
Ubuntu20.04搭建nfs服务 Ubuntu20.04搭建nfs服务
Ubuntu20.04安装NFS服务器端 sudo apt-get install nfs-kernel-server 设置共享目录 mkdir -p /home/incipe/nfs sudo chmod 777 /home/incip
2021-05-22
  目录