我是靠谱客的博主 俊逸诺言,这篇文章主要介绍[基于瑞芯微RV1126调试RTL8818FU WIFI模组支持STA和AP模式]内核menuconfig配置内核dts配置文件系统配置和更改驱动编译wifi工具编译开机运行脚本测试WIFI—STA模式运行脚本测试WIFI-AP模式全部资源下载,现在分享给大家,希望可以做个参考。

基于瑞芯微RV1126调试RTL8818FU WIFI模组支持STA和AP模式

  • 内核menuconfig配置
  • 内核dts配置
  • 文件系统配置和更改
  • 驱动编译
  • wifi工具编译
    • libnl库编译
    • openssl编译
    • wpa_supplicant编译
    • hostapd编译(不过我没用到,调不通,用的是rk自带的)
  • 开机运行脚本测试WIFI—STA模式
  • 运行脚本测试WIFI-AP模式
  • 全部资源下载

内核menuconfig配置

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
CONFIG_NETFILTER=y CONFIG_NF_CONNTRACK=y CONFIG_NF_TABLES=y CONFIG_NF_TABLES_INET=y CONFIG_NF_CONNTRACK_IPV4=y CONFIG_IP_NF_IPTABLES=y CONFIG_IP_NF_NAT=y CONFIG_IP_NF_TARGET_MASQUERADE=y CONFIG_BRIDGE=y CONFIG_IP_NF_FILTER=y CONFIG_IP_NF_MANGLE=y CONFIG_IP_NF_NAT=y CONFIG_IP_NF_RAW=y CONFIG_NETFILTER_XT_MATCH_STATE=y CONFIG_WL_ROCKCHIP=y CONFIG_WIFI_BUILD_MODULE=y CONFIG_USB_XHCI_HCD=y CONFIG_USB_XHCI_PLATFORM=y CONFIG_USB_NET_RNDIS_WLAN=y CONFIG_USB_OHCI_HCD=y CONFIG_USB_OHCI_HCD_PLATFORM=y CONFIG_USB_CONFIGFS_RNDIS=y CONFIG_USB_DWC3=y CONFIG_USB_DWC3_OF_SIMPLE=y CONFIG_USB_DWC3_ROCKCHIP_INNO=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_EHCI_HCD_PLATFORM=y CONFIG_USB_HID=y CONFIG_USB=y CONFIG_USB_USBNET=y CONFIG_PHY_ROCKCHIP_NANENG_USB2=y CONFIG_RFKILL=y CONFIG_RFKILL_RK=y CONFIG_CFG80211=y CONFIG_CFG80211_WEXT=y

