在调试WIFI模组过程中,可能会出现各种各样的问题,本文是基于linux内核5.10调试的。调试过程中WIFI可以扫描热点,但是连接不上,连接了一下又断开。
下面我们先来看一下debian原生系统界面是怎样的,我是通过hdmi接口转接到显示屏上的。我们今天不描述关于hdmi相关技术,下面来看一下界面:

以下是adb shell logcat中相关log:
查阅相关资料,该log描述的大致信息如下:
1. `Mar 27 0609 linaro-alip kernel: [ 869.772929] [dhd] [wlan0] wl_ext_iapsta_link : connect failed event=0, reason=0, status=5`
这条日志表明在时间戳所示的时间点,无线网卡尝试连接到某个Wi-Fi网络失败。`status=5`可能是代表了WL_STATUS_AUTH_FAIL,即身份验证失败。
2. `Mar 27 0609 linaro-alip kernel: [ 869.772973] [dhd] [wlan0] wl_handle_assoc_fail : assoc fail Reason: WLC_E_SET_SSID from 000000:00`
这里显示的是关联操作失败,原因是WLC_E_SET_SSID,通常这意味着无线网卡试图连接到一个SSID(Wi-Fi网络名称),但是这个操作失败了。从地址`000000:00`可以看出,它未能识别出正确的接入点(AP)MAC地址,这可能是因为尚未成功关联到任何网络。
3. `Mar 27 0609 linaro-alip kernel: [ 869.773030] [dhd] [wlan0] wl_bss_connect_done : Report connect result - connection failed`
确认无线网卡未能成功连接到指定的BSS(基本服务集,即Wi-Fi网络)。
4. `Mar 27 0609 linaro-alip kernel: [ 869.773050] [dhd] [wlan0] IAPSTA-ERROR) wl_ext_in4way_sync_sta : connect failed at 1`
表示在四路握手(4-way handshake)过程中的某一阶段(这里是在第1步)连接失败,这是Wi-Fi连接建立安全加密连接的一个必要步骤。
5. `Mar 27 0609 linaro-alip kernel: [ 869.775996] [dhd] [wlan0] wl_iw_event : [0 times] disconnected with 000000:00, event 11, reason 8`
此处记录了无线网卡已断开连接,事件代码为11,对应于WLC_E_DISASSOC(被接入点主动断开连接),原因代码为8,通常表示“因本地去认证”(MLME-DISASSOC.request due to inactivity)。
通过指令连接报如下错误:

后下载Android系统固件,发现还是一样的结果,不应该,因为Android系统已经调试过没有问题了,后面怀疑可能是信号问题。
出现上述种种的报错,怀疑过是mac地质问题,怀疑过是代码问题,怀疑过是设备树配置问题。。。但都不是。
后面接上天线,信号强度起来了,就可以连接上了,所以在排查问题的时候,可能因为一个点,引出其他不是问题的问题,是值得注意的。
that‘s all.