大家好,
我们设计了定制板,它具有运行 linux 内核 4.1.15 的 IMX6DL 双核处理器。我们在 SDIO 接口上连接了 eMMC 和 Wi-Fi 模块(产品:muRata ##LBEE5XV1YM 具有 NXP 芯片组 88W8997)
在 wpa_supplicant(版本 v2.5)的 mlan0 START SCAN 操作期间,我们面临错误“cmd53 read error=-110”的 WiFi 崩溃问题。我们已经通过这些实验尝试了 NXP 驱动程序的许多变体来排除问题,但我们没有运气......目前我们正在使用最新的 wifi 驱动程序 (16.92.21.p76.2),但问题仍然存在。
我们已经找到了重现崩溃的步骤,方法是移除天线并配置 AP,以便 wpa_supplicant 开始在后台运行 SCAN 操作。在这些步骤之后,我们经常遇到 Wi-Fi 崩溃......社区中的任何人都可以提供相同的指示,建议或解决方案吗?
如果可以帮助我们解决此问题,我们计划将 wpa_supplicant 从 v2.5 升级到 v2.10。我们将在同一时间发布更新。
是否可以优化活动或计划扫描操作的数量以最大限度地减少问题?请建议
请注意,在我们的定制板中,我们仅使用 Wi-Fi 接口(在 SDIO 上)而不使用蓝牙接口(在 UART 上)。
来自 linux 内核的 eMMC 配置:
时钟:52000000 Hz
实际时钟:49500000 Hz
vdd:21(3.3 ~ 3.4 V)
总线模式:2(推挽)
芯片选择:0(无关)
电源模式:2(开)
总线宽度:3(8 位)
时序规格:8 (mmc DDR52)
信号电压:0 (3.30 V)
来自 linux 内核的 Wi-Fi 配置:
时钟:50000000 Hz
实际时钟:49500000 Hz
vdd:21(3.3 ~ 3.4 V)
总线模式:2(推挽)
芯片选择:0(无关)
电源模式:2( on)
总线宽度:2(4 位)
时序规格:2(sd 高速)
信号电压:0 (3.30 V)
Wi-Fi驱动版本:
SD-WLAN-UART-BT-8997-LNX_6_1_1-IMX8-16.92.21.p76.2-16.92.21.p76.2-MM5X16368.P2-MGPL
# uname -a
Linux 主板-sbs 4.1.15-2.0.0-ga+yocto+g6d75df8 #1 SMP PREEMPT Mon Apr 10 20:53:27 IST 2023 armv7l armv7l armv7l GNU/Linux
# cat /etc/wpa_supplicant.conf
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
update_config=1
network={
key_mgmt=WPA-PSK WPA-EAP WPA-NONE
}
网络={
ssid="Arlo_VT"
psk="Arlo# 2022"
}
Wi-Fi 驱动程序加载:
# cd /lib/modules/4.1.15-2.0.0-ga+yocto+g6d75df8/extra/
#ifconfig uap0 down; ifconfig mlan0 dow
#insmod mlan-sd8997.k
#insmod /lib/modules/4.1.15-2.0.0-ga+yocto+g6d75df8/extra/moal.ko`cat /etc/modules-load.d/moal.conf
启动连接/扫描:
# wpa_supplicant -B -D nl80211 -i mlan0 -c /etc/wpa_supplicant.conf
#udhcpc -i mlan0 -t 1 -T 3 -f -B
# lsmod
Module Size Used by
moal 618496 1
brcmfmac 172032 0
brcmu
til 16384 1 brcmfmac
usb_f_ecm 16384 1
g_ether 16384 0
usb_f_rndis 24576 2 g_ether
u_ether 20480 3 usb_f_ecm,usb_f_rndis,g_ether
libcomposite 45056 3 usb_f_ecm,usb_f_rndis,g_ether
bt8xxx 86016 0
mlan 544768 1 moal
cfg80211 454656 2 摩尔,brcmfmac
#dmesg
[ 715.053933] wlan: mlan0 开始扫描
[ 730.032289] mmc1: 等待硬件中断超时。左重试=0 操作码=0
[730.038711] cmd53 读取错误=-110
[730.040857] wlan:cmd53 读取失败:-1 ioport=0x10009 重试=0
[730.045565] 设置术语cmd53 失败
[740.052296] wlan:扫描超时!
[ 740.054234] ---------- mlan_debug_info -------------
...
[ 740.074075] mmc1:等待硬件中断超时。左重试=0 操作码=0
[740.080359] 超时cmd id = 0x0,act = 0x0
[740.083345] cmd53 读取错误=-110
[740.085451] wlan:cmd53 读取失败:-1 ioport=0x10009 重试=1
[740.090070] 设置期限cmd53 失败
...
[740.348056]------------mlan_debug_info结束------------
[740.352079]驱动版本=SD8997----16.92.21.p76.2-MM5X16368 .p2-(FP92)
...
[ 740.401141] 取消所有挂起的cmd!
[740.403399] IOCTL 失败:a9783000 id=0x10000,sub_id=0x10003 action=1,status_code=0x80000007
[750.112298] mmc1:等待硬件中断超时。左重试=0 操作码=0
[750.118754] cmd53 读取错误=-110
[750.120937] wlan:cmd53 读取失败:-1 ioport=0x10009 重试=2
[750.125683] 设置术语cmd53 失败
[750.127755] 卡到主机失败:int 状态=0x1
[750.131087] 读取 CFG 注册失败
[750.133132] 写入 CFG 注册失败
[750.135151]读取 CFG 注册失败