HF-LPD1xx系列wifi死机问题

nmi,nds32le-elf-mculib-v3,Andes Technology,汉枫,Beacon

Views:  times Updated on October 25, 2022 Posted by elmagnifico on August 26, 2022

Foreword

又让WIFI模块坑到了,记录一下,希望后来者都能跳过这种厂家和芯片吧

现象

硬件:HF-LPD130

在特定场景中,出现WIFI模块上电后随机卡死,基本几十秒内就卡死重启了,后续就是重复重启卡死的流程,基本没法正常工作了

log 如下,触发nmi,然后触发看门狗,重启硬件

nmi start!!!
System wdt occurred !
[UART] uart 1:115200, 8, 0, fc:0, parity:0

Entry HF-LPD100 Main Jul 20 2022 08:30:25 [00000000] >>>> 

[VER] 1.12.45(2022-07-12 15:00)
radio init s
RF table ver 19.00 PHY table ver 19.00, common code ver 1.18 
radio init e
if0 28:9C:6E:5B:D0:68
if1  28:9C:6E:5B:D0:69

测试

  • 离开问题场地以后不复现

  • 通过制造大量AP存在的场景,35个AP在30平方的范围内,无法触发该问题。
  • 接近100个SSID存在于30平方范围内,无法触发

原因

根据HF技术说明:当WiFi模块收到一个正常Beacon(ssid的无线广播包)是没问题的,但是在问题环境中会出现一个几KB的Beacon包(正常的最大也只有72B)

这个包会导致wifi模块底层芯片直接报错,触发nmi报错,再触发看门狗重启,最终就是wifi模块一直重启,无法上线。据说原厂的工程师也在问题场地调试过了,但是并不能解决,所以这个是芯片本身有缺陷,无法避免。

所处的特殊环境中的AP就会发出这种问题Beacon包,并且这个包是来自于5.8G频段的WIFI的,只要关闭了所有5.8G频段,就不会触发这个问题?(只是概率小了非常多,实际还有可能其他情况触发)

只要有一个5.8G开启,就会出现重启,开得越多,重启频率就越高。

出现这个问题的设备是:H3C的AP,被H3C统一管理

解决

幸好现场的所有AP都是在掌握之内的,可以一定程度上调节

临时解决办法

关闭所有5.8G频段,幸好还有2.4G的频段可以顶着

长期解决办法

基本默认Beacon的发送频率都是100TU,尝试修改了一下

修改AP的Beacon发送频率以后,这个问题基本不见了,不再需要关闭5G频段也能让WIFI模块正常上线。

还是有概率触发nmi重启的,只是比起来WIFI完全用不了,已经小到可以忽略的程度了。

2022.10.25,突然就无法复现这个问题了,之前有关闭一个联通的基站,场地的墙插有更换过,除此以外理论上应该再没其他改变了

当时没有抓包手段,后续debug设备有了以后,竟然无法复现,技术支持所说的情况是否属实,还需要怀疑一下。

Summary

但是这个问题无法避免,错误的beacon包我们也无法预知,谁知道谁家的AP会发出错误的Beacon。

最大的问题还是这个芯片,一个错包就导致整个芯片重启了,非常离谱了,这个模块能不用还是尽量别用吧。

Quote

https://zhuanlan.zhihu.com/p/339693421