91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一文搞定RK平臺(tái)Wi-Fi/BT調(diào)試!從配置到問(wèn)題解決全攻略

jf_44130326 ? 來(lái)源:Linux1024 ? 2026-02-09 16:57 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

嵌入式Linux開(kāi)發(fā)中,瑞芯微Rockchip)平臺(tái)的Wi-Fi藍(lán)牙調(diào)試是許多工程師的核心需求。無(wú)論是RK3588、RK356X等主流芯片,還是RV1106/1103IPC專(zhuān)用芯片,Wi-Fi/BT的穩(wěn)定運(yùn)行直接影響產(chǎn)品體驗(yàn)。本文從配置、編譯、測(cè)試到問(wèn)題排查,手把手帶你搞定RK平臺(tái)Wi-Fi/BT調(diào)試。

一、先搞懂:RK平臺(tái)支持哪些芯片與模塊?

在開(kāi)始調(diào)試前,先確認(rèn)你的硬件與系統(tǒng)是否在支持范圍內(nèi),避免做無(wú)用功。

1.支持的芯片與內(nèi)核版本

不同芯片對(duì)應(yīng)不同Linux內(nèi)核版本,配置時(shí)需精準(zhǔn)匹配:

芯片系列

支持內(nèi)核版本

RK356X/RK3399/RK3288/RK3326/RK3308/RV1109/RV1126/PX30

Linux 4.4/4.19

RK3588/RK356X/RK3399/RV1106/RV1103

Linux 5.10

2.支持的Wi-Fi/BT模塊

相關(guān)SDK默認(rèn)支持主流模塊,無(wú)需額外移植即可直接使用,常見(jiàn)型號(hào)如下:

?正基(AP/新思系列AP6275、AP6358SAP6212、AP6236等(含Wi-Fi+BT二合一)

?Realtek系列RTL8723DS、RTL8822CSRTL8188FU、RTL8189FS、RTL8821CSRTL8852BS等(Wi-Fi單獨(dú)/二合一)

?英飛凌Cypress /海華)系列CYW4354、CYW43438CYW5557X、CYW5557X_PCIE、CYW54591、CYW54591_PCIE

?國(guó)產(chǎn)模塊:愛(ài)科微(AIC)、高拓(ATBM)等(需從指定FTP獲取支持文件)

二、核心步驟:Wi-Fi/BT配置與編譯

配置是調(diào)試的基礎(chǔ),需從SDK配置→DTS配置內(nèi)核配置三步完成,每一步都不能錯(cuò)!

1. SDK配置:指定芯片與模塊型號(hào)

首先通過(guò)腳本指定芯片型號(hào),再配置Wi-Fi/BT模塊類(lèi)型:

# 1. 配置芯片型號(hào)(以RK3588為例)./build.sh chip rk3588# 2. 修改默認(rèn)配置文件(路徑:SDK_ROOT/device/rockchip/對(duì)應(yīng)芯片目錄)# 示例:rk3588/rockchip_rk3588_evb1_lp4_v10_defconfigRK_WIFIBT_CHIP="ALL_AP"# 支持所有正基模塊;ALL_CY支持所有英飛凌模塊RK_KERNEL_DTS_NAME="rk3588-evb1-ddr4-v10-linux"# 對(duì)應(yīng)DTS文件名# 3. 精細(xì)化選擇模塊(可選,替代ALL_AP/ALL_CY)# 打開(kāi)內(nèi)核配置界面,搜索RK_WIFIBT_CHIP,選擇具體型號(hào)(如AP6275/RTL8822CS)make menuconfig

其中,RK_WIFIBT_CHIP的配置需根據(jù)實(shí)際模塊選擇,除了ALL_APALL_CY,還可直接指定具體型號(hào),如AP6275_PCIE、CYW4354RTL8723DS等,具體支持的型號(hào)可在device/rockchip/common/scripts/post-wifibt.sh文件中查詢。

2. DTS配置:硬件接口橋梁

DTS(設(shè)備樹(shù))是硬件與內(nèi)核的翻譯官,需根據(jù)Wi-Fi/BT接口類(lèi)型(SDIO/USB/PCIE)配置,核心是電源腳、復(fù)位腳、中斷腳的匹配。

1SDIO接口Wi-Fi配置(最常用)

支持標(biāo)準(zhǔn)框架(推薦,統(tǒng)一電源管理)和傳統(tǒng)框架(支持多次加載卸載),這里以正基模塊為例展示標(biāo)準(zhǔn)框架配置:

