docs: 打结——修正 usbip 根因结论(大MTU GATT 流量触发),bridge 架构立项
This commit is contained in:
1 parent
85c5e08598
commit
17e2512f6a
2 files changed
+18
No files matched your search
@@ -10,3 +10,5 @@
|
||||
| 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 阻塞节 |
|
||||
| 2026-07-28 | **结论修正**:根因 = **大 MTU GATT 流量触发链路断流**(非此前判断的"中断端点饥饿"),具体归因于 usbipd-win/VBoxUSB/VHCI/AX200 固件链中某一环,无法唯一归因 | 熠管家在 Windows 侧排查:76B 响应完整到达 guest、下一请求已被 AX200 接收;**ATT MTU=23 时全部服务+22 个 characteristic 发现成功、无监督超时**;usbipd-win 5.3.0 + Ubuntu 6.8.0-136 均为最新 | 不能全局降 MTU(EPD 图像帧 244B > MTU23),故转向 bridge 架构:BLE 在 host-win 原生执行,guest 经 RPC 调用(见下条) |
|
||||
| 2026-07-28 | 引入 **bridge 能力**:host-win 原生跑 bleak(WinRT) 并以 JSONL/TCP 暴露 RPC,ubuntu-openclaw 的 ppclock 经 BridgeTransport 远程调用 | usbip 链路无法承载大 MTU GATT;Windows 原生 BLE 无此问题;NFS 仓库两边可达 | 交付:tools/bridge_server.py(单文件服务端)+ src/ppclock/bridge.py(与 BLETransport 同接口)+ CLI `--via bridge://host:port` / `PPCLOCK_VIA` 环境变量 |
|
||||
+16
@@ -75,6 +75,22 @@
|
||||
|
||||
**已保留的 guest 侧改善**:`/sys/bus/usb/devices/1-1/power/control=on`(重启后需重设;可写 udev 规则固化,见 README)。
|
||||
|
||||
### 2026-07-28:排查打结(结论修正)+ bridge 架构立项
|
||||
|
||||
**熠管家 Windows 侧排查结论(采纳,替代此前归因)**:
|
||||
- 192.168.61.35 = Windows host-win/banyWinServer(usbipd-win 5.3.0),非 Linux
|
||||
- 76B 响应完整到达 guest、下一请求已被 AX200 接收 → 非"中断端点卡住"
|
||||
- **ATT MTU=23 时全部服务 + 22 个 characteristic 发现成功、无监督超时** → 定性为"大 MTU GATT 流量触发断流",具体环节(usbipd/VBoxUSB/VHCI/AX200 固件)无法唯一归因
|
||||
- 不能全局降 MTU(EPD 图像帧 244B),运行态已恢复
|
||||
|
||||
**打结**:本机 usbip 路径不可用于大帧 GATT,放弃修复,转 bridge 架构。
|
||||
|
||||
**bridge 立项**(见 DECISIONS 2026-07-28 第 3 条):
|
||||
- `tools/bridge_server.py`:host-win 原生运行(Python+bleak/WinRT),JSONL/TCP RPC
|
||||
- `src/ppclock/bridge.py`:BridgeTransport,与 BLETransport 同接口,全部 CLI 命令透明可用
|
||||
- 调用方式:`ppclock --via bridge://192.168.61.35:8971 ...` 或 `PPCLOCK_VIA=bridge://...`
|
||||
- field_test.py 经 `PPCLOCK_VIA` 环境变量继承,无需改动
|
||||
|
||||
### 会话时间线
|
||||
|
||||
- 08:14 目标设定(治理+规划+执行)
|
||||
|
||||
Reference in new issue
Block a user