• OpenWrt mt7620n双SSID实现原理


    版权声明:本文为博主原创文章,未经博主同意不得转载。 https://blog.csdn.net/qianguozheng/article/details/37574373

    转载请注明出处: 【钱国正的专栏http://blog.csdn.net/qianguozheng/article/details/37574373


    前言


    为了满足客户须要。须要建立私有专用SSID,和共同拥有共用SSID,这就须要用到双SSID.


    原理


    无线网卡驱动支持多SSID,通过不同的SSID能够划分不同的用户使用范围,可是不同的SSID的測试带宽、性能等相同须要考究。


    技术困难


    实现多SSID本来是不难的。可是对于一个新手来说还是有一定的挑战性,尤其是对于要到一个新的平台上openwrt, 使用的是qdk放在github上的源代码。这个本来是非常好的,可是使用过程中发现。系统在firstboot的时候,第二个SSID无法正常启动。

    不论什么一次恢复出厂设置后都会存在这样的问题。


    解决方法


    通过分析发现,openwrt系统在启动的过程中是通过/sbin/procd启动一些进行,init, askfirst, ubus, ubox等运行启动过程。在脚本之中会有wifi detect 来初始化无线驱动相关的信息。而之后的done脚本中会有switch2jffs这个link 指向mount_root。从ubox里面编译出来,用来mount根文件系统/ 为jffs文件系统,/rom为squashfs分区, 从而实现文件系统的读写功能。 就在第一次之星switch2jffs的时候可能会卡住或者出现broken的脚本运行过程。这个事我眼下不能全然理解的,还须要进一步学习。

    我的怀疑是这个过程导致了。无线驱动寻找dat文件的时候出错,或者使用过程中出错。

    直接建立文件/etc/Wireless/RT2860/RT2860.dat来实现这个目的,这样,在恢复出厂设置的时候。无线驱动就起来了。


    意外收获


    通过这个调试,我发现luci的页面是通过/etc/config/wireless文件是否存在来决定是否显示无线配置页面的。


    总结


    这个问题耗费了我三天的时间,加上双SSID,事实上这个问题没有想象中的那么困难,仅仅只是是使用过程中须要主要各个程序或者驱动的依赖项,我以前试图移植最新的openwrt官网上关于启动相关的信息,发现不行。终于是在想到系统启动的时候或者是调试无线驱动的时候都须要用console,否则真的难以辨别问题所在。

    尽管至今不能输入,可是我还是有了很多须要看到的信息。


    转载请注明出处: 【钱国正的专栏http://blog.csdn.net/qianguozheng/article/details/37574373

  • 相关阅读:
    项目团队技术个人(提拔篇)
    Android开发者掘金(2)—技术篇
    Android开发者掘金(3) 未来
    在Android应用中放置AdMob广告的详细教程
    ant build apk
    手机产品设计中的 15 大禁忌
    Android开发者掘金(1)
    项目团队技术个人(专业篇)
    #pragram预处理指令
    c++ 异常机制
  • 原文地址:https://www.cnblogs.com/mqxnongmin/p/10941986.html
Copyright © 2020-2023  润新知