//1. 電源序列配置(SDIO_PWRSEQ)sdio_pwrseq: sdio-pwrseq {  compatible = "mmc-pwrseq-simple";  pinctrl-names = "default";  pinctrl-0 = <&wifi_enable_h>; // 電源使能引腳  reset-gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>; // WL_REG_ON(參考原理圖,別名可能為WIFI_REG_ON)  post-power-on-delay-ms = <200>; // 上電后延遲(確保穩(wěn)定,默認(rèn)禁用可按需開(kāi)啟)};//2. 引腳配置(PINCTRL)&pinctrl {  sdio-pwrseq {    wifi_enable_h: wifi-enable-h {      rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;    };  }};//3. SDIO控制器配置&sdio {  max-frequency = <150000000>; //最高頻率(SDIO3.0支持150M,SDR104模式最高200MHz)  bus-width = <4>; //4線模式  cap-sd-highspeed; //支持SD高速時(shí)序  cap-sdio-irq; //使能SDIO中斷信號(hào)  non-removable; //非可移除設(shè)備(Wi-Fi模塊焊接在板上)  mmc-pwrseq = <&sdio_pwrseq>; //關(guān)聯(lián)電源序列  status ="okay";};//4. Wi-Fi節(jié)點(diǎn)配置wireless-wlan {  compatible ="wlan-platdata";  rockchip,grf = <&grf>;  clocks = <&rk809?1>; //32.768K時(shí)鐘(參考原理圖,也可能為hym8563)  clock-names ="ext_clock";  wifi_chip_type ="ap6255"; //模塊型號(hào)  WIFI,host_wake_irq = <&gpio0RK_PA0GPIO_ACTIVE_HIGH>; //喚醒引腳,需確認(rèn)硬件連接是否帶反向管  status ="okay";};

標(biāo)準(zhǔn)框架中,WiFiREG_ONmmc框架統(tǒng)一管理,優(yōu)點(diǎn)是電源控制集中,缺點(diǎn)是不支持SDIO card重新識(shí)別;傳統(tǒng)框架中,WiFiREG_ONnet/rfkill/rfkill-wlan.c控制,支持多次rmmod/insmodWiFi驅(qū)動(dòng),但需打KO模式補(bǔ)丁。

2)藍(lán)牙配置(UART接口最常用)

藍(lán)牙需配置UART引腳(TX/RX/RTS/CTS)和電源腳,RTS/CTS必須按要求連接,否則會(huì)出現(xiàn)初始化異常

// 1. 藍(lán)牙節(jié)點(diǎn)配置wireless-bluetooth {  compatible ="bluetooth-platdata";  uart_rts_gpios = <&gpio4?RK_PA7GPIO_ACTIVE_LOW>; // RTS引腳,部分藍(lán)牙芯片CTS上電前需低電平  pinctrl-names ="default","rts_gpio";  pinctrl-0= <&uart4_rts>;  pinctrl-1= <&uart4_rts_gpio>; BT,power_gpio = <&gpio4?RK_PB3GPIO_ACTIVE_HIGH>; // BT_REG_ON(電源腳) // Linux平臺(tái)下,BT,wake_host_irq和BT,wake_gpio無(wú)需配置  status ="okay";};// 2. UART控制器配置(以UART4為例)&uart4 {  pinctrl-names ="default";  pinctrl-0= <&uart4_xfer &uart4_ctsn>; // TX/RX/CTS引腳,無(wú)需配置RTS引腳  status ="okay";};// 3. UART RTS GPIO配置&pinctrl {  wireless-bluetooth {   uart4_rts_gpio: uart4-rts-gpio {      rockchip,pins = <4 RK_PA7 RK_FUNC_GPIO &pcfg_pull_none>;    };  }};

需注意,不同平臺(tái)UART相關(guān)引腳命名可能不同,例如uart4_ctsn在部分平臺(tái)可能名為uart4_cts,需在對(duì)應(yīng)芯片平臺(tái)的dts/dtsi中確認(rèn)。

3IO電源域配置(關(guān)鍵!SDIO3.0必看)

SDIO3.0的設(shè)備務(wù)必使用1.8V供電,需根據(jù)硬件實(shí)際供電情況配置IO電源域:

