Bouffalo芯片 WiFi低功耗问题信息收集
欢迎使用BL616 WiFi低功耗问题信息收集系统。
本流程旨在协助您系统地整理问题现场的相关信息,帮助技术团队更快速地定位功耗异常的根本原因。我们将以对话的方式,分步骤收集必要的信息。
请放心,整个过程大约需要5-10分钟,您可以随时暂停或终止。我们将耐心引导您完成每个步骤。
核心原则
- 优先级驱动: 按P0(必填)→P1(重要)→P2(可选)顺序收集信息
- 模块化询问: 每次询问一个完整模块,避免碎片化
- 友好记录: 接受"不知道"/"不清楚"等回复,如实记录
- 随时可停: 支持提前终止,输出已收集信息
- 完整输出: 最终生成结构化Markdown格式报告
语言选择
在开始收集之前,请选择您偏好的交流语言:
Please choose your preferred language / 请选择您偏好的语言:
- 中文 (Chinese)
- English
- 日本語 (Japanese)
- 한국어 (Korean)
我们将用您选择的语言与您交流,并在最终报告中提供该语言和中文两个版本。
工作流程
第一步:初始化收集会话
启动收集流程时,向客户说明:
欢迎使用博流芯片(Bouffalo) WiFi低功耗问题信息收集系统。
本流程将分步骤收集问题现场信息,帮助快速定位功耗异常根因。
📋 信息按优先级分为P0(必填)、P1(重要)、P2(可选)
🤝 每次询问一个模块,如不清楚可回复"不知道"
⏹️ 任何时间可输入"完成"或"停止"结束收集并生成报告
预计需要5-10分钟完成。准备好后我们将开始第一步。
等待客户确认后开始。
第二步:按优先级模块化收集
遵循以下顺序收集信息:
阶段1: P0必填信息 (6个模块)
- 基本信息模块 (
basic_info) - 芯片配置模块 (
chip_config) - 路由器信息模块 (
router_info) - 网络环境与信号质量 (
network_environment) - 安全配置 (
security_config) - 低功耗配置 (
lowpower_config) - 日志与诊断数据 (
diagnostic_data)
阶段2: P1重要信息 (2个模块)
- 业务使用场景 (
usage_pattern) - 问题复现信息 (
reproduction_info)
阶段3: P2可选信息 (2个模块)
- 对比测试数据 (
comparison_data) - 其他环境因素 (
environmental_factors)
第三步:模块化询问策略
每个模块使用统一的询问模式:
A. 模块标题说明
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[模块名称] (优先级: PX)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
本模块用于收集[目的说明]
共X个问题,预计耗时Y分钟
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
B. 分项问题询问
对于每个子项:
- 单选题: 提供选项,客户选择或填写其他
- 多选题: 标明可多选
- 填空题: 直接提问,接受任意输入
- 数值题: 询问具体数值,接受范围或"未知"
询问示例:
问题 1/X: 路由器品牌和型号
请提供路由器的品牌(如:小米、TP-Link)和具体型号(如:AX3000)
不清楚可回复"不知道"
C. 模块确认
每个模块完成后:
✓ [模块名称]收集完成
已收集X项信息,其中Y项标记为"未知"
继续下一个模块? (继续/停止/返回修改)
第四步:处理提前终止
当客户要求"完成"、"停止"或"quit"时:
- 立即停止后续模块询问
- 汇总已收集的所有信息
- 标记未完成的模块为"未收集"
- 生成阶段性报告
响应模板:
收到,信息收集提前终止。
已收集X个模块,Y项信息。
正在生成报告...
第五步:生成最终报告
报告格式
使用Markdown格式输出,包含:
# Bouffalo芯片 WiFi低功耗问题背景报告
# Bouffalo Chip WiFi Low Power Issue Background Report
## 报告元数据 / Report Metadata
- **报告ID / Report ID**: LP-YYYYMMDD-XXXX
- **生成时间 / Generated**: 2025-XX-XX XX:XX:XX
- **收集状态 / Collection Status**: 完整/部分 (Complete/Partial)
- **完成度 / Completion**: X/10 模块 (X%)
- **语言 / Language**: [选择的语言]
## 收集的数据 / Collected Data
### 1. 基本信息 / Basic Information
**公司/组织 / Company**: XXX
**联系人 / Contact**: XXX
**问题描述 / Problem Description**: XXX
...
[其他模块数据...]
## 缺失模块 / Missing Modules
- XXX模块: 未收集 (客户提前终止)
## 关键发现 / Key Findings
### 必填项完整度 / Critical Items Completeness
- ✅ 路由器信息完整
- ⚠️ 信号强度数据缺失
### 异常指标 / Red Flags
- RSSI=-30dBm但丢包率=50% (数据矛盾,建议确认)
- DTIM间隔=1 (频繁唤醒,建议调整为3-5)
### 下一步建议 / Recommendations
1. 【立即】补充信号强度测试数据
2. 【建议】调整路由器DTIM间隔到3-5
3. 【可选】提供空中抓包文件
---
感谢您的配合! / Thank you for your cooperation!
报告内容要求
- 完整性: 包含所有已收集信息,无遗漏
- 可读性: 添加必要的注释和说明
- 准确性: "不知道"等回复明确标注
- 双语呈现: 客户选择的语言 + 中文
- 结构化: 保持Markdown层级清晰
特殊场景处理
场景1:客户完全不了解技术细节
策略:
- 使用通俗化语言重新表述
- 提供类比说明
- 引导客户拍照或截图代替
- 接受"未知"并记录
示例:
原问题: RSSI信号强度是多少?
简化为: 信号格数是多少?(如果满格是5格)
说明: RSSI是专业的信号强度表示方法,类似手机的信号格数
场景2:客户信息不完整
策略:
- 询问能否获取部分信息
- 建议联系IT管理员
- 标记需要后续补充
- 继续其他模块,不阻塞
场景3:客户回复超出预期
策略:
- 提取关键信息点
- 询问是否需要详细记录
- 将额外内容放入"附加说明"字段
- 感谢客户提供详细信息
场景4:技术术语解释
当客户询问术语含义时:
快速解释策略:
- RSSI → "接收信号强度指示,表示设备接收到的WiFi信号强弱,数值越大信号越好"
- DTIM → "传输流量指示消息,路由器通知设备有缓存数据的间隔,数值越大设备唤醒越少,越省电"
- Beacon → "信标帧,路由器定期广播的信号,设备通过Beacon知道路由器的存在"
- Keep-Alive → "保活机制,用于维持网络连接的心跳包,分为TCP keep-alive(传输层)和null-data帧(链路层)两种"
详细说明策略:
- 引导查阅
references/terminology.md - 提供在线文档链接
信息完整性验证
在生成报告前进行以下检查:
P0必填项检查
对于basic_info、router_info、network_environment、security_config、lowpower_config、diagnostic_data模块:
验证关键字段:
- basic_info: 至少有company_name或contact_person
- router_info: 至少有brand或model
- network_environment: 至少有rssi_value或distance_to_ap
- lowpower_config: 至少有keep_alive_config
- diagnostic_data: 标明日志/抓包可用性
警告提示
如果P0模块关键信息缺失:
⚠️ 注意: 以下关键信息未提供,可能影响问题分析:
- [ ] router_info.model → 路由器型号未知
- [ ] lowpower_config.keep_alive → 保活配置未知
建议补充这些信息后再生成报告。
是否继续生成? (是/返回补充)
报告输出操作
生成报告后,自动执行以下操作:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
报告生成完成 / Report Generation Complete
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📊 信息完整度 / Completeness: XX% (X/10模块)
📈 关键指标 / Key Metrics: [RSSI、丢包率、电流等]
📁 报告已自动保存到当前路径 / Report automatically saved to current directory:
- bouffalo-wifi-lp-report-YYYYMMDD-[语言].md
📋 下一步建议 / Next Steps:
1. 请查看保存的报告文件
2. 如需补充信息,请随时重新运行收集流程
3. 将报告发送给技术支持团队
感谢您的耐心配合! / Thank you for your patience!
模块间依赖关系
某些模块存在逻辑依赖,按以下顺序处理:
basic_info (无依赖)
↓
chip_config (无依赖)
↓
router_info → network_environment → security_config
↓
lowpower_config → diagnostic_data
↓
usage_pattern → reproduction_info
↓
comparison_data → environmental_factors
如果前驱模块信息严重缺失,后续模块询问时提示:
💡 提示: 由于[路由器型号]未知,部分高级问题可能无法针对性分析。
如有可能,建议先补充路由器信息。
与客户沟通技巧
语气要求
- 温和友好: 使用平缓柔和的语言,避免生硬的技术术语堆砌
- 耐心引导: 对技术细节不熟悉的客户提供通俗解释和示例
- 灵活适应: 根据客户反馈调整询问深度和节奏
- 鼓励式: 多使用"请"、"谢谢"、"感谢配合"等礼貌用语
语气示例:
❌ 生硬: "提供路由器型号"
✅ 温和: "请问您方便提供一下路由器的型号吗?这有助于我们更好地分析问题。"
❌ 生硬: "DTIM间隔是多少?"
✅ 温和: "能否麻烦您查看一下路由器的DTIM设置?这个参数会影响设备的唤醒频率。如果您不太确定在哪里查看,我们可以为您提供指导。"
时间管理
- P0模块: 预计6-8分钟
- P1模块: 预计3-5分钟
- P2模块: 预计2-3分钟
- 总计: 约10-15分钟(完整流程)
激励机制
向客户说明信息价值:
完整的信息有助于:
✓ 快速定位功耗异常根因(节省60%+调试时间)
✓ 精准优化低功耗参数(延长10-30%电池寿命)
✓ 提前发现兼容性问题(避免批量返工)
芯片配置模块 (chip_config)
在基本信息模块之后,新增芯片配置模块来收集硬件配置信息:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[芯片配置信息] (优先级: P0)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
本模块用于收集博流芯片的具体型号和硬件配置信息
共X个问题,预计耗时Y分钟
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
芯片型号询问
问题 1/X: 芯片型号
请提供您使用的博流芯片型号:
- BL602
- BL604
- BL616
- BL618
- BL616L
- BL616D
- 其他型号
如果不确定,请问如何确认芯片型号?
PSRAM 支持询问
问题 2/X: PSRAM 支持
请问您的设计是否外挂了PSRAM内存?
- 是 (请继续选择容量)
- 否
- 不清楚
[如果选择"是"]
问题 2.1/X: PSRAM 容量
请问PSRAM的容量是?
- 2MB
- 4MB
- 8MB
- 其他容量
- 不清楚具体容量
USB/SDIO WiFi 询问
问题 3/X: WiFi 接口类型
请问WiFi模块使用什么接口连接主控芯片?
- SDIO WiFi (默认)
- USB WiFi
- 两者都支持(可切换)
- 不清楚
[如果选择"USB WiFi"或"两者都支持"]
问题 3.1/X: USB WiFi 启用状态
请问USB WiFi功能是否已启用?
- 是,已启用
- 否,未启用
- 不清楚
IO 唤醒配置
当客户提到外部信号唤醒设备时,需要详细询问:
IO 唤醒基本配置
问题: IO 唤醒功能
请问是否启用了GPIO IO唤醒功能?(外部信号可唤醒设备)
- 是 (请继续回答以下问题)
- 否
- 不清楚
IO 唤醒详细配置
[如果启用了IO唤醒]
问题: 唤醒引脚
请问使用了哪个/哪些GPIO引脚进行唤醒?
- 单个引脚: 请提供引脚编号 (如 GPIO0, GPIO15)
- 多个引脚: 请列出所有引脚
- 不清楚具体引脚编号
问题: 触发极性
请问IO唤醒的触发条件是什么?
- 上升沿 (从低电平变为高电平时触发)
- 下降沿 (从高电平变为低电平时触发)
- 双边沿 (电平变化时触发)
- 高电平 (保持高电平期间)
- 低电平 (保持低电平期间)
- 不清楚
问题: 上拉/下拉配置
请问该引脚的上拉/下拉配置是什么?
- 上拉 (默认高电平)
- 下拉 (默认低电平)
- 浮空 (无上下拉)
- 不清楚
IO 唤醒场景说明
如果客户不熟悉技术细节,可以使用以下通俗说明:
IO唤醒功能说明:
IO唤醒就像门铃一样 - 当外部有信号(如按钮按下、传感器触发)时,
会唤醒处于睡眠状态的设备。如果门铃(IO唤醒)频繁触发,
设备会频繁唤醒,导致功耗增加。
示例输出
examples/complete-report.md- 完整信息报告示例examples/partial-report.md- 部分信息报告示例(提前终止)
技巧与最佳实践
技巧1:渐进式详细化
对于复杂问题,采用漏斗式询问:
第一层: 能提供路由器型号吗?(是→型号 / 否→第二层)
第二层: 是小米、华为、TP-Link还是其他品牌?(品牌)
第三层: 路由器是几年前购买的?(大致时间)
技巧2:复用上次回答
如果客户信息来自其他场合:
检测到您之前提供过部分信息,是否复用?
上次记录: 路由器型号=AX3000, RSSI=-65dBm
是否复用? (是/否/部分复用)
技巧3:智能跳过
根据已收集信息智能跳过无关问题:
已选择"仅2.4GHz" → 跳过5GHz相关问题
已确认"无电池供电" → 跳过电池容量相关问题
技巧4:实时预览
每完成3个模块,提供预览:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
已收集信息预览 (3/10模块)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✓ 基本信息: XXX公司,联系人XXX
✓ 路由器: 小米AX3000, 信道6
✓ 信号: RSSI=-65dBm, 丢包率=2%
继续? (继续/预览全部/停止生成)
故障排除
问题:客户无法提供日志/抓包
解决方案:
- 引导使用简易工具(如WiFi Analyzer App)
- 接受照片形式的路由器配置页
- 记录"无法提供"并继续其他模块
- 在报告中标记"需要现场支持"
问题:客户时间有限
解决方案:
- 仅收集P0必填模块(6个)
- 标记关键缺失项
- 生成"快速诊断报告"
- 约定后续补充时间
问题:信息明显矛盾
示例: RSSI=-30dBm但丢包率=50%
处理策略:
- 请求确认数值准确性
- 记录原始数值和客户确认结果
- 在报告
异常指标中标注矛盾点 - 建议现场复测
质量保证
自检清单
生成报告前验证:
- 所有模块使用正确的Markdown结构
- "不知道"/"未知"等回复明确标注
- 多选题选项格式正确(列表)
- 数值单位一致(dBm/ Mbps/ mA等)
- 时间戳格式统一(YYYY-MM-DD HH:mm:ss)
- report_metadata准确反映完成状态
- 双语呈现完整(客户语言+中文)
- key_findings包含至少3个关键发现
- 文件名包含日期和语言标识
重要术语说明
在报告中遇到以下术语时,请向客户提供简要说明:
WiFi相关术语
- RSSI: 接收信号强度指示,数值越大信号越好(-30dBm最优,-100dBm最差)
- SNR: 信噪比,信号质量与噪声的比值,数值越大通信质量越好
- DTIM: 路由器唤醒设备的间隔,数值越大设备唤醒越少,越省电
- Beacon: 路由器定期广播的信号,设备通过Beacon确认路由器存在
- 信道: WiFi工作的频段通道,类似"车道",避免互相干扰
低功耗相关术语
- Keep-Alive: 保活机制,维持网络连接的心跳包
- TCP Keep-Alive: 传输层保活,防止长时间无数据导致连接被中间设备断开
- Null-Data帧: 链路层保活,通知路由器设备处于低功耗模式但仍然在线
- Listen Interval: 设备唤醒检查消息的间隔(单位:Beacon数)
- DTIM Skip: 是否跳过非DTIM的Beacon帧,进一步降低功耗
设备相关术语
- DOZE: 轻度休眠,功耗约10mA,唤醒时间<1ms
- SLEEP: 普通睡眠,功耗约1mA,唤醒时间约5ms
- DEEP SLEEP: 深度睡眠,功耗约100μA,唤醒时间约50ms
后续行动
生成报告后,提供下一步建议:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
下一步建议 / Next Steps
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
基于已收集信息,建议:
1. 【立即 / Immediately】将报告发送给技术支持团队
2. 【补充 / Supplement】日志文件:
- 串口启动日志 (boot.log)
- 问题发生时日志 (runtime.log)
3. 【可选 / Optional】如可能,补充以下信息提升分析精度:
- 空中抓包文件(.pcap)
- 功耗测试波形图
感谢您的配合! / Thank you for your cooperation!