91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

RK3288怎么添加WiFi和BT模塊AP6212

發布時間:2021-11-06 17:08:42 來源:億速云 閱讀:373 作者:柒染 欄目:建站服務器

這篇文章將為大家詳細講解有關RK3288怎么添加WiFi和BT模塊AP6212,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

CPU:RK3288

系統:Android 5.1

 注:系統中自帶的模塊沒有AP6212,相近的只有AP6210,設置為AP6210,直接添加固件也可以正常使用。

此文是手動添加AP6212的例程。

1、在設備樹中修改 wifi 芯片為 ap6212,

kernel/arch/arm/boot/dts/rk3288-tb_8846.dts

diff --git a/kernel/arch/arm/boot/dts/rk3288-tb_8846.dts b/kernel/arch/arm/boot/dts/rk3288-tb_8846.dts
index 6a65163..aa5480d 100755--- a/kernel/arch/arm/boot/dts/rk3288-tb_8846.dts+++ b/kernel/arch/arm/boot/dts/rk3288-tb_8846.dts
@@ -42,7 +42,7 @@                  * rtl8188eu, rtl8723bs, rtl8723bu                  * esp8089                */
-               wifi_chip_type = "ap6330";+               wifi_chip_type = "ap6212";
 
         sdio_vref = <1800>; //1800mv or 3300mv

2、在 Kconfig 文件中增加 AP6212 選項。

/kernel/drivers/net/wireless/Kconfig

diff --git a/kernel/drivers/net/wireless/Kconfig b/kernel/drivers/net/wireless/Kconfig
index 544aa86..3e1026d 100755--- a/kernel/drivers/net/wireless/Kconfig+++ b/kernel/drivers/net/wireless/Kconfig
@@ -84,6 +84,10 @@ choice
        config AP6210                bool "AP6210"
                depends on RKWIFI+               
+       config AP6212+               bool "AP6212"+               depends on RKWIFI
 
        config AP6234                bool "AP6234"

3、在配置文件 rockchip_defconfig 中屏蔽舊 wifi 芯片,增加新的 wifi 芯片

kernel/arch/arm/configs/rockchip_defconfig

diff --git a/kernel/arch/arm/configs/rockchip_defconfig b/kernel/arch/arm/configs/rockchip_defconfig
index e7c697a..5199ec0 100755--- a/kernel/arch/arm/configs/rockchip_defconfig+++ b/kernel/arch/arm/configs/rockchip_defconfig
@@ -299,7 +299,7 @@ CONFIG_USB_SIERRA_NET=y
 CONFIG_RTL8188EU=y
 CONFIG_ESP8089=y
 CONFIG_RKWIFI=y-CONFIG_AP6335=y+# CONFIG_AP6335 is not set+CONFIG_AP6212=y
 # CONFIG_INPUT_MOUSEDEV is not set
 CONFIG_INPUT_EVDEV=y
 CONFIG_INPUT_KEYRESET=y

4、此時串口打印中會出現打開文件 fw_bcm43438a1.bin 失敗,需要更新 wifi 模塊固件。

[   18.686420] dhdsdio_download_code_file: Open firmware file failed /system/etc/firmware/fw_bcm43438a1.bin
[   18.686430] _dhdsdio_download_firmware: dongle image file download failed

WiFI 固件路徑:/external/wlan_loader/firmware

將模塊供應商提供的固件文件拷貝到此目錄下,然后編譯燒錄。

external/wlan_loader/firmware/fw_bcm43438a1.bin
external/wlan_loader/firmware/fw_bcm43438a1_apsta.bin
external/wlan_loader/firmware/fw_bcm43438a1_p2p.bin
external/wlan_loader/firmware/nvram_ap6212.txt

編譯后,系統會將模塊固件拷貝到 out/target/product/rk3288/system/etc//firmware/ 目錄下

如果只是調試,可以通過 adb 將固件 push 到 /system/etc//firmware/ 目錄下,然后重啟。

kernel/drivers/net/wireless/rockchip_wlan/rkwifi/rk_wifi_config.c