// 不同平臺(tái)io_domains名字可能不同,部分為&pmu_io_domains&io_domains { // VDDIO3_VDD引用vcc_1v8的電壓,若硬件接3.3V則改為vcc_3v3,名稱(chēng)需按實(shí)際dts/dtsi調(diào)整  vccio3-supply = <&vcc_1v8>;};vcc_1v8: vcc-1v8 {  compatible ="regulator-fixed";  regulator-name ="vcc_1v8";  regulator-always-on;  regulator-boot-on;  regulator-min-microvolt = <1800000>; // 1.8V供電  regulator-max-microvolt = <1800000>;  vin-supply = <&vcc_io>;};

4USB/PCIE接口配置(簡(jiǎn)要)

?USB Wi-Fi:需先參考docs/Common/USB/下的相關(guān)文檔配置USB控制器為HOST模式,Wi-Fi節(jié)點(diǎn)配置分兩種情況:若內(nèi)核.config打開(kāi)CONFIG_RFKILL/CONFIG_RFKILL_RK,則在wireless-wlan節(jié)點(diǎn)配置WIFI,poweren_gpio;若未打開(kāi),則通過(guò)regulator-fixed節(jié)點(diǎn)配置WIFI_REG_ON引腳。

?PCIE Wi-Fi:需先參考docs/Common/PCIe/下的相關(guān)文檔,配置PCIE控制器、PHY及復(fù)位腳(reset-gpios),關(guān)鍵是確認(rèn)VBAT/VCC3V3(長(zhǎng)供電3.3V)、WIFI_REG_ON(開(kāi)機(jī)高電平)、PCIE_PERST_L/PERSTO(復(fù)位管腳)的硬件連接與DTS配置一致,RK3588需特別注意PCIe20dtsi的對(duì)應(yīng)關(guān)系,例如PCIE20_0對(duì)應(yīng)pcie2x1l2、PCIE20_1對(duì)應(yīng)pcie2x1l0等。

3.內(nèi)核配置:開(kāi)啟必要功能

內(nèi)核需開(kāi)啟Wi-Fi/BT相關(guān)驅(qū)動(dòng)與協(xié)議,核心配置如下(通過(guò)make menuconfig或修改.config):

# Wi-Fi核心配置CONFIG_RFKILL=y # 射頻開(kāi)關(guān)CONFIG_RFKILL_RK=y # RK平臺(tái)射頻開(kāi)關(guān)支持CONFIG_MMC=y  # SDIO依賴MMC框架CONFIG_PWRSEQ_SIMPLE=y # 簡(jiǎn)單MMC電源序列支持CONFIG_MMC_DW=y # DW MMC控制器支持CONFIG_MMC_DW_PLTFM=y # DW MMC平臺(tái)支持CONFIG_MMC_DW_ROCKCHIP=y # RK平臺(tái)DW MMC支持CONFIG_WIRELESS=y # 無(wú)線功能支持CONFIG_WIRELESS_EXT=y # 無(wú)線擴(kuò)展支持CONFIG_WEXT_CORE=y # WEXT核心支持CONFIG_WEXT_PROC=y # WEXT進(jìn)程支持CONFIG_WEXT_PRIV=y # WEXT私有支持CONFIG_CFG80211=y# 802.11配置框架CONFIG_CFG80211_REQUIRE_SIGNED_REGDB=y # 要求簽名REGDBCONFIG_CFG80211_USE_KERNEL_REGDB_KEYS=y # 使用內(nèi)核REGDB密鑰CONFIG_CFG80211_DEFAULT_PS=y # 默認(rèn)電源管理CONFIG_CFG80211_CRDA_SUPPORT=y # CRDA支持# CONFIG_CFG80211_WEXT is not set # 關(guān)閉WEXT兼容CONFIG_MAC80211=y# MAC層驅(qū)動(dòng)CONFIG_MAC80211_HAS_RC=y # 速率控制支持CONFIG_MAC80211_RC_MINSTREL=y # Minstrel速率控制算法CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y # 默認(rèn)Minstrel算法CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"# 默認(rèn)速率控制算法CONFIG_MAC80211_STA_HASH_MAX_SIZE=0# STA哈希表最大大小# 藍(lán)牙核心配置CONFIG_BT=y # 藍(lán)牙支持CONFIG_BT_BREDR=y # 經(jīng)典藍(lán)牙支持CONFIG_BT_RFCOMM=y # RFCOMM支持# CONFIG_BT_RFCOMM_TTY is not set # 關(guān)閉RFCOMM TTY# CONFIG_BT_BNEP is not set # 關(guān)閉BNEPCONFIG_BT_HIDP=y # HIDP支持# CONFIG_BT_HS is not set # 關(guān)閉HSCONFIG_BT_LE=y  # 低功耗藍(lán)牙(BLE)支持CONFIG_BT_DEBUGFS=y# 調(diào)試日志支持# Realtek藍(lán)牙需關(guān)閉以下配置,使用自有驅(qū)動(dòng)# CONFIG_BT_HCIUART is not set

