查看高通休眠前后 log 脚本

本文介绍了一个用于抓取高通设备功耗相关log的脚本,通过连接和断开USB的方式,记录设备在休眠和唤醒状态下的功耗数据。脚本操作简单,适用于检查设备休眠情况及进行深入的功耗分析。

前言

自已写的脚本,抓取高通功耗相关 log, 以检查有没有休眠下去
具体分析可参考高通有文档:
【非常好】80-p0955-1sc_b_extensive_power_debug_guide.功耗分析_需要仪器.pdf

脚本

使用也很简单,先连 USB -> 运行脚本 -> 断开 USB -> 过三分钟左右再连上 USB -> 在终端任意按键 -> 查看 当前目前下 log

@echo off
set pra=dmesg -c
set suspendtime=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%-%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%
echo  %suspendtime%
@echo on
adb wait-for-device
adb root
adb wait-for-device

:: 作用:AP 是否进入睡眠
adb shell cat /sys/kernel/debug/rpm_stats    > %suspendtime%.rpm_stats.suspend.txt
:: 作用:判断哪个 CPU 没有睡眠 
adb shell cat  /sys/kernel/debug/rpm_master_stats > %suspendtime%.rpm_master_stats.suspend.txt
:: 作用:查看哪路 CLK 没关
adb shell "echo 1 > /sys/module/kernel/parameters/initcall_debug"
adb shell "echo 1 > /sys/kernel/debug/clk/debug_suspend" 
adb shell "echo 1 > /sys/module/msm_show_resume_irq/parameters/debug_mask"
adb shell "echo 32 > /sys/module/msm_pm/parameters/debug_mask"
adb shell "echo 8 > /sys/module/mpm_of/parameters/debug_mask"



pause
adb wait-for-device
adb root
adb wait-for-device
:: 唤醒
@echo off
set resumetime=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%-%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%
echo  %resumetime%
@echo on
adb shell cat /sys/kernel/debug/rpm_stats    > %resumetime%.rpm_stats.resume.txt
adb shell cat  /sys/kernel/debug/rpm_master_stats > %resumetime%.rpm_master_stats.resume.txt

adb shell %pra:"=% > %resumetime%.kernel.txt

