wifi的核心服務,是啟動整個wifi服務的,它在我們的logcat關注範圍內
wifi的掃瞄服務,一般我點開或者進入到wifi列表頁面裡,這個服務在後台幫我們重新整理熱點,同樣在logcat關注的範圍內
關於有線與wifi的切換,以及系統關於網路的鏈結,它幫忙在管著事呢,所以也在logcat關注的範圍內
系統網路相關的命令執行需要涉及到它,比如像setting iface up 或者bring up eth0 這些事兒,它幫忙在處理,同樣也在wifi除錯時logcat關注範圍內
這個標籤也是比較常用到,在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 wlan0 或者 sendtetherstatechangedbroadcast 等等,可以幫忙輔助除錯wifi流程,也在logcat關注範圍內
對於可以支援軟體ap的wifi dongle裝置來說,這是乙個很關鍵的服務(工具),一般用來初始化設定軟ap的引數(ssid、channel、psk、wpa、頻寬等引數)詳細具體可參考hostapd.conf
i/hostapd ( 3420): wlan0: inte***ce state uninitialized->ht_scan
e/hostapd ( 3420): using inte***ce 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)
....
wifi中心處理樞紐,很多的wifi狀態處理都離不開它,所以也是在logcat需要關注的範圍
它在系統網路有著重要的地位,因為其處理的業務包含了dns,路由控制表, dhcp相關等等,可以這麼說,系統網路涉及到無法ping通一些特定的網域名稱或者**,可以來這裡找找原因,所以它也在logcat關注範圍內,其中該檔案在/system/netd/server/tethercontroller.cpp,
乙個神奇且強大的工具,集中了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除錯程式問題
剛初學的時候,沒嘗試用真機,於是這次嘗試使用手機應用 wifi adb 進行除錯 具體軟體可以在豌豆莢等應用 找到,大部分其實就是將adb的指令包裝成應用,所以無需考慮那一款,這裡就不詳細推薦了 首先wifi除錯的手機必須是獲取了root許可權的,如果沒有root許可權,wifi adb應用是連線不...
Android wifi除錯真機使用記錄
ps 手機第一次開機都需要執行一次adb tcpip 5555修改埠才能使用adb connect ip鏈結上adb 開啟cmd 確認手機與pc處於同一區域網 檢視手機ipv4位址 wifi處檢視網路資訊 注1 cmd輸入adb tcpip 5555 需要手機鏈結電腦 cmd輸入arp a檢視並複製...
Android WIFI狀態監控
android 的wifi狀態可以分為兩大類,兩者均可通過廣播監聽,相應的action在wifimanager類中 第一類 有無wifi源及各個狀態間轉變 可監聽 wifi state changed action。如下圖所示,雙擊可放大 有五種情況 1 1 disabled 1 2 disabli...