其中,正基(新思)和英飛凌(海華/ CY)的模塊使用內(nèi)核默認(rèn)CONFIG_BT_HCIUART驅(qū)動(dòng),而Realtek模塊使用自有hci uart/hci_usb驅(qū)動(dòng),需關(guān)閉內(nèi)核CONFIG_BT_HCIUART配置,其驅(qū)動(dòng)源碼位于external/rkwifibt/realtek/bluetooth_uart_driverexternal/rkwifibt/realtek/bluetooth_usb_driver目錄。

4.編譯:生成驅(qū)動(dòng)與固件

編譯需執(zhí)行指定腳本,自動(dòng)生成驅(qū)動(dòng)(.ko)、固件(firmware)并拷貝到文件系統(tǒng):

# 1. 編譯Wi-Fi/BT驅(qū)動(dòng)與工具./build.sh wifibt# 2. 打包根文件系統(tǒng)(確保驅(qū)動(dòng)與固件被包含)./build.sh rootfs && ./build.sh firmware

編譯過(guò)程會(huì)調(diào)用device/rockchip/common/scripts/mk-wifibt.shdevice/rockchip/common/scripts/post-wifibt.sh腳本,編譯external/rkwifibt/drivers/目錄下的驅(qū)動(dòng),并拷貝對(duì)應(yīng)固件文件到文件系統(tǒng),同時(shí)還會(huì)編譯brcm_patchram_plus1、rtk_hciattach等工具。

關(guān)鍵文件路徑(需熟記,排查時(shí)常用)

文件類(lèi)型

SDK中的路徑

燒錄后設(shè)備路徑

Wi-Fi驅(qū)動(dòng)(.ko

external/rkwifibt/drivers/(如bcmdhd、rtlxxx目錄)

/system/lib/modules//usr/lib/modules/

固件(firmware

external/rkwifibt/firmware/broadcom目錄對(duì)應(yīng)正基,realtek目錄對(duì)應(yīng)Realtek

正基:/system/etc/firmware/;Realtek藍(lán)牙:/lib/firmware/rtlbt/UART)、/lib/firmware/USB

藍(lán)牙工具

external/rkwifibt/tools/brcm_toolsrtk_hciattach目錄)

/usr/bin/(如brcm_patchram_plus1、rtk_hciattach

配置文件

external/rkwifibt/conf/wpa_supplicant.confdnsmasq.conf等)

/data/cfg/wpa_supplicant.conf常用路徑)

初始化腳本

external/rkwifibt/scripts/S36wifibt-init.sh、wifibt-init.sh等)

/etc/init.d/S36wifibt-init.sh

三、功能測(cè)試:驗(yàn)證Wi-Fi/BT是否正常工作

編譯燒錄后,通過(guò)命令行驗(yàn)證核心功能,確?;A(chǔ)功能正常再排查復(fù)雜問(wèn)題。

1. Wi-Fi測(cè)試(STA模式:連接路由器)

Buildroot系統(tǒng)為例:

# 1. 加載Wi-Fi驅(qū)動(dòng)(正基模塊示例:bcmdhd.ko;Realtek模塊示例:RTL8723DS.ko)insmod /system/lib/modules/bcmdhd.ko# 2. 啟動(dòng)wlan0接口ifconfig wlan0 up# 3. 配置wpa_supplicant(連接路由器)# 編輯配置文件:/data/cfg/wpa_supplicant.confcat > /data/cfg/wpa_supplicant.conf << EOFctrl_interface=/var/run/wpa_supplicant # 控制接口路徑,默認(rèn)不建議修改ap_scan=1 # AP掃描模式update_config=1 # 允許wpa_cli配置保存到文件network={  ssid="你的路由器SSID"# Wi-Fi名稱(chēng)  psk="你的路由器密碼" # Wi-Fi密碼(8-63位)  key_mgmt=WPA-PSK   # 加密方式,不加密改為key_mgmt=NONE}EOF# 4. 啟動(dòng)wpa_supplicant并獲取IPwpa_supplicant -B -i wlan0 -c /data/cfg/wpa_supplicant.conf # -B后臺(tái)運(yùn)行# 使用dhcp客戶端獲取IP(二選一,不可同時(shí)啟用)dhcpcd wlan0 # 功能完整的DHCP客戶端(默認(rèn))# 或 udhcpc -i wlan0 # busybox精簡(jiǎn)DHCP客戶端# 5. 驗(yàn)證:ping路由器網(wǎng)關(guān)ping 192.168.1.1 -c 4 # -c指定ping次數(shù)

