1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 【USB-WIFI模块:rtl8723bu (无线网卡的基于 x6818的移植)

【USB-WIFI模块:rtl8723bu (无线网卡的基于 x6818的移植)

时间:2020-10-16 01:42:00

相关推荐

【USB-WIFI模块:rtl8723bu (无线网卡的基于 x6818的移植)

这里写自定义目录标题

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

【USB-WIFI模块:rtl8723bu (无线网卡的基于 x6818的移植)

需要在 X6818 开发板上 WIFI模块加载驱动到 内核。

linux的内核需要支持wifi的功能,

需要把 rtl8723bu 驱动编译出来, ko , 再 到开发板 上去 加载 insmod …ko

懂得如何去连上 AP 热点,实现无线上网。

配置内核

进入内核目录。

执行 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

然后退出编译内核即可。

make menuconfig 是生成了一个 .config 文件。

x6818_defconfig 编译内核 根据这个配置文件来编译内核的。

kernel/arch/arm/config/x6818_defconfig —>

mv kernel-3.4.39/.config kernel-3.4.39/arch/arm/config/x6818_defconfig

编译内核 ./mk -k

生成一个 root.img 内核镜像文件》 再把 这个文件 重新烧写到你的开发板。

那么这个内核 就可以支持 无线网卡的功能了。

编译RTL8723BU-WiFi驱动

下载地址:/s/1JdHK7tmVYQYgkYHFTUFEjw 提取码: mi9f

解压 unzip RTL8723BU_WiFi_linux_v4.3.9_13200.0106_BTCOEX0929-5443.zip

进入 driver 目录。

修改 Makefile 文件。

74行: CONFIG_PLATFORM_X6818 = y

ifeq ($(CONFIG_PLATFORM_X6818), y)

EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN

EXTRA_CFLAGS += -DCONFIG_IOCTL_CFG80211 -DRTW_USE_CFG80211_STA_EVENT -DCONFIG_CONCURRENT_MODE

ARCH := arm

CROSS_COMPILE := /home/china/newdisk/x6818_linux_180209/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8/bin/arm-eabi-

KSRC := /home/china/newdisk/x6818_linux_180209/linux/kernel/kernel-3.4.39

MODULE_NAME := rtl8723bu_wifi

endif

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

移植wpa_supplicant

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

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

下面分配来编译 下面的3个库。

libnl-3.2.29.tar.gz openssl-1.0.2k.tar.gz wpa_supplicant-2.6.tar.gz

1). openssl-1.0.2k.tar.gz 移植

1、先执行: ./config no-asm 如果需要动态库,执行:

./config no-asm shared --prefix=/opt/wifi_depend/openssl_lib

选项指定install的地址,install后可以在里面找到库和头文件等,有需要的话,可以加入-fPIC选项

2、修改生成的makefile

1、将gcc和ar加上XX对应编译链的前缀,例如: XX-XX-linux-

2、删除代有m64的两个地方

3、执行 make 进行编译

我用的是openssl-1.0.2q版本,libcrypto.a和libssl.a都会生成,可以使用。

4、还可以执行make install进行安装,安装的路径就是-prefix指定的地址。当然也可以不安装,make后就能找到openssl库。配合curl使用的时候最好指定安装路径,因为curl编译的时候也许会用到。

2)libnl-3.2.29.tar.gz 移植

配置: ./configure --prefix=/opt/wifi_depend/libnl_lib --host=arm-linux

修改 include/linux-private/linux/ipv6.h

include/linux-private/linux/if_bridge.h 的 #include<linux/in6.h> 为 #include <netinet/in.h>

然后 make && make install 即可。

3) wpa_supplicant移植

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

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

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

修改 .config 文件如下:

第 47行 去掉 #号

在 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_passphrase 和 wpa_cli

拷贝到开发板的 /usr/bin 目录下即可。

配置:

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

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

ctrl_interface=DIR=/var/run/wpa_supplicant

update_config=1

network={

ssid=“P30”

scan_ssid=1

key_mgmt=WPA-EAP WPA-PSK IEEE8021X NONE

pairwise=CCMP TKIP

group=CCMP TKIP WEP104 WEP40

psk=“123456789qq”

eap=TTLS PEAP TLS

}

最后拷贝 libnl_lib.tar.gz 库到板子上的 /usr/lib 即可

测试

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。