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调试会继续更新整理
网友评论