若需掃描周邊AP,可在wpa_supplicant進(jìn)程運(yùn)行的前提下,執(zhí)行wpa_cli -i wlan0 -p /var/run/wpa_supplicant scanwpa_cli -i wlan0 -p /var/run/wpa_supplicant scan_results命令,掃描結(jié)果需與手機(jī)掃描的2.4G/5G AP個(gè)數(shù)(根據(jù)模塊支持頻段)及信號(hào)強(qiáng)度對(duì)比,正常信號(hào)強(qiáng)度范圍:好(-20~-50dBm)、可接受(-50~-70dBm)、差(-70~-90dBm)。

2. Wi-Fi AP模式(設(shè)備作為熱點(diǎn))

相關(guān)SDK集成softapDemo工具,可快速開(kāi)啟熱點(diǎn),不同模塊使用的接口不同:

?Realtek模組:使用p2p0作為AP接口,需在驅(qū)動(dòng)Makefile中添加EXTRA_CFLAGS += -DCONFIG_CONCURRENT_MODE開(kāi)啟共存模式,自動(dòng)生成p2p0節(jié)點(diǎn)。

?正基/海華模組:使用wlan1作為AP接口,需通過(guò)iw phy0 interface add wlan1 type managed命令生成wlan1節(jié)點(diǎn)。

具體操作:

#1. 編譯softapDemo(若SDK中無(wú)源碼,從指定地址下載到external目錄)#源碼地址:https://github.com/rockchip-linux/softapServermake softap-dirclean && make softap#2. 啟動(dòng)熱點(diǎn)(以正基模組為例,SSID為"RK-AP",無(wú)密碼)#生成wlan1節(jié)點(diǎn)iw dev wlan1 del(若已存在)iw phy0 interface add wlan1 type managed#啟動(dòng)熱點(diǎn)softapDemo RK-AP#3. 驗(yàn)證:手機(jī)搜索"RK-AP"并連接,ping設(shè)備AP地址(默認(rèn)192.168.88.1)ping 192.168.88.1 -c 4

若需配置加密、修改IP地址或DNS,可修改wlan_accesspoint_start、creat_dnsmasq_filecreate_hostapd_file函數(shù),例如在create_hostapd_file中添加wpa相關(guān)配置實(shí)現(xiàn)WPA-PSK加密,在creat_dnsmasq_file中調(diào)整dhcp-range配置IP地址池。

3.藍(lán)牙測(cè)試(經(jīng)典藍(lán)牙+ BLE

1Realtek模塊(UART接口)

# 1. 執(zhí)行初始化腳本(SDK生成的bt_pcba_test或bt_init.sh)/usr/bin/bt_pcba_test# 腳本核心操作(手動(dòng)執(zhí)行等效命令):killall rtk_hciattach # 關(guān)閉現(xiàn)有rtk_hciattach進(jìn)程echo0 > /sys/class/rfkill/rfkill0/state # 下電echo0 > /proc/bluetooth/sleep/btwritesleep1echo1 > /sys/class/rfkill/rfkill0/state # 上電echo1 > /proc/bluetooth/sleep/btwritesleep1insmod /usr/lib/modules/hci_uart.ko # 加載UART藍(lán)牙驅(qū)動(dòng)rtk_hciattach -n -s 115200 /dev/ttyS4 rtk_h5 & # /dev/ttyS4為藍(lán)牙UART口,波特率115200# 2. 啟動(dòng)hci0接口并查看信息hciconfig hci0 uphciconfig -a # 正常應(yīng)顯示BD Address、版本信息等# 3. 掃描周邊藍(lán)牙設(shè)備hcitool scan

2)正基/海華模塊