wifi 驅動路徑:kernel/net/rfkill/rfkill-wlan.c

如果器件升級,比如器件為AP6212A,供應商給的文件問 nvram_ap6212a.txt,則需要修改下面文件。(直接用以前的 nvram_ap6212.txt 也可以用,但文件不一樣,不清楚)

路徑:\kernel\drivers\net\wireless\rockchip_wlan\rkwifi\bcmdhd\dhd_config.c

diff --git a/kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_config.c b/kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_config.c
index 39641e1..91d7925 100755--- a/kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_config.c+++ b/kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_config.c
@@ -477,7 +477,7 @@ dhd_conf_set_fw_name_by_chip(dhd_pub_t *dhd, char *fw_path, char *nv_path)
                                strcpy(&fw_path[i+1], bcm43438a0_fw_name[fw_type]);                        else if (chiprev == BCM43430A1_CHIP_REV)
                                strcpy(&fw_path[i+1], bcm43438a1_fw_name[fw_type]);-                       strcpy(&nv_path[j+1], "nvram_ap6212.txt");+                       strcpy(&nv_path[j+1], "nvram_ap6212a.txt");break;                case BCM43340_CHIP_ID:                        if (chiprev == BCM43340B0_CHIP_REV)

5、BT 驅動中增添代碼,支持 AP6212

BT 驅動路徑:kernel/net/rfkill/rfkill-bt.c

diff --git a/kernel/net/rfkill/rfkill-bt.c b/kernel/net/rfkill/rfkill-bt.c
index a1a156c..3070080 100755--- a/kernel/net/rfkill/rfkill-bt.c+++ b/kernel/net/rfkill/rfkill-bt.c
@@ -95,6 +95,8 @@ static const char bt_name[] =     #else
         "ap6210_24M"
     #endif+#elif defined(CONFIG_AP6212)
+               "ap6212"
 #elif defined(CONFIG_AP6330)                "ap6330"
 #elif defined(CONFIG_AP6476)@@ -266,7 +268,7 @@ static int rfkill_rk_set_power(void *data, bool blocked)        struct rfkill_rk_data *rfkill = data;     struct rfkill_rk_gpio *poweron = &rfkill->pdata->poweron_gpio;     struct rfkill_rk_gpio *reset = &rfkill->pdata->reset_gpio;-#if defined(CONFIG_AP6210) || defined(CONFIG_AP6335)
+#if defined(CONFIG_AP6210) || defined(CONFIG_AP6212) || defined(CONFIG_AP6335)     struct rfkill_rk_gpio* rts = &rfkill->pdata->rts_gpio;     struct pinctrl *pinctrl = rfkill->pdata->pinctrl; #endif@@ -307,7 +309,7 @@ static int rfkill_rk_set_power(void *data, bool blocked)
             msleep(20);
                        gpio_direction_output(reset->io, reset->enable);
         }-#if defined(CONFIG_AP6210) || defined(CONFIG_AP6335)
+#if defined(CONFIG_AP6210) || defined(CONFIG_AP6212) || defined(CONFIG_AP6335)         if (pinctrl != NULL && gpio_is_valid(rts->io))
         {
             pinctrl_select_state(pinctrl, rts->gpio_state);

 到此 AP6212 就可以正常使用了,但是不知道供應商提供的 BT 固件應該拷貝到哪里。

關于RK3288怎么添加WiFi和BT模塊AP6212就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

成安县| 云霄县| 乌拉特前旗| 宜宾县| 吐鲁番市| 康乐县| 特克斯县| 禹州市| 河东区| 阳西县| 长阳| 通化市| 潮州市| 荣昌县| 锡林浩特市| 台中市| 穆棱市| 大英县| 武邑县| 泉州市| 柘荣县| 长兴县| 嘉善县| 新巴尔虎左旗| 上高县| 城口县| 福州市| 武宁县| 新乐市| 岑溪市| 平湖市| 罗平县| 都江堰市| 南澳县| 潜山县| 鄂伦春自治旗| 固安县| 尖扎县| 沁阳市| 万盛区| 河北区|