From 790f79752817be094cf6ef3315ec6f8d737a9084 Mon Sep 17 00:00:00 2001 From: agent Date: Tue, 28 Jul 2026 11:19:19 +0000 Subject: [PATCH] =?UTF-8?q?docs:=20=E7=9C=9F=E6=9C=BA=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E7=AC=AC=E4=B8=80=E8=BD=AE=E2=80=94=E2=80=94usbip=20=E9=93=BE?= =?UTF-8?q?=E8=B7=AF=E6=A0=B9=E5=9B=A0=E5=AE=9A=E4=BD=8D=EF=BC=88DECISIONS?= =?UTF-8?q?/PROGRESS=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DECISIONS.md | 1 + PROGRESS.md | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/DECISIONS.md b/DECISIONS.md index dd3e08a..448d228 100644 --- a/DECISIONS.md +++ b/DECISIONS.md @@ -9,3 +9,4 @@ | 2026-07-24 | 倒计时日期/休眠小时采用 BCD 编码 | timedjs2.js:242-243 / ble.js:4013-4015 均为十进制字符串直拼后经 hexToBytes | 实测 JS 证据:month=12 → 字节 0x12,hour=23 → 0x23;与 setTime 的真 hex(intToHex)不同,需注意区分 | | 2026-07-24 | 固件头格式确认(magic 'pQ'/flags 0x01AA/长度/CRC32(body)/64B 头/0x20 填充 0x00) | 以 zlib.crc32 反推验证 CRC 字段 = body 的 CRC32,重打包字节级往返一致 | fw_pack 可生成与原镜像格式一致的文件,是固件可控(G4)的基础 | | 2026-07-24 | 中英混排 0.5 单位的倒计时前缀在 CLI 拒绝 | JS `'0'+charCount` 遇 3.5 生成非法 hex "03.5" | 属于上游 bug 路径,CLI 显式报错优于发送畸形帧 | +| 2026-07-28 | 真机测试阻塞定责:USB/IP 透传链路(hci0=vhci_hcd,源 192.168.61.35:3240 Intel AX200)在 BLE 连接数据窗口 ~3s 后硬停 | btmon 两次复现:连接建立成功→MTU 交换成功(设备 RX MTU 512)→服务发现推进→~19 个 ACL 包后悬崖式断流→Disconnect 0x08;对照设备(小米温湿度计 RSSI -27)同样失败 | 排除设备与协议软件问题(扫描/连接建立/ATT 初期均正常);属 usbip-host 中断端点饥饿类故障;需在 usbip 源机原生运行或修 usbip,详见 PROGRESS.md 阻塞节 | diff --git a/PROGRESS.md b/PROGRESS.md index ab7bc37..bf2a1d4 100644 --- a/PROGRESS.md +++ b/PROGRESS.md @@ -43,6 +43,17 @@ - 新增:docs/field-test-plan.md(10 阶段验收表)、tools/field_test.py(引导执行器)、examples/field_test.jsonl(batch 冒烟序列) - 冒烟验证:field_test.py --help / jsonl 10 行可解析 / 测试镜像制作+CRC 均通过 +### 2026-07-28:真机测试第一轮 —— 基础设施阻塞(已定位根因) + +**设备验证成功**:NRF-5DBF28 @ 18:BC:5A:5D:BF:28 在线,广播包含全部预期服务(EPD 13187b10/RXTX 1f10/SUOTA 221f+fef5/DIS/BAS)——与逆向结论完全一致。ATT 层握手成功(MTU 交换:设备 Server RX MTU 512)。 + +**阻塞根因**:本机蓝牙适配器经 USB/IP 从 192.168.61.35 透传(hci0=vhci_hcd),BLE 连接建立后数据窗口 ~3s 硬停(btmon 两次复现 19 ACL 包后断流→监督超时 0x08)。对照设备同败 → 非设备/协议问题,系 usbip 链路故障。 + +**下一步选项**(待用户定): +1. 在 192.168.61.35(dongle 物理机)原生部署运行 field_test.py +2. 修 usbip 链路(宿主侧内核/配置)或改用原生蓝牙机器 +3. 用户指认一台允许 SSH 的 Linux 蓝牙机,远程部署执行 + ### 会话时间线 - 08:14 目标设定(治理+规划+执行)