# 1. 執(zhí)行初始化腳本(bt_pcba_test或bt_init.sh)/usr/bin/bt_pcba_test# 腳本核心操作(手動(dòng)執(zhí)行等效命令):killall brcm_patchram_plus1 # 關(guān)閉現(xiàn)有進(jìn)程echo0 > /sys/class/rfkill/rfkill0/state # 下電echo0 > /proc/bluetooth/sleep/btwritesleep2echo1 > /sys/class/rfkill/rfkill0/state # 上電echo1 > /proc/bluetooth/sleep/btwritesleep2# 加載藍(lán)牙固件,/dev/ttyS4為藍(lán)牙UART口,波特率1500000brcm_patchram_plus1 --bd_addr_rand --enable_hci --no2bytes --use_baudrate_for_download --tosleep 200000 --baudrate 1500000 --patchram /system/etc/firmware/bcm43438a1.hcd /dev/ttyS4 &# 2. 啟動(dòng)hci0接口并掃描設(shè)備hciconfig hci0 uphcitool scan

需注意,hciconfig命令依賴BR2_PACKAGE_BLUEZ5_UTILS配置,需在Buildroot中開(kāi)啟并編譯;藍(lán)牙固件需與模塊型號(hào)匹配,例如AP6212A1對(duì)應(yīng)BCM43430A1.hcd、AP6236對(duì)應(yīng)BCM43430B0.hcd。

四、問(wèn)題排查:90%的問(wèn)題都在這里解決

調(diào)試中遇到的問(wèn)題,大多可通過(guò)看日志查硬件核配置三步定位,以下是高頻問(wèn)題及解決方案。

1. Wi-Fi識(shí)別不到(SDIO接口)

現(xiàn)象dmesg中無(wú)mmc0: new high speed SDIO cardmmcx: new ultra high speed SDR104 SDIO card日志。

排查步驟

1.測(cè)電壓:用萬(wàn)用表測(cè)量VBAT/VCC_WL3.3V)、VDDIO/VCCO_SDIO1.8V/3.3V,SDIO3.0必須1.8V)、WL_REG_ON1.8V/3.3V)的電壓是否正常,是否符合硬件設(shè)計(jì)要求。

2.查時(shí)序:用示波器測(cè)量VBAT、VDDIO、WL_REG_ON的時(shí)序,確保符合模塊規(guī)格書(shū)要求,以正基模塊為例,需滿足VBAT達(dá)到90% VH后,VDDIO啟動(dòng),再觸發(fā)WL_REG_ON,且需等待2個(gè)睡眠周期(32.768K時(shí)鐘)。

3.DTS配置

?檢查WL_REG_ON是否配置錯(cuò)誤:用示波器觀察其波形,若一直為低則DTS配置異常;若硬件直接拉高WL_REG_ON可識(shí)別,也說(shuō)明DTS配置錯(cuò)誤。

?檢查sdio_pwrseqwireless-wlan是否重復(fù)配置WL_REG_ON,需刪除其中一處配置。

1.SDIO_CLK波形:若SDIO_CLK無(wú)波形,需檢查IO電源域配置是否正確、CLK腳是否誤加上拉電阻(可去掉測(cè)試),示波器需設(shè)置正確觸發(fā)模式抓取波形。

2.32.768K時(shí)鐘:若日志出現(xiàn)dhdsdio_htclk: HT Avail timeout(正基/海華模塊),需檢查32.768K時(shí)鐘是否正常,其頻率精度需±30ppm、占空比30%-70%、信號(hào)幅值400-1800mVpp。

2. Wi-Fi能識(shí)別但wlan0 up失敗

現(xiàn)象dmesgSDIO識(shí)別日志(如mmcx: new ultra high speed SDR104 SDIO card),但ifconfig wlan0 up報(bào)錯(cuò)或無(wú)wlan0節(jié)點(diǎn)。

排查步驟

1.固件匹配性:正基/海華模塊需確認(rèn)固件文件是否存在且與型號(hào)匹配,例如AP6255對(duì)應(yīng)fw_bcm43455c0_ag.bin、nvram_ap6255.txt,若日志出現(xiàn)dhdsdio_download_firmware: dongle image file download failed,則為固件缺失或路徑錯(cuò)誤。

2.電源穩(wěn)定性:若日志出現(xiàn)RTW: ERROR sd_write8: FAIL!(-110)Realtek模塊),需檢查VCC_WL/VBAT/VDDIO_SDIO電源供電是否不足或紋波過(guò)大,可增加電容濾波

