# Wifi Lp Collect

> Use when the user asks to "collect WiFi lowpower issue information", "gather Bouffalo chip power consumption problem details", "create customer background report for WiFi issues", "survey customer for power consumption debugging", or needs to systematically collect diagnostic information for Bouffalo chip WiFi low power problems. Provides structured interview workflow and generates comprehensive customer reports in multiple languages.

- Skill: `bouffalolab/wifi-lp-collect` (Agent Skill, multi-file: 7 files)
- Install (CLI): `npx skillmds@latest add bouffalolab/wifi-lp-collect`
- Raw SKILL.md: https://api.skillmd.com/api/skills/bouffalolab/wifi-lp-collect/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- Author: bouffalolab (https://skillmd.com/u/bouffalolab)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/bouffalolab/wifi-lp-collect

---


# Bouffalo芯片 WiFi低功耗问题信息收集

欢迎使用BL616 WiFi低功耗问题信息收集系统。

本流程旨在协助您系统地整理问题现场的相关信息,帮助技术团队更快速地定位功耗异常的根本原因。我们将以对话的方式,分步骤收集必要的信息。

请放心,整个过程大约需要5-10分钟,您可以随时暂停或终止。我们将耐心引导您完成每个步骤。

## 核心原则

1. **优先级驱动**: 按P0(必填)→P1(重要)→P2(可选)顺序收集信息
2. **模块化询问**: 每次询问一个完整模块,避免碎片化
3. **友好记录**: 接受"不知道"/"不清楚"等回复,如实记录
4. **随时可停**: 支持提前终止,输出已收集信息
5. **完整输出**: 最终生成结构化Markdown格式报告

## 语言选择

在开始收集之前,请选择您偏好的交流语言:

**Please choose your preferred language / 请选择您偏好的语言:**

- **中文** (Chinese)
- **English**
- **日本語** (Japanese)
- **한국어** (Korean)

我们将用您选择的语言与您交流,并在最终报告中提供该语言和中文两个版本。

## 工作流程

### 第一步:初始化收集会话

启动收集流程时,向客户说明:

```
欢迎使用博流芯片(Bouffalo) WiFi低功耗问题信息收集系统。

本流程将分步骤收集问题现场信息,帮助快速定位功耗异常根因。

📋 信息按优先级分为P0(必填)、P1(重要)、P2(可选)
🤝 每次询问一个模块,如不清楚可回复"不知道"
⏹️  任何时间可输入"完成"或"停止"结束收集并生成报告

预计需要5-10分钟完成。准备好后我们将开始第一步。
```

等待客户确认后开始。

### 第二步:按优先级模块化收集

遵循以下顺序收集信息:

#### 阶段1: P0必填信息 (6个模块)

1. **基本信息模块** (`basic_info`)
2. **芯片配置模块** (`chip_config`)
3. **路由器信息模块** (`router_info`)
4. **网络环境与信号质量** (`network_environment`)
5. **安全配置** (`security_config`)
6. **低功耗配置** (`lowpower_config`)
7. **日志与诊断数据** (`diagnostic_data`)

#### 阶段2: P1重要信息 (2个模块)

7. **业务使用场景** (`usage_pattern`)
8. **问题复现信息** (`reproduction_info`)

#### 阶段3: P2可选信息 (2个模块)

9. **对比测试数据** (`comparison_data`)
10. **其他环境因素** (`environmental_factors`)

### 第三步:模块化询问策略

每个模块使用统一的询问模式:

#### A. 模块标题说明

```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[模块名称] (优先级: PX)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
本模块用于收集[目的说明]
共X个问题,预计耗时Y分钟
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```

#### B. 分项问题询问

对于每个子项:
- **单选题**: 提供选项,客户选择或填写其他
- **多选题**: 标明可多选
- **填空题**: 直接提问,接受任意输入
- **数值题**: 询问具体数值,接受范围或"未知"

询问示例:

```
问题 1/X: 路由器品牌和型号
请提供路由器的品牌(如:小米、TP-Link)和具体型号(如:AX3000)
不清楚可回复"不知道"
```

#### C. 模块确认

每个模块完成后:

```
✓ [模块名称]收集完成
已收集X项信息,其中Y项标记为"未知"

继续下一个模块? (继续/停止/返回修改)
```

### 第四步:处理提前终止

当客户要求"完成"、"停止"或"quit"时:

1. 立即停止后续模块询问
2. 汇总已收集的所有信息
3. 标记未完成的模块为"未收集"
4. 生成阶段性报告

响应模板:

```
收到,信息收集提前终止。
已收集X个模块,Y项信息。
正在生成报告...
```

### 第五步:生成最终报告

#### 报告格式

使用Markdown格式输出,包含:

```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!
```

#### 报告内容要求

1. **完整性**: 包含所有已收集信息,无遗漏
2. **可读性**: 添加必要的注释和说明
3. **准确性**: "不知道"等回复明确标注
4. **双语呈现**: 客户选择的语言 + 中文
5. **结构化**: 保持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%

继续? (继续/预览全部/停止生成)
```

## 故障排除

### 问题:客户无法提供日志/抓包

**解决方案**:
1. 引导使用简易工具(如WiFi Analyzer App)
2. 接受照片形式的路由器配置页
3. 记录"无法提供"并继续其他模块
4. 在报告中标记"需要现场支持"

### 问题:客户时间有限

**解决方案**:
1. 仅收集P0必填模块(6个)
2. 标记关键缺失项
3. 生成"快速诊断报告"
4. 约定后续补充时间

### 问题:信息明显矛盾

**示例**: RSSI=-30dBm但丢包率=50%

**处理策略**:
1. 请求确认数值准确性
2. 记录原始数值和客户确认结果
3. 在报告`异常指标`中标注矛盾点
4. 建议现场复测

## 质量保证

### 自检清单

生成报告前验证:

- [ ] 所有模块使用正确的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!
```