pause
<think>首先,用户的问题是:“我想查看高通modem日志分析网络质量 请问如何通过高通modem日志分析网络质量”。这基于之前的引用内容,特别是引用[1]、[2]和[3],这些是关于高通modem日志的。 关键引用: - 引用[1]:解释QXDM工具通过USB模拟串口来收集modem日志。它建议在Android设备内部访问这个日志流。 - 引用[2]:提到高通Android日志,包括信号强度和质量的过滤。 - 引用[3]:详细描述高通modem搜网注册流程,包括初始化、PLMN/RAT选择、扫频等步骤,这些对分析网络质量相关。 用户的核心需求是:如何通过高通modem日志分析网络质量。网络质量可能包括信号强度、信号质量、连接稳定性、注册失败原因等。 我的回答需要: - 使用中文。 - 结构清晰,逐步解决问题。 - 确保回答真实可靠,基于引用。 - 在行内数学表达式使用$...$格式(如果适用)。 - 独立公式使用$$...$$格式并单独成段(如果适用)。 - 在回答中引用的段落末尾自然地添加引用标识,例如[^1]。 - 生成相关问题。 结构回答: 1. **介绍如何获取高通modem日志**:基于引用[1],使用QXDM工具或Android内部访问。 2. **解释日志内容**:基于引用[2]和[3],日志包括信号强度、质量、注册过程等。 3. **分析网络质量的具体方法**:如何从日志中提取关键信息,如信号强度、事件报告等。 4. **步骤或示例**:提供简单步骤或伪代码示例。 5. **生成相关问题**:在末尾添加相关问题。 确保LaTeX语法正确:如果有数学表达式,比如信号强度公式,可以使用。例如,信号强度可能用dBm表示,如$P_{\text{dBm}}$。 可能的数学表达式: - 信号强度:$RSSI$(接收信号强度指示)。 - 信号质量:$SINR$(信号干扰噪声比)。 - 但用户问题主要是日志分析,可能不需要复杂数学。如果有,就使用。 引用标识: - 在回答中,当提到引用内容时,添加[^1]、[^2]、[^3]。 生成相关问题: - 基于用户问题,生成3-5个相关问题,如§§相关问题§§。 最终回答结构: - 开头:简要介绍。 - 主体:分步骤解释如何获取和分析日志。 - 结尾:总结和建议。 - 最后:相关问题。</think>### 通过高通modem日志分析网络质量的方法 要分析高通modem日志以评估网络质量(如信号强度、连接稳定性、注册成功率等),需先获取日志,再解析关键指标。以下是基于高通平台(如Android设备)的逐步指南,结合引用内容说明。 #### 步骤1: 获取高通modem日志 高通modem日志通常通过专用工具或Android内部接口捕获: - **使用QXDM工具**:QXDM通过USB模拟串口连接设备,实时收集modem日志流。操作步骤: 1. 在PC上安装QXDM软件(需高通授权)。 2. 连接Android设备到PC,启用USB调试模式。 3. 在QXDM中配置端口,启动日志捕获。日志包含信号强度、网络事件等原始数据[^1]。 - **Android内部访问**:在设备内部直接读取日志流,避免依赖PC。可通过Android系统服务或root权限访问串口设备(如`/dev/ttyHS0`)。示例伪代码: ```python # 伪代码:读取modem串口日志(需root权限) import serial ser = serial.Serial('/dev/ttyHS0', baudrate=115200) while True: log_line = ser.readline().decode('utf-8') if "RIL" in log_line: # 过滤网络质量相关日志 print(log_line) ``` 此方法基于引用[1],利用USB模拟串口的原理,在设备内部直接获取日志流[^1]。 #### 步骤2: 理解日志结构并提取网络质量指标 modem日志包含事件报告、信号参数和网络状态。关键指标如下: - **信号强度与质量**: - 日志中标记为`RIL`(Radio Interface Layer)的事件包含信号强度(RSSI)和信号质量(SINR)。例如,引用[2]中的日志片段: `MSG [00063/01] Android QCRIL/Medium ... qcril_qmi_nas_dump_sign_strength_report: ..LTE` 这表示LTE网络的信号强度报告。RSSI单位是dBm(分贝毫瓦),理想值范围是$-70 \text{dBm}$到$-90 \text{dBm}$(越接近0表示信号越强)。信号质量SINR(信噪比)通常以dB表示,公式为: $$ \text{SINR} = 10 \log_{10}\left(\frac{P_{\text{signal}}}{P_{\text{noise}}}\right) $$ 其中$P_{\text{signal}}$是信号功率,$P_{\text{noise}}$是噪声功率。SINR > 20 dB表示良好质量[^2]。 - **网络注册状态**: 引用[3]描述了搜网注册流程,日志会记录PLMN(公共陆地移动网络)选择、小区搜索和注册结果。例如: - 成功注册:日志显示`Attach Complete`或`Service Granted`。 - 失败事件:如`Registration Rejected`,需检查原因代码(如"cause code 3"表示非法SIM)。 这些事件帮助分析掉网或无服务问题[^3]。 - **其他关键事件**: - 切换事件(Handover):如从LTE切换到5G,日志包含`RAT Change`。 - 错误报告:如`Radio Link Failure`,指示连接中断。 #### 步骤3: 分析日志以评估网络质量 通过解析日志中的上述指标,可诊断网络问题: - **信号强度分析**: 统计RSSI和SINR的分布。例如,若RSSI < $-100 \text{dBm}$的占比高,表明弱覆盖区域。 - **注册成功率计算**: 基于注册事件日志,计算成功率: $$ \text{成功率} = \frac{\text{成功注册次数}}{\text{总尝试次数}} \times 100\% $$ 低于90%可能表示网络配置问题[^3]。 - **工具辅助分析**: - 使用Python脚本过滤日志(如正则表达式匹配`RIL`或`SINR`)。 - 结合QXDM的离线分析功能,可视化信号趋势图。 #### 注意事项 - **权限要求**:QXDM需高通许可;Android内部访问需root权限。 - **日志量管理**:modem日志可能较大(GB级),建议过滤关键词(如`SIGNAL_STRENGTH`)。 - **可靠性**:日志分析需结合现场测试,避免误判(如建筑遮挡导致的信号衰减)。 通过以上步骤,您可以从modem日志中量化网络质量,定位弱信号、注册失败或切换问题[^1][^2][^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值