3.驅(qū)動(dòng)沖突:檢查是否同時(shí)加載多個(gè)Wi-Fi驅(qū)動(dòng)(如bcmdhd.ko88xx.ko),需卸載多余驅(qū)動(dòng);同時(shí)確認(rèn)內(nèi)核配置的buildinko模式是否沖突,只能選擇一種。

4.驅(qū)動(dòng)加載時(shí)機(jī):若日志顯示驅(qū)動(dòng)在1秒內(nèi)加載,可能因SDIO/USB設(shè)備未枚舉完成導(dǎo)致異常,需調(diào)整驅(qū)動(dòng)加載時(shí)機(jī),確保設(shè)備枚舉后再加載。

3.藍(lán)牙初始化失?。?/span>UART接口)

現(xiàn)象hciconfig -a無(wú)hci0節(jié)點(diǎn)。

排查步驟

1.RTS/CTS接線

?正基/海華模塊:需4線連接(host tx→controller rx、host rx→controller txhost rts→controller cts、host cts→controller rts)。

?Realtek模塊:COB芯片需將host cts接地;RTL8822C4線連接;模組若已內(nèi)部將controller rts接地,host cts無(wú)需額外處理。

1.核驅(qū)動(dòng)與固件

?Realtek模塊需確認(rèn)hci_uart.koUART)或rtk_btusb.koUSB)是否正確編譯,固件文件是否放在對(duì)應(yīng)路徑(UART/lib/firmware/rtlbt/,USB/lib/firmware/)。

?正基/海華模塊需確認(rèn)brcm_patchram_plus1工具是否存在,固件文件(如bcm43438a1.hcd)是否與模塊匹配。

1.UART配置:確認(rèn)藍(lán)牙使用的UART口在DTS中已正確配置,且pinctrl配置的TX/RX/CTS引腳與硬件一致。

4. Wi-Fi連接不穩(wěn)定/吞吐率低

現(xiàn)象:頻繁斷線、ping延遲大、iperf測(cè)試速率不達(dá)標(biāo)。

排查步驟

1.RF指標(biāo)驗(yàn)證:先完成RF測(cè)試(發(fā)射功率、EVM、晶體頻偏、接收靈敏度)和天線OTA測(cè)試,確保指標(biāo)合格,例如802.11b模式下11Mbps速率的接收靈敏度需≥-78dBm。

?正基/英飛凌模塊:需替換為測(cè)試固件(如AP6236對(duì)應(yīng)fw_bcm43436b0_mfg.bin),執(zhí)行external/rkwifibt/wifi_ap6xxx_rftest.sh腳本進(jìn)入測(cè)試模式,參考Wi-Fi RF Test Commands for Linux-v03.pdf進(jìn)行測(cè)試。

?Realtek模塊:COB芯片需與相關(guān)方合作進(jìn)行RF校準(zhǔn),模組需驗(yàn)證出廠校準(zhǔn)數(shù)據(jù),參考Quick_Start_Guide_V6.txtWi-Fi)和MP tool user guide for linux20180319.pdf(藍(lán)牙)測(cè)試。

1.環(huán)境干擾排除:在屏蔽室或地下室(干擾?。y(cè)試,若數(shù)據(jù)波動(dòng)仍大,需檢查PCB走線(SDIO_CLK/CMD/DATA)是否異常、電容電感是否符合要求,可適當(dāng)降低&sdio節(jié)點(diǎn)的max-frequency(如改為10M),若降頻后正常,則需優(yōu)化硬件時(shí)序。

2.CPU/DDR性能:將CPUDDR頻率拉滿,避免降頻導(dǎo)致性能不足:

# DDR定頻(以1560MHz為例)echouserspace > /sys/devices/platform/dmc/devfreq/dmc/governorecho1560000000 > /sys/devices/platform/dmc/devfreq/dmc/min_freq# CPU定頻(以1992MHz為例)echouserspace > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governorecho1992000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq

同時(shí)可將dw-mmc中斷綁定到其他CPU核心,例如echo 5 > /proc/irq/38/smp_affinity_list將中斷放到CPU2執(zhí)行。

五、資源獲?。合嚓P(guān)資料與工具路徑

1.開(kāi)發(fā)文檔路徑:相關(guān)技術(shù)文檔位于SDKdocs/目錄下,例如:

?PCIe配置參考:

docs/Common/PCIe/Rockchip_RK3399_Developer_Guide_PCIe_CN.pdf、docs/Common/PCIe/Rockchip_RK356X_Developer_Guide_PCIe_CN.pdfdocs/Common/PCIe/Rockchip_Developer_Guide_PCIe_CN.pdf。

?USB配置參考:

docs/Common/USB/Rockchip_Developer_Guide_USB_CN.pdf。

?RF測(cè)試參考:

docs/linux/wifibt/目錄下的Quick_Start_Guide_V6.txtRealtek)、Wi-Fi RF Test Commands for Linux-v03.pdf(正基/英飛凌)、BT RF Test Commands for Linux-v05.pdf(藍(lán)牙)。