内核dts配置

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
wireless_wlan: wireless-wlan { compatible = "wlan-platdata"; rockchip,grf = <&grf>; /* clocks = <&rk809 1>; clock-names = "clk_wifi"; */ pinctrl-names = "default"; pinctrl-0 = <&wifi_init>; wifi_chip_type = "rtl8188fu"; WIFI,poweren_gpio = <&gpio3 RK_PA5 GPIO_ACTIVE_LOW>; /*WIFI,host_wake_irq = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>; */ status = "okay"; }; wireless-wlan { /omit-if-no-ref/ wifi_wake_host: wifi-wake-host { rockchip,pins = <0 RK_PB0 0 &pcfg_pull_up>; }; wifi_init: wifi-init { rockchip,pins = <3 RK_PA5 RK_FUNC_GPIO &pcfg_output_high>,//wifi_enable <0 RK_PB1 RK_FUNC_GPIO &pcfg_output_high>,//usb_hub_enable //usb-switch <3 RK_PC1 RK_FUNC_GPIO &pcfg_output_high>, <3 RK_PC2 RK_FUNC_GPIO &pcfg_output_low>; }; };

文件系统配置和更改

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
删掉中间文件: buildroot/output/rockchip_rv1126_rv1109_xxx/target/etc/init.d/S45connman buildroot/output/rockchip_rv1126_rv1109_xxx/target/usr/bin/connmanctl buildroot/output/rockchip_rv1126_rv1109_xxx/target/usr/sbin/connmand app/netserver/main.c main函数直接return不执行 buildroot/output/rockchip_rv1126_rv1109/target/etc/init.d/S36load_rv1109_wifi_modules //注释掉下面这两行 printf "load wifi modules: " #insmod /system/lib/modules/"8188fu.ko" #[ $? = 0 ] && echo "OK" || echo "FAIL" #注etc/init.d/目录的文件在系统启动时会依次被调用,所以WiFi的驱动会被自动加载,这里我们注释掉它使用自己的wifi驱动 根目录external/下添加softapDemo.tgz.gz main.c下 +++ main.c/static char softap_name[64] = "wlan0"; +++ main.c/wlan_accesspoint_start(apName, apPassword); --- main.c/eth_accesspoint_start(); --- main.c/iftables_usb0_to_eth0(wan,lan); package/rockchip/Config.in 添加:source "package/rockchip/softap/Config.in" 根目录 make menuconfig BR2_PACKAGE_RKWIFIBT_RTL8188FU =y # 选择对应的WiFi型号 其实也可不选我们不用原厂wifi驱动 BR2_PACKAGE_IPC_DAEMON = n BR2_PACKAGE_NETSERVER = n BR2_PACKAGE_CONNMAN = n BR2_PACKAGE_DHCPCD = y BR2_PACKAGE_SOFTAP=y make savedefconfig make netserver-dirclean make connman-dirclean make ipc-daemon-dirclean make softap-dirclean make rkwifibt-dirclean #清除掉之前的 ./build.sh rootfs #编译文件系统 注意: 编译好看看buildroot/output/rockchip_rv1126_rv1109/target/etc/init.d/S36load_rv1109_wifi_modules 有没被覆盖,覆盖掉的话需要重新注释

驱动编译

修改配置
SDKexternrtl8188FU_linux_v5.11.5-13-g2482755ff.20210615Makefile

复制代码
1
2
3
4
5
6
7
8
9
10
CROSS_COMPILE := arm-linux-gnueabihf- KSRC := rockchip_new_20220628/kernel RTL模组: 使用p2p0作为softap功能,通过内核驱动的配置生成p2p0,如果没有p2p0节点请检查这里的配 置 EXTRA_CFLAGS += -DCONFIG_PLATFORM_ANDROID CONFIG_PLATFORM_ARM_RK2818 = y CONFIG_AP_MODE = y CONFIG_POWER_SAVING = n CONFIG_MP_INCLUDED = y

make clean && make;

wifi工具编译

libnl库编译

复制代码
1
2
3
4
mkdir __install; ./configure CC=arm-linux-gnueabihf-gcc AR=arm-linux-gnueabihf-ar --prefix=$(pwd)/__install --host=arm-linux-gnueabihf; make && make install;

openssl编译

复制代码
1
2
3
4
5
mkdir __install; ./config no-asm no-shared --cross-compile-prefix=arm-linux-gnueabihf- --prefix=$(pwd)/__install 去掉CFLAG参数中的 -m64 ,SHARED_LDFLAGS参数中的 -m64 make && make install

wpa_supplicant编译

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
cd SDK/extern/wifi_tool/wpa_supplicant_8_kk_4.4_rtw_r25669.20171213/wpa_supplicant; cp defconfig .config; #Makfefile中添加libnl和礼包ssl的路径 CC=arm-linux-gnueabihf-gcc CFLAGS += -I../../libnl-1.1.4/__install/include CFLAGS += -I../../openssl-1.0.2g/__install/include LIBS += -L../../libnl-1.1.4/__install/lib -lnl -lm -lpthread LIBS += -L../../openssl-1.0.2g/__install/lib -lssl -lcrypto -ldl #编译 make clean && make; #生成wpa_supplicant和wpa_cli arm-linux-gnueabihf-strip wpa_cli arm-linux-gnueabihf-strip wpa_supplicant

hostapd编译(不过我没用到,调不通,用的是rk自带的)

复制代码
1
2
3
4
5
6
7
8
9
10
11
cd SDK/extern/wifi_tool/wpa_supplicant_8_kk_4.4_rtw_r25669.20171213/hostapd; cp defconfig .config; #Makfefile中添加libnl和礼包ssl的路径 CC=arm-linux-gnueabihf-gcc CFLAGS += -I../../libnl-1.1.4/__install/include CFLAGS += -I../../openssl-1.0.2g/__install/include LIBS += -L../../libnl-1.1.4/__install/lib -lnl -pthread LIBS += -L../../openssl-1.0.2g/__install/lib -lssl -lcrypto -ldl #编译 make clean &&& make;

开机运行脚本测试WIFI—STA模式

开机后可以用lsusb命令看看是否有wifi节点(ID为下图:即为wifi模块)
在这里插入图片描述
运行脚本
./wifi_test.sh

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
cd /mnt/wifi_lib echo host > /sys/devices/platform/ff4c0000.usb2-phy/otg_mode #使能usb为Host模式,这个建议放到/etc/ini.d/rcS里面开机执行一次就好 killall softapDemo&&killall hostapd && killall udhcpd rmmod wlan sleep 1 insmod wlan.ko #加载后可以用iwlist wlan0 scan命令验证一下能不能搜索到热点 export LD_LIBRARY_PATH=/mnt/wifi_lib/nl_lib:$LD_LIBRARY_PATH export LD_LIBRARY_PATH=/mnt/wifi_lib/lib:$LD_LIBRARY_PATH ifconfig wlan0 up ./wpa_supplicant -B -iwlan0 -c wpa_supplicant.conf -Dnl80211 ./wpa_cli -i wlan0 status route del default;route del 255.255.255.255 udhcpc -iwlan0 -q& route add -net 255.255.255.255 netmask 255.255.255.255 dev wlan0

然后板子就可以通过wifi ping外网了

运行脚本测试WIFI-AP模式

./hostapd.sh

复制代码
1
2
3
4
5
6
7
killall wpa_supplicant sleep 2 ifconfig wlan0 0.0.0.0 ifconfig wlan0 down killall hostapd && killall udhcpd softapDemo

然后可以用笔记本尝试连接热点ping板子wlan0 ip是否能通

全部资源下载

点这点这~~~~

最后

以上就是俊逸诺言最近收集整理的关于[基于瑞芯微RV1126调试RTL8818FU WIFI模组支持STA和AP模式]内核menuconfig配置内核dts配置文件系统配置和更改驱动编译wifi工具编译开机运行脚本测试WIFI—STA模式运行脚本测试WIFI-AP模式全部资源下载的全部内容,更多相关[基于瑞芯微RV1126调试RTL8818FU内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(60)

评论列表共有 0 条评论

立即
投稿
返回
顶部