美文网首页
Android WiFi调试常用标签(Tag)

Android WiFi调试常用标签(Tag)

作者: 哒哒luada | 来源:发表于2017-06-11 20:17 被阅读166次

    WiFi的标签

    都知道的,要看Android log如果不加过滤器,那么对应的信息量极其的庞大,要在这些大信息量找到我们关心的可能需要耗费比较长的时间,所以对于在调试WiFi过程,那些标签是需要关注的呢?

    整理需要关注的标签有以下

    WifiService

    WiFi的核心服务,是启动整个WiFi服务的,它在我们的logcat关注范围内

    WifiScanningService

    WiFi的扫描服务,一般我点开或者进入到WiFi列表页面里,这个服务在后台帮我们刷新热点,同样在logcat关注的范围内

    ConnectivityService

    关于有线与WiFi的切换,以及系统关于网络的链接,它帮忙在管着事呢,所以也在logcat关注的范围内

    CommandListener

    系统网络相关的命令执行需要涉及到它,比如像Setting iface up 或者bring up eth0 这些事儿,它帮忙在处理,同样也在WiFi调试时logcat关注范围内

    WifiHW

    这个标签也是比较常用到,在hardware/libhardware_legacy/wifi/wifi.c里面,主要帮忙实现drv的加载/卸载,以及处理与wpa_supplicant之间相关事件的通信,常用于前期的WiFi Drv导入调试比较多,所以也在logcat关注范围内

    E/WifiHW  ( 2035): load wifi driver module id:7
    W/WifiHW  ( 2035): load prealloc module /proc/modules
    W/WifiHW  ( 2035): check module loaded: cfg80211
    W/WifiHW  ( 2035): check module loaded: rtl8821au
    

    Tethering

    这是一个类似链接的服务,一般用于 Tethering wlan0 或者 sendTetherStateChangedBroadcast 等等,可以帮忙辅助调试WiFi流程,也在logcat关注范围内

    hostapd

    对于可以支持软件AP的WiFi Dongle设备来说,这是一个很关键的服务(工具),一般用来初始化设置软AP的参数(ssid、channel、psk、wpa、带宽等参数)详细具体可参考hostapd.conf

    I/hostapd ( 3420): wlan0: interface state UNINITIALIZED->HT_SCAN
    I/hostapd ( 3420): 20/40 MHz operation not permitted on channel pri=6 sec=10 based on overlapping BSSes
    E/hostapd ( 3420): Using interface wlan0 with hwaddr 00:6c:fd:d3:72:ec and ssid "AndroidAP12"
    ....
    I/hostapd ( 3420): wlan0: STA 14:ab:c5:74:b3:d2 IEEE 802.11: associated
    I/hostapd ( 3420): wlan0: STA 14:ab:c5:74:b3:d2 IEEE 802.11: associated
    I/hostapd ( 3420): wlan0: AP-STA-CONNECTED 14:ab:c5:74:b3:d2
    I/hostapd ( 3420): wlan0: STA 14:ab:c5:74:b3:d2 WPA: pairwise key handshake completed (RSN)
    I/hostapd ( 3420): wlan0: STA 14:ab:c5:74:b3:d2 WPA: pairwise key handshake completed (RSN)
    ....
    

    WifiStateMachine

    WiFi中心处理枢纽,很多的WiFi状态处理都离不开它,所以也是在logcat需要关注的范围

    TetherController

    它在系统网络有着重要的地位,因为其处理的业务包含了dns,路由控制表, dhcp相关等等,可以这么说,系统网络涉及到无法ping通一些特定的域名或者网站,可以来这里找找原因,所以它也在logcat关注范围内,其中该文件在/system/netd/server/TetherController.cpp,

    dnsmasq

    一个神奇且强大的工具,集中了dns,dhcp,router等功能,它很适合在一些小网络(轻量级)架构发挥着强大的作用,详细可以参见这里
    可以看下它工作时打印

    I/dnsmasq ( 3424): started, version 2.51 cachesize 150
    I/dnsmasq ( 3424): compile time options: no-IPv6 GNU-getopt no-DBus no-I18N DHCP no-scripts no-TFTP
    W/dnsmasq ( 3424): warning: no upstream servers configured
    I/dnsmasq ( 3424): DHCP, IP range 192.168.49.2 -- 192.168.49.254, lease time 1h
    I/dnsmasq ( 3424): DHCP, IP range 192.168.48.2 -- 192.168.48.254, lease time 1h
    I/dnsmasq ( 3424): DHCP, IP range 192.168.47.2 -- 192.168.47.254, lease time 1h
    I/dnsmasq ( 3424): DHCP, IP range 192.168.46.2 -- 192.168.46.254, lease time 1h
    I/dnsmasq ( 3424): DHCP, IP range 192.168.45.2 -- 192.168.45.254, lease time 1h
    I/dnsmasq ( 3424): DHCP, IP range 192.168.44.2 -- 192.168.44.254, lease time 1h
    I/dnsmasq ( 3424): DHCP, IP range 192.168.43.2 -- 192.168.43.254, lease time 1h
    I/dnsmasq ( 3424): DHCP, IP range 192.168.42.2 -- 192.168.42.254, lease time 1h
    I/dnsmasq ( 3424): read /etc/hosts - 1 addresses
    I/dnsmasq ( 3424): using nameserver 172.17.82.12#53
    I/dnsmasq ( 3424): using nameserver 172.18.70.5#53
    

    以上主要为调试WiFi 软AP常用的Tag
    对应的logcat 命令如下

         logcat   -v time  Tethering:D hostapd:I CommandListener:D TetherController:D dnsmasq:D \
              WifiStateMachine:D  WifiHW:D WifiService:D WIFI:D WIFI_UT:D WifiStateReceiver:D \
              WifiScanningService:D  WifiChangeStFF:D WifiFF:D ConnectivityService:D hostapd:D \
              NetdConnector:D SoftapController:D *:S   
    
    

    在切换到Sta状态时,我们需要重点关注wpa_supplicant对应的log
    开启wpa_supplicant的log,只需要修改一个地方即可,在找到对应init.xx.rc启动wpa_supplicant进程,在启动前添加 -dd的参数(将wpa_supplicant log 级别设为debug)即可,后续关于wpa_supplicant调试会继续更新整理

    相关文章

      网友评论

          本文标题:Android WiFi调试常用标签(Tag)

          本文链接:https://www.haomeiwen.com/subject/sqtkqxtx.html