我们正在尝试在基于 IMX95 的主板上推出同时支持 WiFi 和蓝牙的 IW612。WiFi 工作正常,但蓝牙却完全失灵。
根据文档,我正在加载 nxp/sduart_nw61x_v1.bin.se。我使用的是创建 LPUART5 的默认 imx95-dart DTS 定义。
wiwi_mod_para.conf(我试过很多不同的配置):
SDIW612 = {
# Directed by https://docs.nxp.com/bundle/RM00297/page/connectivity-sw-integration/topics/combo_firmware.html
fw_serial=1
# Enable STA, uAP and WIFIDIRECT
drv_mode=7
# Allow west (obsolete) or CFG80211 on uAP and STA interfaced
cfg80211_wext=0xf
# No calibration data (yet)
cal_data_cfg=none
# Sleeps until needed. We may need to modify this for max throughput
ps_mode=1
# Enable auto deep-sleep
auto_ds=1
# Allow the host to manage MAC layer states
host_mlme=1
# US power configs by default, CA, EU (DE) and JP also exist on the filesystem
init_hostcmd_cfg=nxp/rutxpower_US.bin
txpwrlimit_cfg=nxp/txpower_US.bin
# SD MMC firmware
fw_name=nxp/sduart_nw61x_v1.bin.se
wfd_name=p2p
}Devicetree 摘录
&lpuart5 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart5>, <&pinctrl_bt>;
status = "okay";
bluetooth {
compatible = "nxp,88w8987-bt";
status = "okay";
};
};
pinctrl_bt: btgrp {
fsl,pins = <
IMX95_PAD_CCM_CLKO3__GPIO4_IO_BIT28 0x31e
>;
};
pinctrl_uart5: uart5grp {
fsl,pins = <
IMX95_PAD_GPIO_IO00__LPUART5_TX 0x31e
IMX95_PAD_GPIO_IO01__LPUART5_RX 0x31e
IMX95_PAD_GPIO_IO02__LPUART5_CTS_B 0x31e
IMX95_PAD_GPIO_IO03__LPUART5_RTS_B 0x31e
>;
};加载 WiFI
# modprobe moal mod_para=nxp/wifi_mod_para.conf
[ 163.670037] mlan: loading out-of-tree module taints kernel.
[ 163.689390] wlan: Loading MWLAN driver
[ 163.693739] wlan: Register to Bus Driver...
[ 163.698299] vendor=0x0471 device=0x0205 class=0 function=1
[ 163.703923] Attach moal handle ops, card interface type: 0x109
[ 163.709788] rps set to f from module param
[ 163.714020] SDIW612: init module param from usr cfg
[ 163.718917] card_type: SDIW612, config block: 0
[ 163.723459] fw_serial on
[ 163.725999] drv_mode = 7
[ 163.728539] cfg80211_wext=0xf
[ 163.731503] cal_data_cfg=none
[ 163.734476] ps_mode = 1
[ 163.736936] auto_ds = 1
[ 163.739377] host_mlme=enable
[ 163.742266] init_hostcmd_cfg=nxp/rutxpower_US.bin
[ 163.746973] txpwrlimit_cfg=nxp/txpower_US.bin
[ 163.751337] Mode PSD file name: nxp/txpower_US.bin
[ 163.751343] fw_name=nxp/sduart_nw61x_v1.bin.se
[ 163.760589] wfd_name=p2p
[ 163.763142] SDIO: sdio_blk_size=256 max_blk_count=65535 max_segs=128 max_seg_size=65535
[ 163.771143] rx_work=1 cpu_num=6
[ 163.774289] Enable moal_recv_amsdu_packet
[ 163.778311] Attach mlan adapter operations.card_type is 0x109.
[ 163.784525] wlan: Enable TX SG mode
[ 163.788038] wlan: mpa_tx.buf_size=65280
[ 163.791895] wlan: Enable RX SG mode
[ 163.795381] wlan: mpa_rx.buf_size=65280
[ 163.803641] Request firmware: nxp/sduart_nw61x_v1.bin.se
[ 164.083881] Wlan: FW download over, firmwarelen=1065364 downloaded 953164
[ 164.503998] WLAN FW is active
[ 164.506977] on_time is 164335430494
[ 164.510481] Download txpwrlimit_cfg=nxp/txpower_US.bin
[ 164.538519] VDLL image: len=112200
[ 164.570949] fw_cap_info=0x487cff03, dev_cap_mask=0xffffffff
[ 164.576548] uuid: c87366085948592a945e6992ba062cf4
[ 164.581348] max_p2p_conn = 8, max_sta_conn = 16
[ 164.596645] Request firmware: nxp/rutxpower_US.bin
[ 164.684694] Register NXP 802.11 Adapter mlan0
[ 164.689164] wlan: uap%d set max_mtu 2000
[ 164.694816] Register NXP 802.11 Adapter uap0
[ 164.748522] Register NXP 802.11 Adapter p2p0
[ 164.752850] wlan: version = SDIW612---18.99.3.p21.10-MM6X18540.p33-GPL-(FP92)
[ 164.761207] usbcore: registered new interface driver usbxxx
[ 164.761624] fsl-edma 44000000.dma-controller: The srcid is in use, can't use!
[ 164.766909] wlan: Register to Bus Driver Done
[ 164.773980] imx-lpi2c 44350000.i2c: use pio mode
[ 164.778335] wlan: Driver loaded successfully
加载蓝牙
# modprobe btnxpuart
[ 180.971843] Bluetooth: hci0: FW already running.
[ 183.019791] Bluetooth: hci0: Opcode 0x0c03 failed: -110
# bluetoothctl
[bluetooth]# Agent registered
[bluetooth]# power on
No default controller available从 LPUART5 引脚来看,当加载 btnxpuart 时,会断言 RTS(持续大约 30 秒),CTS 从未断言,RX 或 TX 上没有数据(尽管 RX 在大约 10 毫秒内处于低位状态)。
看来 IW612 没有响应,我不知道该怎么办。
亲爱的@dberliner1、
检查了您分享的代码,没有发现任何问题。
请检查 i.MX95 和蓝牙之间的 UART 硬件连接。
下面是 UART 信号的 IO 方向。
weidong_sun_0-1778295562631.png
如果没有问题,能否与我分享您的原理图?
这是我的电子邮件 :[email protected]
谢谢您!
此致,
卫东