RK3399-WIFI&BT模块

背景

  • Platform: RK3399
  • OS: Android7.1.2
  • Kernel: v4.4.103

这里主要调试的是AP6236,SDIO接口

检查硬件:

电源: VDDIO,VBAT
时钟:LPO(32.768K) , AXTAL(26M)

检查WL_REG_ON引脚,不能下拉到地
检查WIFI_WAKE_HOST引脚,信号与电平
硬件OK则可以能够扫描到模块, 在sys/bus/sdio/devices查看到相应设备

添加固件

  • WIFI
    路径:./external/wlan_loader/firmware/
    添加配置nvram_ap6236.txt
    添加固件firmware:fw_bcm43436b0.binfw_bcm43436b0_apsta.bin
  • 蓝牙
    路径:./vendor/rockchip/common/bluetooth/lib/firmware/

内核驱动:

WIFI模块:
dts配置:

添加对应的VID,PID:
路径:souce_code/hardware/libhardware_legacy/wifi/
rk_wifi_ctrl.c
wifi.c

内核驱动:

kernel/net/rfkill/rfkill-wlan.c
kernel/drivers/net/wireless/rockchip_wlan/

1
2
3
#/sys/class/rkwifi/
echo 1 > /sys/class/rkwifi/driver
echo 1 > /sys/class/rkwifi/power

检查SDIO SDIO_CLK、 SDIO_CMD电平及波形
测量 VDDIO sdio_clk、 sdio_cmd、 sdio_data0~sdio_data3 的电压;正常情况下 sdio_clk 为 0V,sdio其他五根线与vddio电压一致
sdio_clk clk绝对不要加外部上拉,它内部为开漏

  • DTS中SDIO的配置cap-sdio-irq;
    此配置标识该 SDIO 外设(通常是 Wifi)是否支持 sdio 中断,如果你的外设是 OOB(out-of-band)中断,请不要加入此项

问题

  • dhdsdio_htclk: HT Avail timeout
    dhd_bus_init: clock state is wrong

    时钟问题,检查LPO(32768)时钟

  • dhd_bus_rxctl: resumed on timeout, INT status=0x208000C0

    检查WIFI_WAKE_HOST引脚

Donate comment here