查看: 6322|回复: 0

[经验] VS-RK3399嵌入式开发板QT下wifi 移植方法

[复制链接]
  • TA的每日心情
    慵懒
    2021-6-29 16:40
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2020-7-24 16:47:50 | 显示全部楼层 |阅读模式
    分享到:
    VS-RK3399嵌入式开发板QT下wifi 移植方法

    RK3399的CPU采用big.LITTLE大小核架构,双Cortex-A72大核+四Cortex-A53小核结构,对整数、浮点、内存等作了大幅优化,在整体性能、功耗及核心面积三个方面都具革命性提升。 RK3399的GPU采用四核ARM新一代高端图像处理器Mali-T860,集成更多带宽压缩技术:如智能迭加、ASTC、本地像素存储等,还支持更多的图形和计算接口,总体性能比上一代提升45%。
    800X800.jpg
    第1章 内核配置
    硬件平台:x3399开发板或ibox3399卡片电脑
    操作系统:linux4.4.5 + QT5.6
    WIFI型号:AP6356S(AP6335,AP6225方法可通用)
    1.1 使能内核配置项CFG80211
    确定内核配置项CONFIG_CFG80211=y,如下:
    -> Networking support (NET [=y])
    -> Wireless (WIRELESS [=y])
    -> cfg80211 - wireless configuration API

    1.2 添加内容到Kconfig
    添加下面内容到kernel/drivers/net/wireless/rockchip_wlan/rkwifi/Kconfig
    source “drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/Kconfig”

    1.3 添加内容到Makefile
    添加下列内容到kernel/drivers/net/wireless/rockchip_wlan/rkwifi/Makefile
    obj-(CONFIGBCMDHD)+=bcmdhd/注意:如果Makefile文件这一项的配置项是“obj−(CONFIGBCMDHD)+=bcmdhd/注意:如果Makefile文件这一项的配置项是“obj−(CONFIG_AP6XXX) += bcmdhd/”,则将其改为上述内容。

    1.4 Wi-Fi驱动配置
    添加上述2和3后,进入内核make menuconfig
    -> Device Drivers
    -> Network device support (NETDEVICES [=y])
    -> Wireless LAN (WLAN [=y])
    -> Rockchip Wireless LAN support
    做出如下配置:

    说明:配置项Firmware path和NVRAM path可以不用修改,参照默认配置即可。这里的文件fw_bcm4356a2_ag_apsta.bin、nvram_ap6356s.txt获取来源参见本文档“添加固件”
    第2章 Buildroot配置
    2.1 配置wpa_supplicant
    执行make x3399_defconfig默认配置后,进入make menuconfig做出如下配置:
    -> Target packages
    -> Networking applications

    2.2 配置rfkill
    -> Target packages
    -> Hardware handlingrfkill

    2.3 配置hostapd
    -> Target packages
    -> Networking applications

    选择hostapd配置项

    2.4 在buildroot中添加S99wpa_supplicant
    添加文件S99wpa_supplicant到buildroot/board/9tripod/x3399/rootfs-overlay/etc/init.d/目录
    文件S99wpa_supplicant是wpa_supplicant服务开机启动的脚本,内容如下:

    !/bin/sh

    #

    Start the wpa_supplicant….

    #

    case “$1” in
    start)
    echo “Starting wpa_supplicant…”
    ifconfig wlan0 up
    /usr/sbin/wpa_supplicant -Dnl80211 -i wlan0 -c /etc/wpa_supplicant.conf &

    /usr/sbin/wpa_supplicant -Dnl80211 -iwlan0 -c/etc/wpa_supplicant.conf -B;;
    • 1
    • 2

    stop)



    echo -n “Stopping wpa_supplicant…”
    ifconfig wlan0 down
    ;;
    restart|reload)
    “<span class="MathJax" id="MathJax-Element-2-Frame" tabindex="0" data-mathml="0”stop“" role="presentation" style="box-sizing: border-box; outline: 0px; display: inline; line-height: normal; text-align: left; word-spacing: normal; word-wrap: normal; white-space: nowrap; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0px; min-height: 0px; border: 0px; word-break: break-all; position: relative;">0”stop“0”stop“0” start
    ;;
    *)
    echo “Usage: $0 {start|stop|restart}”
    exit 1
    esac

    exit $?

    说明:wpa_supplicant可执行程序根据具体位置确定。其中启动wpa_supplicant服务指令:
    -iwlan0 wlan0网络接口名称;/etc/wpa_supplicant.conf是wpa_supplicant的配置文件;
    可适当添加下列选项;
    -d 增加调试信息,-Dwext: wext驱动名称

    2.5 在buildroot中添加wpa_supplicant.conf文件
    添加文件wpa_supplicant.conf到buildroot/board/9tripod/x3399/rootfs-overlay/etc/目录
    wpa_supplicant.conf是wpa_supplicant的配置文件,内容如下:
    ctrl_interface=/var/run/wpa_supplicant
    ap_scan=1
    update_config=1

    network={
    ssid=”JDCZ2.4”
    psk=”123456789”
    }
    其中ssid是接入点名称,psk是密码

    2.6 添加固件
    文件:nvram_ap6356s.txt、fw_bcm4356a2_ag.bin、fw_bcm4356a2_ag_apsta.bin
    将此3个文件添加进buildroot/board/9tripod/x3399/rootfs-overlay/system/etc/firmware/目录


    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则



    手机版|小黑屋|与非网

    GMT+8, 2024-4-23 21:31 , Processed in 0.116192 second(s), 17 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.