admin管理员组文章数量:1569332
注意: 由于需要在同一台电脑同时连接adb 抓取log,附件中所有脚本的 adb device serial number 需要更新为对应的号。
示例如下:
ciellee@sh:~/Videos$ adb devices
List of devices attached
9c2d9ab5device ---------------> 车机
5T7HGD199A038896device ---------------> 手机
所有车机脚本adb 改为 : adb -s 9c2d9ab5 shell
所有手机脚本adb 改为 : adb -s 5T7HGD199A038896 shell
附件内容如下:
操作步骤如下:
一、 对数据解密,push 解密的so 库文件到车机中
操作示例如下:
ciellee@sh:~/Videos$ adb root
adbd is already running as root
ciellee@sh:~/Videos$ adb remount
remount succeeded
ciellee@sh:~/Videos$ adb shell
msm8937_32go:/ # find ./system/ -name libmsdpmediasdk.so
./system/lib/libmsdpmediasdk.so
./system/lib64/libmsdpmediasdk.so
msm8937_32go:/ # exit
ciellee@sh:~/Videos$ adb push arm64-v8a/libmsdpmediasdk.so /system/lib64/
3103 KB/s (1768624 bytes in 0.556s)
ciellee@sh:~/Videos$ adb push armeabi-v7a/libmsdpmediasdk.so /system/lib/
2950 KB/s (1444272 bytes in 0.478s)
二、车机手机分别打开adb功能,运行脚本清除手机 和 车机内部现有的log,会自动重启
运行 《1.清除华为手机log并重启.bat》 和 《2.清除车机log并重启.bat》
三、车机手机分别打开adb功能,开始push tcpdump 可执行文件,并开始抓取tcpdump log
运行《3.push_手机tcpdump并开始抓 取tcpdump.bat》 和 《4.push_车机tcpdump并开始抓 取tcpdump.bat》
注意,运行这两个脚本后会开始同步抓取tcpdump log,这两个窗口保留,别关闭。
如下:
ciellee@sh:~/Videos$ adb -s 5T7HGD199A038896 shell "/data/tcpdump -i any -p -vv -s 0 -w /sdcard/phone_capture.pcap"
tcpdump: listening on any, link-type LINUX_SLL (Linux cooked), capture size 262144 bytes
Got 177 ----------> 看到这个数字在增长,说明正在抓取tcpdump
四、开始配置 sniffer 工具,抓取sniffer log
由于 hicar 投屏是动态选择信道的,所以 建议在一个较为干净的环境下(投屏及wifi 比较少的地方)。
在 sniffer 工具中,固定 149 信道,配置只过滤 车机 和 手机的 mac 地址。
开始抓取 sniffer log。
五、 此时开始投屏
在投屏时,可以看到有大量数据出来。
此时检查一下:
5.1 确认信道是否是 149
如果没有大量数据出来,说明可以投屏此时可以信道不是 149,
也可以通过 adb 来确认 wifi 信道 是否正确,文件 /data/misc/wifi/hostapd.conf , 参考本文第七章。
5.2 确认四次握手协议已经抓全(因为可以会少抓 ,如果少抓了,无法解密log)
往前翻sniffer log, 看下有没有看到 四个 EAPOL-key 的数据,这个是四次握手,如下图:
如果前两个中有一个确认不成功,就说明这次抓的不好,此时只要重新从 第四步配置 sniffer log 做就行了。
即,重新开启 sniffer log,配置好后,重新投屏,然后再检查上面的信道 及 握手协议 这两项。
六、开始复现问题
在前面 tcpdump 和 wifi sniffer log 确认抓的没问题后,此时可以开始复现问题了。
复现问题时,建议记录下,出现问题对应的时间点,方便快速定位分析。
七、导出车机 wifi cfg 文件,查看wifi 密码
ciellee@sh:~/Videos$ mkdir wifi_cfg
ciellee@sh:~/Videos$ adb pull /data/misc/wifi/ ./wifi_cfg/
pull: building file list...
skipping special file 'wlan0'
skipping special file 'p2p0'
skipping special file 'wlan0'
pull: /data/misc/wifi/hostapd.deny -> ./wifi_cfg/hostapd.deny
pull: /data/misc/wifi/hostapd.accept -> ./wifi_cfg/hostapd.accept
pull: /data/misc/wifi/hostapd.conf -> ./wifi_cfg/hostapd.conf
pull: /data/misc/wifi/hostapd.pid -> ./wifi_cfg/hostapd.pid
pull: /data/misc/wifi/entropy.bin -> ./wifi_cfg/entropy.bin
pull: /data/misc/wifi/p2p_supplicant.conf -> ./wifi_cfg/p2p_supplicant.conf
pull: /data/misc/wifi/wpa_supplicant.conf -> ./wifi_cfg/wpa_supplicant.conf
pull: /data/misc/wifi/WifiConfigStore.xml -> ./wifi_cfg/WifiConfigStore.xml
pull: /data/misc/wifi/softap.conf -> ./wifi_cfg/softap.conf
pull: /data/misc/wifi/WCNSS_qcom_cfg.ini -> ./wifi_cfg/WCNSS_qcom_cfg.ini
10 files pulled. 0 files skipped.
60 KB/s (52043 bytes in 0.834s)
ciellee@sh:~/Videos$
对应的wifi SSID 和 密码在 hostapd.conf 文件中,如下:
# /data/misc/wifi/hostapd.conf
# SSID to be used in IEEE 802.11 management frames
ssid=HiCar-1120
wpa_passphrase=53881216
在该文件中同样也可以确认wifi 信道是多少,如下说明是 153 信道 ,
在hicar 投屏比较多的地方信道较不确定,在hicar 投屏少的地方,一般是 149 开始:
# /data/misc/wifi/hostapd.conf
# Channel number (IEEE 802.11)
# (default: 0, i.e., not set)
# Please note that some drivers (e.g., madwifi) do not use this value from
# hostapd and the channel will need to be configuration separately with
# iwconfig.
channel=153
八、重现完毕后,开始导出log
8.1 停上 sniffer log 抓取,保存 sniffer log 文件。
8.2 停止 tcpdump log 抓取
调出之前抓取 tcpdump 的两个窗口,ctrl + c ,n , 停止脚本,然后脚本会自动导出 tcpdump log 到本地来。
车机tcpdump log 名为:car_capture.pcap
手机tcpdump log 名为:phone_capture.pcap
ciellee@sh:~/Videos$ adb -s 260b9696 push car_tcpdump /system/bin/tcpdump
car_tcpdump: 1 file pushed. 12.0 MB/s (709464 bytes in 0.056s)
ciellee@sh:~/Videos$ db -s 260b9696 shell chmod 777 /system/bin/tcpdump
ciellee@sh:~/Videos$ echo ===========Start Capture car tcpdump ,ctrl+c to stop capture ===========
===========Start Capture car tcpdump ,ctrl+c to stop capture ===========
ciellee@sh:~/Videos$ adb -s 260b9696 shell "tcpdump -i any -p -vv -s 0 -w /sdcard/car_capture.pcap"
tcpdump: listening on any, link-type LINUX_SLL (Linux cooked), capture size 262144 bytes
^C终止批处理操作吗(Y/N)? n
ciellee@sh:~/Videos$ echo ===========开始导出 tcpdump log 完毕===========
===========开始导出 tcpdump log 完毕===========
ciellee@sh:~/Videos$ adb -s 260b9696 pull /sdcard/car_capture.pcap .
/sdcard/car_capture.pcap: 1 file pulled. 3.6 MB/s (56232 bytes in 0.015s)
ciellee@sh:~/Videos$ echo ===========导出 tcpdump log 完毕===========
===========导出 tcpdump log 完毕===========
ciellee@sh:~/Videos$ pause
请按任意键继续. . .
8.3 导出手机 和 车机的 android_log
运行《5.抓取手机log.bat》 和 《6.抓取车机log.bat》自动导出log
九、相关脚本内容
《3.push_手机tcpdump并开始抓取tcpdump.bat》
adb -s 5T7HGD199A038896 wait-for-device
adb -s 5T7HGD199A038896 root
adb -s 5T7HGD199A038896 wait-for-device
adb -s 5T7HGD199A038896 remount
adb -s 5T7HGD199A038896 push phone_tcpdump /data/tcpdump
adb -s 5T7HGD199A038896 shell chmod 777 /data/tcpdump
echo ===========Start Capture phone tcpdump ,ctrl+c to stop capture ===========
adb -s 5T7HGD199A038896 shell "/data/tcpdump -i any -p -vv -s 0 -w /sdcard/phone_capture.pcap"
echo ===========tcpdump capture done===========
adb -s 5T7HGD199A038896 pull /sdcard/phone_capture.pcap .
echo ===========tcpdup file pull done===========
pause
《4.push_车机tcpdump并开始抓取tcpdump.bat》
adb -s 66f80af6 wait-for-device
adb -s 66f80af6 root
adb -s 66f80af6 wait-for-device
adb -s 66f80af6 remount
adb -s 66f80af6 push car_tcpdump /system/bin/tcpdump
adb -s 66f80af6 shell chmod 777 /system/bin/tcpdump
echo ===========Start Capture car tcpdump ,ctrl+c to stop capture ===========
adb -s 66f80af6 shell "tcpdump -i any -p -vv -s 0 -w /sdcard/car_capture.pcap"
echo ===========¿ªÊŒµŒ³ö tcpdump log Íê±Ï===========
adb -s 66f80af6 pull /sdcard/car_capture.pcap .
echo ===========µŒ³ö tcpdump log Íê±Ï===========
pause
《5.抓取手机log.bat》
@echo on
adb -s 8UJ0119828000422 wait-for-device
adb -s 8UJ0119828000422 root
adb -s 8UJ0119828000422 wait-for-device
adb -s 8UJ0119828000422 remount
set ver_str=3.5
echo =====================GetLog version %ver_str% ================================
:: echo Current: %time% ŒŽ %time:~0,2%µã%time:~3,2%·Ö%time:~6,2%Ãë%time:~9,2%ÀåÃë@
echo ####Current: %date% %time%
set date_time="%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%"
set Folder="LogHub\GetApp_%ver_str%_%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%_phone"
echo ####start to get log to (%CD%\%Folder%)...
mkdir %Folder%
adb -s 8UJ0119828000422 pull /data/log/bt %Folder%/bt
adb -s 8UJ0119828000422 pull /data/log/android_logs %Folder%/android_logs
adb -s 8UJ0119828000422 pull /sdcard/phone_capture.pcap %Folder%/phone_capture.pcap
echo ===========tcpdup file pull done===========
:: adb -s 8UJ0119828000422 shell rm -rf /data/log/bt
:: adb -s 8UJ0119828000422 shell rm -rf /data/log/android_logs
pause
@echo on
《6.抓取车机log.bat》
@echo on
adb -s 66f80af6 wait-for-device
adb -s 66f80af6 root
adb -s 66f80af6 wait-for-device
adb -s 66f80af6 remount
set ver_str=3.5
echo =====================GetLog version %ver_str% ================================
:: echo Current: %time% ŒŽ %time:~0,2%µã%time:~3,2%·Ö%time:~6,2%Ãë%time:~9,2%ÀåÃë@
echo ####Current: %date% %time%
set date_time="%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%"
set Folder="LogHub\GetApp_%ver_str%_%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%_car"
echo ####start to get log to (%CD%\%Folder%)...
mkdir %Folder%
adb -s 66f80af6 pull /private/log %Folder%/android_logs/
adb -s 66f80af6 pull /data/brlink %Folder%/brlink/
adb -s 66f80af6 pull /sdcard/car_capture.pcap %Folder%/car_capture.pcap
mkdir -p %Folder%/wifi_cfg/
adb -s 66f80af6 pull /data/misc/wifi/ %Folder%/wifi_cfg/
adb -s 66f80af6 pull /data/misc/bluedroid/ %Folder%/conf/
adb -s 66f80af6 pull /data/misc/bluetooth/logs/ %Folder%/btlogs/
pause
@echo on
版权声明:本文标题:华为HiCar投屏音频卡顿问题分析—抓取wifi tcpdump及 sniffer log 步骤 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1727652268a1123562.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论