吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

迅為RK3399開發板如何基于RTL8822CS模塊實現Android7移植WiFi

北京迅為電子 ? 2021-11-25 13:57 ? 次閱讀

近期需要把 wifi 無線網絡功能(RTL8822CS 模塊)移植到 iTOP-3399 開發板,經過一段時間研究, 調試,終于成功的將 wifi 功能移植到開發板上面。

移植的環境:

1. iTOP-3399 開發板+ RTL8822CS 模塊

2. Android 7.0

3. 搭建好編譯環境的 ubuntu16.04 64Bit 開發環境

移植步驟

80.3.1 增加設備樹節點

在 /home/topeet/rk3399_7.1_industry/kernel/arch/arm64/boot/dts/rockchip/rk3399-topeet.dtsi 設 備 樹 中 添加 WiFi 節點,如下圖所示:

wifi_chip_type 屬性表示 WiFi 器件的類型為 rtl8822cs。

查找 sdio0 節點,注釋掉下面的語句,注釋掉這句是因為注冊 sdio 設備時,會注冊不上。

80.3.2 修改內核驅動

修改驅動的思路:

1) 將驅動文件拷貝內核中

2) 在內核中加載上添加的驅動

3) 我們提前了解下配置 wifi 固件一般是在源碼

drivers/net/wireless/rockchip_wlan/rkwifi/rk_wifi_config.c,wifi 模塊驅動在源碼 net/rfkill/rfkill-wlan.c

第一步,我們拷貝光盤資料下“

iTOP-3399 開發板\02_iTOP-3399 開發資料匯總(不含光盤內容)\13_

嵌入式 Linux 開發指南(RK3399)手冊配套資料\6.Android 底層驅動\Android7wifi 移植\原廠 wifi 驅動” RTL8822CS_WiFi_linux_v5.12.1.1-0.20210125.tar.gz,此驅動是 wifi 模組的廠家提供的,我們將其放入內核目 錄 drivers/net/wireless/rockchip_wlan/下,并修改文件夾名稱為 rtl8822cs,如下圖所示:

接著修改以下文件:

(1)修改 drivers/net/wireless/rockchip_wlan/Makefile 文件,添加以下內容:

obj-$(CONFIG_RTL8822CS) += rtl8822cs/

(2)修改 drivers/net/wireless/rockchip_wlan/Kconfig 文件,添加

source "drivers/net/wireless/rockchip_wlan/rtl8822cs/Kconfig"

(3)修改 drivers/net/wireless/rockchip_wlan/Kconfig/rtl8822cs 下的 Makefile 文件

將文件中的 CONFIG_PLATFORM_I386_PC 的值修改為 n 將文件中的 ONFIG_PLATFORM_ARM_RK3188 的值修改為 y

如下圖所示:

將如下圖所示所示的修改為 MODULE_NAME := 8822cs

如下圖所示,可以打開或關閉 debug 信息

(4)修改 drivers/net/wireless/rockchip_wlan/Kconfig/rtl8822cs 下的 Kconfig 文件

將第一行的 RTL8822BS 修改為 RTL8822CS,這里是廠家的源碼寫錯了,不改正的話不會編譯到這個源碼目錄。

(5)然后在內核目錄下(也就是 kernel 目錄下)輸入以下命令配置加載驅動。

(6)輸入以下命令,將保存好的.config 文件復制替換默認的內核配置 defconfig 文件

cp .config arch/arm64/configs/rockchip_defconfig

(7)然后修改/home/topeet/rk3399_7.1_industry/kernel/net/rfkill/rfkill-wlan.c 文件,添加如下所示內容。

} else if (strcmp(wifi_chip_type_string, "rtl8822cs") == 0) {

type = WIFI_RTL8822CS;


8)然后修改/home/topeet/rk3399_7.1_industry/kernel/include/linux/rfkill-wlan.h 文件,添加如下內容, 如下圖所示: WIFI_RTL_8822CS

80.3.3 修改 HAl 層

(1)我們修改/home/topeet/rk3399_7.1_industry/hardware/libhardware_legacy/wifi/rk_wifi_ctrl.c 文件, 添加如下所示代碼,如下圖所示:

