入式分享#21:嵌入式外设调试思——WiFi & BT 调试
、调前:先确认接与软件资源
WiFi 常通信接口包括PCIe、SDIO、USB;BT 常见通信接口包括UART、SDIO、USB
模通常需要提供类源:
- 固件:控制组硬件;
- 模动码:SDK 会提供常用模组动,没有时需要向模组厂。
WiFi 模组识别流程
2.1 SDIO 接口
机时,核 MMC 框架会识别 SDIO 卡。典型流程下:
- 解析设备树
sdio_pwrseq节点中的reset-gpios,拉WL_REG_ON; - 过
SDIO_CLK/CMD/DATA发送初化指令;
- 过
- 用约 200400 kHz 的频读取 SDIO 本信息;
- 确认 SDIO 2.0/3.0、1/4-bit 总线等能力,提高相应的作频率。
示日(不平台控制器编号和地址能不):
- 确认 SDIO 2.0/3.0、1/4-bit 总线等能力,提高相应的作频率。
# 析 dts 的 mmc-pwrseq 节点,获取 WL_REG_ON dwmmc_rockchip ff4a0000.dwmmc: allocated mmc-pwrseq # 频初 mmc_host mmc0: Bus speed (slot 0) = 400000Hz # 频工作模式 mmc_host mmc0: Bus speed (slot 0) = 50000000Hz # SDIO 2.0 mmc0: new high speed SDIO card at address 0001 # SDIO 3.0 mmcx: new ultra high speed SDR104 SDIO card at address 00012.2 USB / PCIe 接
别完成后,分使用lsusb和lspci查看设:
# USB Bus 001 Device 002: ID 0bda:f179 Realtek Semiconductor Corp. RTL8188FTV # PCIe 0002:21:00.0 Network controller: Broadcom Inc. Device 449d (rev 02)三、通用调路
拿到模组后,建按以顺推进:
- 硬检查:确认供电、接、时钟、脚和天线连接正常;
- 设备树 / 核配置:核对控制器、GPIO、位和中断配;
- 驱动与固件确认驱动和模组匹配并检查
/lib/firmware/下固件是否正载;
- 驱动与固件确认驱动和模组匹配并检查
- 模组识别态:PCIe 使用
lspci,USB 使用lsusbSDIO 查看 MMC 志;
- 模组识别态:PCIe 使用
- 连接验证:描 AP,并使用
wpa_supplicant证连接。
牙总思相同。DTS 配置通更简单:使什么通信接口置对应 UART、SDIO 或 USB 制。
- 连接验证:描 AP,并使用
、三类典型问题查方向
务必先看志,再根据异常位;不在有日志依据时盲目修改配。
| 问题类型 | 优先检查 |
|---|---|
| SDIO/USB/PCIe 识别不到 | 供电、复位脚、时、接口控制器、设备树、硬件连线 |
| 已识别但固件加载失败 | 件径、件、版本配、权限及加载日志 |
| 能识别接/性能异 | AP 扫描、认证配置、与射频、吞吐、断连志 |
4.1 设识别不到
重点确认WL_REG_ON电源时序和接口号SDIO 景还核对 1/4-bit 配置、卡检测和时钟频率;USB/PCIe 景先确认枚举是否功。
4.2 Firmware 载失
从内核日志中认驱请求的固件名和路径检查固件是与模组硬件匹配,并确认根文件系统包含相应文件。
4.3 接和能问题
已识别后,再逐层验:描否正常、证是否成功吞吐是标、是否在概断连。结合wpa_supplicant、动日志厂开发文分析。
、小结
WiFi/BT 试可以抽象为件与时序 → 总线枚举 → 动/固 协连接 → 性稳定性五个层次。每一层先志确认事,再小范围,通常比直接复修改 DTS 更高效。