總結(jié)

RK平臺(tái)Wi-Fi/BT調(diào)試的核心是配置精準(zhǔn)+日志分析+硬件驗(yàn)證:先確保DTS與原理圖匹配、內(nèi)核配置正確,再通過(guò)dmesg、hciconfig、wpa_cli等工具查看日志定位軟件問(wèn)題,最后結(jié)合電壓測(cè)量、時(shí)序分析、RF測(cè)試排查硬件異常。遇到復(fù)雜問(wèn)題,可優(yōu)先參考SDK文檔或相關(guān)FTP資源,大幅提升調(diào)試效率。

希望本文能幫你少走彎路,順利搞定RK平臺(tái)Wi-Fi/BT開(kāi)發(fā)!如果有其他問(wèn)題,歡迎在評(píng)論區(qū)留言討論~

wKgZO2kah4SAOI9kAAIl74WRJtw588.png

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5198

    文章

    20449

    瀏覽量

    334123
  • wi-fi
    +關(guān)注

    關(guān)注

    15

    文章

    2424

    瀏覽量

    129576
  • 調(diào)試
    +關(guān)注

    關(guān)注

    7

    文章

    646

    瀏覽量

    35673
  • RK3588
    +關(guān)注

    關(guān)注

    8

    文章

    556

    瀏覽量

    7333
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    GPS 設(shè)計(jì)全攻略

    GPS 設(shè)計(jì)全攻略
    發(fā)表于 09-25 14:11

    LED技術(shù)全攻略

    LED技術(shù)全攻略
    發(fā)表于 09-25 14:16

    GPS 設(shè)計(jì)全攻略

    GPS 設(shè)計(jì)全攻略
    發(fā)表于 12-05 12:08

    GPS設(shè)計(jì)全攻略

    本帖最后由 zgzzlt 于 2012-8-16 13:58 編輯 GPS設(shè)計(jì)全攻略
    發(fā)表于 08-06 12:56

    LED技術(shù)全攻略

    本帖最后由 zgzzlt 于 2012-8-16 13:56 編輯 LED技術(shù)全攻略
    發(fā)表于 08-06 12:59

    MCU解密全攻略

    MCU解密全攻略
    發(fā)表于 08-19 14:28

    FPGA開(kāi)發(fā)全攻略

    FPGA開(kāi)發(fā)全攻略
    發(fā)表于 09-27 10:59

    FPGA開(kāi)發(fā)全攻略

    FPGA開(kāi)發(fā)全攻略
    發(fā)表于 05-21 09:28

    FPGA開(kāi)發(fā)全攻略

    FPGA開(kāi)發(fā)全攻略
    發(fā)表于 03-03 10:30

    FPGA開(kāi)發(fā)全攻略

    FPGA開(kāi)發(fā)全攻略
    發(fā)表于 03-07 11:46

    MCU解密全攻略

    本內(nèi)容介紹了MCU解密的全攻略教程
    發(fā)表于 07-11 17:51 ?650次下載
    MCU解密<b class='flag-5'>全攻略</b>

    LED調(diào)光技術(shù)全攻略

    LED調(diào)光技術(shù)全攻略
    發(fā)表于 02-08 00:50 ?44次下載

    LED驅(qū)動(dòng)電源方案全攻略

    LED驅(qū)動(dòng)電源方案全攻略
    發(fā)表于 01-14 12:22 ?43次下載

    智能小車(chē)的DIY全攻略

    智能小車(chē)的DIY全攻略
    發(fā)表于 10-13 09:13 ?28次下載
    智能小車(chē)的DIY<b class='flag-5'>全攻略</b>

    GPS設(shè)計(jì)全攻略

    電子發(fā)燒友網(wǎng)站提供《GPS設(shè)計(jì)全攻略.pdf》資料免費(fèi)下載
    發(fā)表于 12-01 17:10 ?0次下載