62 lines
3.8 KiB
Markdown
62 lines
3.8 KiB
Markdown
# 全链路测试结果(第一轮 · 2026-07-28)
|
||
|
||
> 执行方式:bridge 模式(host-win 原生 BLE)+ `ppclock batch` 单连接。
|
||
> 计划:docs/field-test-plan.md。结论先行:**核心链路全部实机验证通过**。
|
||
|
||
## 基础设施
|
||
|
||
| 项 | 结果 |
|
||
|---|---|
|
||
| 本机 usbip 蓝牙 | ❌ 大 MTU GATT 断流(DECISIONS 2026-07-28),弃用 |
|
||
| bridge(host-win 原生) | ✅ 部署于 C:\yi\ble-bridge(build 4,PID 23776,0.0.0.0:8971) |
|
||
| 设备 | NRF-5DBF28 @ 18:BC:5A:5D:BF:28 |
|
||
|
||
## 协议验证(实机)
|
||
|
||
| # | 项 | 结果 | 证据 |
|
||
|---|---|---|---|
|
||
| 1 | 扫描/连接 | ✅ | bridge scan/connect,build 2 后稳定 |
|
||
| 2 | **GATT 结构** | ✅(有修正) | 实机全表抓取:EPD h=48;**1f1f(h=53) 仅 write 不执行命令;331f(h=57) 为活命令通道**;fef5 SUOTA 六特征在线 |
|
||
| 3 | **取设备 ID(EFEF)** | ✅ | `81233F3C267112`(经 331f 写+notify) |
|
||
| 4 | **MAC 反解** | ✅ | ID → `28:bf:5d:5a:bc:18` = 广播地址反转(参数序 MAC5 在前,实机校正) |
|
||
| 5 | **keygen 离线激活** | ✅ | `activate --auto` 下发 `2564550c1b2d` 成功 |
|
||
| 6 | 对时 dd | ✅ | batch line 3 ok |
|
||
| 7 | **传图(126×244B 双平面)** | ✅ 屏显确认 | 棋盘+中央红块上屏(曾杀死 usbip 的流量) |
|
||
| 8 | 显示图一 e10000 | ✅ 屏显确认 | 切到图片 |
|
||
| 9 | 模式切换 e102xx/e101xx | ✅ 屏显确认 | 331f 通道下 clock 画面出现;1f1f 通道无效(实锤对比) |
|
||
| 10 | 倒计时+前缀 | ✅ 命令 ok | 屏显待二次确认(序列中停留 8s,见下) |
|
||
| 11 | 停车牌 | ⚠ 一次传输中断 | WinError -2147023673(设备睡眠间隙断连,非协议问题) |
|
||
| 12 | 刷屏 00/01 | ✅ | 屏显刷新 |
|
||
|
||
## 待第二轮确认/执行
|
||
|
||
1. ~~慢速目视序列~~ 已完成(见 #10-12 行)
|
||
2. **G4 SUOTA 首刷**:已推进至设备内部产品头门禁(见下"SUOTA 排障全记录"),**用户决策安全收尾**(2026-07-29),后续解法见遗留项
|
||
3. 固件 no-op 验证:rotation/wifi 应无屏效
|
||
4. 六抖动算法屏显差异、模板 6 种屏显
|
||
|
||
## SUOTA 排障全记录(2026-07-29)
|
||
|
||
| 层 | 问题 | 根因与处置 |
|
||
|---|---|---|
|
||
| 传输 | 三轮"首块前静默停滞" | **asyncio StreamReader 64KiB 行限制**,144KB 镜像请求永不到达(build 9: limit=4MiB) |
|
||
| 协议 | 状态码 16 误杀 | 固件反汇编实证 = MEM_DEV type 0x13 信息应答(0x07FCB770),build 10 按信息码处理 |
|
||
| 引脚 | 块1 状态 22(0x38000 读失败) | GPIO_MAP 字节序错误;探针实证 **BE 序 {05,06,00,40} 电气有效**(已固化为服务端默认) |
|
||
| 门禁 | 状态 20(产品头无效) | **设备 0x38000 无有效 'pR' 产品头**(裸 'pQ' 直启),固件中止首缓冲处理——vendor 级设计,强推有砖险,**用户决策安全收尾** |
|
||
|
||
设备全程零风险(探针均 max_blocks=2 安全模式,不发 END)。
|
||
|
||
## 已知问题
|
||
|
||
| # | 问题 | 状态 |
|
||
|---|---|---|
|
||
| K1 | 停车牌 EF+双写号码:命令 ACK 但屏不显(含 11 位号码、去 e2 变体均试) | 待查:疑似固件家族格式分叉(d8 hex-concat)或渲染与模式联动;协议帧与 web 证据一致 |
|
||
| K2 | 设备睡眠快(广播窗 30-60s,无唤醒按钮、自动周期醒) | 已有工作法:batch 单连接 + 守候循环 |
|
||
| K3 | 多次命令间隔断连(WinError -2147023673)1 次 | 瞬态(睡眠间隙),重连即恢复 |
|
||
| K4 | **SUOTA 产品头门禁**:0x38000 无 'pR' | 解法案:①逆向 vendor 镜像目录是否含产品头镜像 ②研究裸启设备的产品头自举写入路径 ③评估 JTAG/UART 写头 |
|
||
|
||
## 环境备注
|
||
|
||
- 设备睡眠:广播窗口 30-60s,连接态清醒;现场统一 batch 单连接+守候循环
|
||
- bridge_server build 4:write alt=331f、notify 三订阅、EFEF 走 331f
|