linux buildroot wifi 移植

1,复制驱动:
        驱动复制到 /external/rkwifibt/drivers/aic8800/

2,复制bin文件

        bin文件复制到/external/rkwifibt/firmware/aic8800/

3,配置CONFIG

diff --git a/package/armbian-firmware/Config.in b/package/armbian-firmware/Config.in
index 7fb654b6d5..444a037d91 100644
--- a/package/armbian-firmware/Config.in
+++ b/package/armbian-firmware/Config.in
@@ -28,6 +28,11 @@ config BR2_PACKAGE_ARMBIAN_FIRMWARE_RTL8822CS
        help
          Firmware files for Realtek 8822CS SDIO combo chip.
 
+config BR2_PACKAGE_ARMBIAN_FIRMWARE_AIC8800
+       bool "AIC8800 SDIO WiFi/BT"
+       help
+         Firmware files for Realtek AIC8800 SDIO combo chip.
+
 config BR2_PACKAGE_ARMBIAN_FIRMWARE_XR819
        bool "XR819 WiFi"
        help

4,配置模块编译和模块复制

        

diff --git a/common/scripts/post-wifibt.sh b/common/scripts/post-wifibt.sh
index c9a0c1a..2c27c69 100755
--- a/common/scripts/post-wifibt.sh
+++ b/common/scripts/post-wifibt.sh
@@ -242,6 +242,10 @@ build_wifibt()
                $KMAKE M=$RKWIFIBT_DIR/drivers/rtl8822cs modules
        fi
 
+       if [[ "$RK_WIFIBT_CHIP" = "AIC8800" ]];then
+               $KMAKE M=$RKWIFIBT_DIR/drivers/aic8800 modules
+       fi
+
        if [[ "$RK_WIFIBT_CHIP" = "RTL8852BS" ]];then
                $KMAKE M=$RKWIFIBT_DIR/drivers/rtl8852bs modules
        fi
@@ -318,6 +322,25 @@ build_wifibt()
                fi
        fi
 
+       if [[ "$RK_WIFIBT_CHIP" =~ "AIC" ]];then
+               echo "Copy AIC file to rootfs"
+               if [ -d "$RKWIFIBT_DIR/firmware/aic8800" ]; then
+                       cp $RKWIFIBT_DIR/firmware/aic8800/* \
+                               $TARGET_DIR/lib/firmware/rtlbt/
+                       cp $RKWIFIBT_DIR/firmware/aic8800/* \
+                               $TARGET_DIR/lib/firmware/
+               else
+                       echo "INFO: $RK_WIFIBT_CHIP isn't bluetooth?"
+               fi
+
+               cp $RKWIFIBT_DIR/drivers/aic8800/aic8800_bsp/*.ko \
+                       $TARGET_DIR/lib/modules/
+               cp $RKWIFIBT_DIR/drivers/aic8800/aic8800_fdrv/*.ko \
+                       $TARGET_DIR/lib/modules/
+               cp $RKWIFIBT_DIR/drivers/aic8800/aic8800_btlpm/*.ko \
+                       $TARGET_DIR/lib/modules/
+       fi
+
        if [[ "$RK_WIFIBT_CHIP" =~ "RTL" ]];then
                echo "Copy RTL file to rootfs"
                if [ -d "$RKWIFIBT_DIR/firmware/realtek/$RK_WIFIBT_CHIP" ]; then

5,配置CONFIG

        /device/rockchip/.chips/rk3528/rockchip_rk3528_demo4_ddr4_v10_defconfig

                RK_WIFIBT_CHIP="AIC8800"

6,模块加载(非常规)
 

diff --git a/conf/wpa_supplicant.conf b/conf/wpa_supplicant.conf                                                                                                                                                                                                              
index 9c71c67..b413961 100644                                                                                                                                                                                                                                                 
--- a/conf/wpa_supplicant.conf                                                                                                                                                                                                                                                
+++ b/conf/wpa_supplicant.conf                                                                                                                                                                                                                                                
@@ -2,8 +2,8 @@ ctrl_interface=/var/run/wpa_supplicant                                                                                                                                                                                                                        
 ap_scan=1                                                                                                                                                                                                                                                                    
 update_config=1                                                                                                                                                                                                                                                              
                                                                                                                                                                                                                                                                              
-network={                                                                                                                                                                                                                                                                    
-       ssid="SSID"                                                                                                                                                                                                                                         1,1           All
-       psk="PASSWORD"
-       key_mgmt=WPA-PSK
-}
+#network={
+#      ssid="SSID"
+#      psk="PASSWORD"
+#      key_mgmt=WPA-PSK
+#}
diff --git a/scripts/wifibt-init.sh b/scripts/wifibt-init.sh
index 9a20518..734eef7 100755
--- a/scripts/wifibt-init.sh
+++ b/scripts/wifibt-init.sh
@@ -46,6 +46,8 @@ start_bt_rtk_usb()
 
 start_wifi()
 {
+       insmod /usr/lib/modules/aic8800_bsp.ko
+       insmod /usr/lib/modules/aic8800_btlpm.ko
        ! wifi_ready || return
 
        cd "${WIFIBT_MODULE_DIR:-/lib/modules}"
@@ -91,6 +93,10 @@ start_bt()
 
 start_wifibt()
 {
+       touch /system/a_test
+       insmod /usr/lib/modules/aic8800_bsp.ko
+       insmod /usr/lib/modules/aic8800_fdrv.ko
+       wpa_supplicant -iwlan0 -Dnl80211 -c /etc/wpa_supplicant.conf -dd &
        WIFIBT_CHIP=$(wifibt-util.sh chip)
        if [ -z "$WIFIBT_CHIP" ]; then
                echo "Failed to detect Wi-Fi/BT chip!"
diff --git a/scripts/wifibt-util.sh b/scripts/wifibt-util.sh
index 5c489e3..faf5849 100755
--- a/scripts/wifibt-util.sh
+++ b/scripts/wifibt-util.sh
@@ -102,6 +102,7 @@ Realtek     RTL8192DU       0bda:8194       RTL8192DU.ko
 Realtek        RTL8812AU       0bda:8812       RTL8812AU.ko
 Realtek        RTL8821CS       0bda:c821       RTL8821CS.ko
 Realtek        RTL8822CS       0bda:c822       RTL8822CS.ko
+AIC8800                        c8a1:c08d       aic8800_fdrv.ko
 Realtek        RTL8822BE       10ec:b822       RTL8822BE.ko
 Realtek        RTL8822CE       10ec:c822       RTL8822CE.ko
 Realtek        RTL8852BE       10ec:b852       RTL8852BE.ko

7,WiFi启动:
 

wpa_cli -i wlan0 scan                                                   //扫描
wpa_cli -i wlan0 scan_results                                           //返回扫描结果
wpa_cli -i wlan0 add_network 0                                          //新增网络节点
wpa_cli -i wlan0 set_network 0 ssid '"Vanzeak_MKTG_2.4G"'               //设置连接热点的名称
wpa_cli -i wlan0 set_network 0 psk '"vanzeak@2018."'                    //设置连接热点的密码
wpa_cli -i wlan0 select_network 0                                       //连接
wpa_cli -i wlan0 save_config                                            //保存连接信息

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值