日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2024/3/26 编程问答 57 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [基于瑞芯微RV1126调试RTL8818FU WIFI模组支持STA和AP模式] 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

基于瑞芯微RV1126調試RTL8818FU WIFI模組支持STA和AP模式

  • 內核menuconfig配置
  • 內核dts配置
  • 文件系統配置和更改
  • 驅動編譯
  • wifi工具編譯
    • libnl庫編譯
    • openssl編譯
    • wpa_supplicant編譯
    • hostapd編譯(不過我沒用到,調不通,用的是rk自帶的)
  • 開機運行腳本測試WIFI—STA模式
  • 運行腳本測試WIFI-AP模式
  • 全部資源下載

內核menuconfig配置

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配置

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>;};};

文件系統配置和更改

刪掉中間文件: 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 有沒被覆蓋,覆蓋掉的話需要重新注釋

驅動編譯

修改配置
SDK\extern\rtl8188FU_linux_v5.11.5-13-g2482755ff.20210615\Makefile

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庫編譯

mkdir __install; ./configure CC=arm-linux-gnueabihf-gcc AR=arm-linux-gnueabihf-ar --prefix=$(pwd)/__install --host=arm-linux-gnueabihf; make && make install;

openssl編譯

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編譯

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自帶的)

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

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

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模式]的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。