{"RTL8822CS",

"024c:c822"},

(2)將 strcpy(recoginze_wifi_chip, "APXXX");注釋掉,修改為 strcpy(recoginze_wifi_chip, "RTL8822CS"); strcpy(recoginze_wifi_chip, "RTL8822CS")

(3)修改/home/topeet/rk3399_7.1_industry/hardware/libhardware_legacy/wifi/wifi.c 文件,添加代碼 #define RTL8822CS_DRIVER_MODULE_PATH "/system/lib/modules/8822cs.ko"

添加代碼,如下圖所示。

#define RTL8822CS_DRIVER_MODULE_NAME

"8822cs"

添加代碼,如下圖所示:

{"RTL8822CS", RTL8822CS_DRIVER_MODULE_NAME, UNKKOWN_DRIVER_MODULE_ARG},

80.3.4APP 層

Android 桌面“設置”APP 里面連接 WiFi 的程序在源碼:

packages/apps/Settings/src/com/android/settings/wifi/目錄下。此部分不需要修改。

經過上面的修改,然后重新編譯 Android7 源碼,燒寫鏡像后,便可以進行調試。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 開發板
    +關注

    關注

    25

    文章

    5121

    瀏覽量

    98196
收藏 人收藏

    評論

    相關推薦

    RK3568開發板驅動指南Linux中通用SPI設備驅動

    RK3568開發板驅動指南Linux中通用SPI設備驅動
    的頭像 發表于 01-23 11:02 ?1584次閱讀
    <b class='flag-5'>迅</b><b class='flag-5'>為</b><b class='flag-5'>RK</b>3568<b class='flag-5'>開發板</b>驅動指南Linux中通用SPI設備驅動

    RK3576開發板Android?多屏顯示

    RK3576開發板Android?多屏顯示
    的頭像 發表于 01-16 16:58 ?300次閱讀
    <b class='flag-5'>迅</b><b class='flag-5'>為</b><b class='flag-5'>RK</b>3576<b class='flag-5'>開發板</b><b class='flag-5'>Android</b>?多屏顯示

    RK3576開發板核心與底板接口硬件介紹

    RK3576開發板核心與底板接口硬件介紹
    的頭像 發表于 01-14 15:15 ?360次閱讀
    <b class='flag-5'>迅</b><b class='flag-5'>為</b><b class='flag-5'>RK</b>3576<b class='flag-5'>開發板</b>核心<b class='flag-5'>板</b>與底板接口硬件介紹

    [RK3568開發板]非科班也能玩轉Android應用,體驗QT跨平臺能力

    [RK3568開發板]非科班也能玩轉Android應用,體驗QT跨平臺能力
    的頭像 發表于 12-18 16:41 ?433次閱讀
    [<b class='flag-5'>迅</b><b class='flag-5'>為</b><b class='flag-5'>RK</b>3568<b class='flag-5'>開發板</b>]非科班也能玩轉<b class='flag-5'>Android</b>應用,體驗QT跨平臺能力

    敬請期待 | RK3576開發板即將發布

    敬請期待 | RK3576開發板即將發布
    的頭像 發表于 11-22 15:13 ?210次閱讀
    敬請期待 | <b class='flag-5'>迅</b><b class='flag-5'>為</b><b class='flag-5'>RK</b>3576<b class='flag-5'>開發板</b>即將發布

    基于RK3568開發板全國產平臺,快速實現APP開機自啟動技術分享

    基于RK3568開發板全國產平臺,快速實現APP開機自啟動技術分享
    的頭像 發表于 11-21 13:58 ?451次閱讀
    基于<b class='flag-5'>迅</b><b class='flag-5'>為</b><b class='flag-5'>RK</b>3568<b class='flag-5'>開發板</b>全國產平臺,快速<b class='flag-5'>實現</b>APP開機自啟動技術分享

    RK3588開發板Android12動態替換開機logo

    RK3588開發板Android12動態替換開機logo
    的頭像 發表于 11-15 15:04 ?585次閱讀
    <b class='flag-5'>迅</b><b class='flag-5'>為</b><b class='flag-5'>RK</b>3588<b class='flag-5'>開發板</b><b class='flag-5'>Android</b>12動態替換開機logo

    RK3588!黑神話悟空,啟動?-電子RK3588開發板

    RK3588!黑神話悟空,啟動?-電子RK3588開發板
    的頭像 發表于 08-30 14:13 ?762次閱讀
    <b class='flag-5'>RK</b>3588!黑神話悟空,啟動?-<b class='flag-5'>迅</b><b class='flag-5'>為</b>電子<b class='flag-5'>RK</b>3588<b class='flag-5'>開發板</b>

    RK3588開發板運行openkylin麒麟系統

    RK3588開發板移植了銀河麒麟和開放麒麟系統
    發表于 08-19 10:38

    探索巔峰性能 | RK3588開發板深度剖析

    探索巔峰性能 | RK3588開發板深度剖析
    的頭像 發表于 08-12 14:07 ?1001次閱讀
    探索巔峰性能 | <b class='flag-5'>迅</b><b class='flag-5'>為</b><b class='flag-5'>RK</b>3588<b class='flag-5'>開發板</b>深度剖析

    RK3588開發部可移植銀河麒麟和開放麒麟系統

    RK3588開發板移植了銀河麒麟和開放麒麟系統
    發表于 07-03 11:24

    RK3588S邊緣計算開發板Android13系統功能

    RK3588S邊緣計算開發板Android13系統功能
    的頭像 發表于 04-10 15:43 ?1024次閱讀
    <b class='flag-5'>迅</b><b class='flag-5'>為</b><b class='flag-5'>RK</b>3588S邊緣計算<b class='flag-5'>開發板</b><b class='flag-5'>Android</b>13系統功能

    【OpenHarmony鴻蒙實戰】在RK3399開發板實現智能門禁人臉識別

    基于RK3399開發板,使用OpenHarmony3.0-LTS開發的應用。通過定時獲取攝像頭數據,實現人臉識別比對等功能。
    的頭像 發表于 03-20 17:38 ?1566次閱讀
    【OpenHarmony鴻蒙實戰】在<b class='flag-5'>RK3399</b><b class='flag-5'>開發板實現</b>智能門禁人臉識別

    iTOP-RK3588開發板Buildroot系統功能測試

    iTOP-RK3588開發板Buildroot系統功能測試
    的頭像 發表于 03-14 15:42 ?1542次閱讀
    <b class='flag-5'>迅</b><b class='flag-5'>為</b>iTOP-<b class='flag-5'>RK</b>3588<b class='flag-5'>開發板</b>Buildroot系統功能測試

    RK3568開發板驅動開發指南-輸入子系統

    RK3568開發板驅動開發指南-輸入子系統
    的頭像 發表于 02-23 15:11 ?996次閱讀
    <b class='flag-5'>迅</b><b class='flag-5'>為</b><b class='flag-5'>RK</b>3568<b class='flag-5'>開發板</b>驅動<b class='flag-5'>開發</b>指南-輸入子系統
    澳门百家乐规例| 赌博娱乐场| 百家乐送现金200| 7位百家乐官网扑克桌| 百家乐官网博彩优惠论坛| 赌王百家乐的玩法技巧和规则| 百家乐官网园qq群| 澳门百家乐官网现场真人版| 帝王娱乐城开户| 盛大百家乐的玩法技巧和规则| 金鼎百家乐局部算牌法| 百家乐官网群shozo权威| 百家乐官网免费下| 百家乐官网游戏策略| bet365| 威尼斯人娱乐场 澳门赌场| 百家乐园sun811.com| 属蛇和属猪做生意| 百家乐官网打格式| 网上百家乐官网破战| 百家乐官网试玩全讯网2| 鄯善县| 武胜县| 瑞丰国际,| 大发888线上投注| 百家乐秘籍下注法| 百家乐关台| 百家乐笑话| 百家乐桌小| 百家乐网站制作| 昆明百家乐装修装潢有限公司| 做生意进门风水| 乐中百家乐官网的玩法技巧和规则| 百家乐官网平台导航| 12倍百家乐官网秘籍| 海安县| 亚洲皇冠| 大发娱乐城888| 平博娱乐| 大发娱乐场| 香港六合彩网址|