2021-09-23记录下wifi调试流程

调试流程小结:    

1,加载驱动
        第一步先 insmod cfg80211.ko
        第二步   insmod 8723du.ko  ifname=wlan0 if2name=p2p0
    加载后就 ifconfig -a会发现 wlan0 p2p0 ,此时 打开设备ifconfig wlan0 up /ifconfig p2p0 up
    
    2,分为2大方面
        一:是android本身的: 因为增加8723du模块需要修改文件如下:
        所用到的文件
            android下:
                hardware/legecy/wifi.c & Android.mk
                device/softallwinner/Boardconfig.mk &aystar.mk & init_sun8.rc
                这些添加都有关联 可查目录
                
                
        
        二,不用android的调试用:
        1,    配置好wpa_suppliant.conf文件 加载wpa_suppliant程序
            
        (    PS: 加载wpa_suppliant程序的目的是为了能够使wpa作为frameware和driver的中转,去进行wifi功能的配置及使用
            即去调用wpa_cli ,因此先启wpa_suppliant) 
        启动wpa_suppliant程序执行命令:
            #wpa_supplicant -Dnl80211 -iwlan0 -c/data/misc/wifi/wpa_supplicant.conf -N -Dnl80211 -ip2p0 -c/data/misc/wifi/p2p_supplicant.conf &
            解释一下:

                    (1)wpa_supplicant:这个是android里面supplicant bin档的官方命名,这个可以自己去修改,路径在平台的/system/bin/下,属于环境变量,所以在启动的时候不用带上绝对路径。

                    (2)-Dnl80211:这个说明supplicant与driver的通讯方式采用的是nl80211,这个根据厂家提供的driver来具体设定,也可以是wext方式,以driver为准。

                    (3)-iwlan0和-ip2p0:说明会带起两个interface来作supplicant与driver之间的通讯interface,这个可以用netcfg看到这两个interface的状态是UP状态的,也可以用ifconfig来看到新增加的两个使能interface wlan0和p2p0

                     (4)-c/data/misc/wifi/wpa_supplicant.conf和-c/data/misc/wifi/p2p_supplicant.conf:这两个是android标准的supplicant配置文件,路径如上所述,如果p2p_supplicant.conf不存在的话,可以把wpa_supplicant.conf copy一份出来用作p2p_supplicant.conf,android的原生flow就是这么做的。

                    (5)-N:说明是在wlan0的基础上再加上一个interface,也就是new的意思 ,以前android4.0的时候只能起一个interface,所以也就没有这个参数了。

                    (6)&:后台运行符(linux基础,你懂的)
                    
                    如果一切ok,就可以用ps命令在后台看到wpa_supplicant在后台跑了,这个时候需要验证一下supplicant是否运行正常,主要方法是看/data/misc/wifi/sockets/wlan0路径下是否有wlan0和p2p0两个socket,这个是wifi framework和supplicant之间的通讯socket
            
            2,启动wpa_cli配置wifi
                        
                        1:sta连线(sta)

                        #wpa_cli -iwlan0                                     (使用wpa_cli给supplicant下命令,这个是supplicant的client端)
                        >scan                                                        (让driver做扫描动作)
                        >scan_results                                         (让driver反馈扫描结果给supplicant)
                        >add_network                                         (添加一个网络,这里面会给一个号码,一般开机的第一次添加就是0)
                        >set_network 0 ssid "cheny"                (选择一个名叫cheny的路由器,这个是前面scan_result反馈回来的名字)
                        >set_network 0 psk "12345678"          (输入名叫cheny的路由器的密码12345678,加密方式是wpa-psk)
                        >enable_network 0                                 (使能cheny路由器,也就是建立连接)
                        >save                                                          (保存)
                        >status                                                        (查看supplicant的当前状态,一般结果是compeleted)
                        >quit                                                            (退出wpa_cli命令行)
                        #dhcpcd -iwlan0                                       (给wlan0这个interface分配ip)
                        #ifconfig wlan0                                          (查看wlan0的信息,一般会有ip,mac,gateway,netmask,dns等等信息)
                            如果一切ok,而且cheny这个路由器能够联通外网,那么此时你就可以ping通外网,平台与路由器之间的连线就建立起来了。

                        PS:
                        这里要说的是sta连线就是我们平时连接路由器的功能,p2p连线就是wifi direct功能,下面分别简单实现sta和p2p连线

这里参考文章:原文链接:https://blog.csdn.net/lele_cheny/article/details/16354479

Guess you like

Origin blog.csdn.net/steel0205/article/details/120431894