Android WiFi調(diào)試常用標(biāo)簽(Tag)

WiFi的標(biāo)簽

都知道的,要看Android log如果不加過濾器,那么對(duì)應(yīng)的信息量極其的龐大,要在這些大信息量找到我們關(guān)心的可能需要耗費(fèi)比較長的時(shí)間,所以對(duì)于在調(diào)試WiFi過程,那些標(biāo)簽是需要關(guān)注的呢?

整理需要關(guān)注的標(biāo)簽有以下

WifiService

WiFi的核心服務(wù),是啟動(dòng)整個(gè)WiFi服務(wù)的,它在我們的logcat關(guān)注范圍內(nèi)

WifiScanningService

WiFi的掃描服務(wù),一般我點(diǎn)開或者進(jìn)入到WiFi列表頁面里,這個(gè)服務(wù)在后臺(tái)幫我們刷新熱點(diǎn),同樣在logcat關(guān)注的范圍內(nèi)

ConnectivityService

關(guān)于有線與WiFi的切換,以及系統(tǒng)關(guān)于網(wǎng)絡(luò)的鏈接,它幫忙在管著事呢,所以也在logcat關(guān)注的范圍內(nèi)

CommandListener

系統(tǒng)網(wǎng)絡(luò)相關(guān)的命令執(zhí)行需要涉及到它,比如像Setting iface up 或者bring up eth0 這些事兒,它幫忙在處理,同樣也在WiFi調(diào)試時(shí)logcat關(guān)注范圍內(nèi)

WifiHW

這個(gè)標(biāo)簽也是比較常用到,在hardware/libhardware_legacy/wifi/wifi.c里面,主要幫忙實(shí)現(xiàn)drv的加載/卸載,以及處理與wpa_supplicant之間相關(guān)事件的通信,常用于前期的WiFi Drv導(dǎo)入調(diào)試比較多,所以也在logcat關(guān)注范圍內(nèi)

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

這是一個(gè)類似鏈接的服務(wù),一般用于 Tethering wlan0 或者 sendTetherStateChangedBroadcast 等等,可以幫忙輔助調(diào)試WiFi流程,也在logcat關(guān)注范圍內(nèi)

hostapd

對(duì)于可以支持軟件AP的WiFi Dongle設(shè)備來說,這是一個(gè)很關(guān)鍵的服務(wù)(工具),一般用來初始化設(shè)置軟AP的參數(shù)(ssid、channel、psk、wpa、帶寬等參數(shù))詳細(xì)具體可參考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狀態(tài)處理都離不開它,所以也是在logcat需要關(guān)注的范圍

TetherController

它在系統(tǒng)網(wǎng)絡(luò)有著重要的地位,因?yàn)槠涮幚淼臉I(yè)務(wù)包含了dns,路由控制表, dhcp相關(guān)等等,可以這么說,系統(tǒng)網(wǎng)絡(luò)涉及到無法ping通一些特定的域名或者網(wǎng)站,可以來這里找找原因,所以它也在logcat關(guān)注范圍內(nèi),其中該文件在/system/netd/server/TetherController.cpp,

dnsmasq

一個(gè)神奇且強(qiáng)大的工具,集中了dns,dhcp,router等功能,它很適合在一些小網(wǎng)絡(luò)(輕量級(jí))架構(gòu)發(fā)揮著強(qiáng)大的作用,詳細(xì)可以參見這里
可以看下它工作時(shí)打印

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

以上主要為調(diào)試WiFi 軟AP常用的Tag
對(duì)應(yīng)的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狀態(tài)時(shí),我們需要重點(diǎn)關(guān)注wpa_supplicant對(duì)應(yīng)的log
開啟wpa_supplicant的log,只需要修改一個(gè)地方即可,在找到對(duì)應(yīng)init.xx.rc啟動(dòng)wpa_supplicant進(jìn)程,在啟動(dòng)前添加 -dd的參數(shù)(將wpa_supplicant log 級(jí)別設(shè)為debug)即可,后續(xù)關(guān)于wpa_supplicant調(diào)試會(huì)繼續(xù)更新整理

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容