mt7620 wireless驱动特性意外发现

前言

今天又客户反映无线参数SSID编程了HT_AP0, 同事通过后台给他修改后反映给我,我想不对啊,难道是无线驱动crash了?那应该不能玩才对啊。。。


追查线索

我们的路由器会定期汇报数据SSID,谁知道,服务器并没有保存到数据库中。这点我非常非常的生气,之前的规格,说得清清楚楚,为什么做事不到位!好了,既然发现了这个问题就修改下本地的服务器,这一改不要紧,把一台路由器的SSID改不见了。


刨根问底

路由器的SSID不见了,这个可是大问题,我们找到了那台路由器,发现其SSID编程了HT_AP0,为什么是这个?难道是驱动里问题,去驱动源码搜索这个变量,没有发现,然后我搜索HT_AP。

在ap.c中

    VOID APStartUp(  
        IN PRTMP_ADAPTER pAd)   
    {  
        .....  
      
            if ((pMbss->SsidLen <= 0) || (pMbss->SsidLen > MAX_LEN_OF_SSID))  
            {  
                NdisMoveMemory(pMbss->Ssid, "HT_AP", 5);  
                pMbss->Ssid[5] = '0'+apidx;  
                pMbss->SsidLen = 6;            
            }  
      
        .....  
    }

原来是SSID的值为空,驱动会自动赋值这个变量,就铸就了这个问题。

嗯,抓包看到了问题所在,是服务器的乱码中带有我需要的字样,但是并没有值,而我的代码也没有判断值是否为空就直接通过uci修改了SSID,导致了驱动自动设置默认的SSID.

这是问题的真正原因。


总结

出现问题后,保留现场,我之前犯了一个错误就是wireless灯不亮,我恢复出厂设置后就好了。没有找到问题的真正原因。还有要相信系统,不要以为是什么大不了的问题,要动手去查找问题的真正原因, 把问题夯实了,不然你还是会出现问题的。



本文章由作者:佐须之男 整理编辑,原文地址: mt7620 wireless驱动特性意外发现
本站的文章和资源来自互联网或者站长的原创,按照 CC BY -NC -SA 3.0 CN协议发布和共享,转载或引用本站文章应遵循相同协议。如果有侵犯版权的资 源请尽快联系站长,我们会在24h内删除有争议的资源。欢迎大家多多交流,期待共同学习进步。

相关推荐