docs: decode heartbeat/discovery-req fields; expand unresolved-items list

This commit is contained in:
OpenCode 2026-09-11 14:07:29 +08:00
parent 8938b15691
commit f6b1f104ef

View File

@ -110,6 +110,17 @@ type=4, 子类型=02, len=42 (0x2a), `"Butl"`@0x1A:
- 0x20-0x23 = 事件码(已见 0x0318 / 0x0062),其余尾字节 01 00 00 00 00 00。 - 0x20-0x23 = 事件码(已见 0x0318 / 0x0062),其余尾字节 01 00 00 00 00 00。
- 事件码语义未解码(不影响功能)。 - 事件码语义未解码(不影响功能)。
## 六b、心跳 36B(主机→Butler,全破解)
type=2, 子类型=03, len@0x14=36 (0x24):
- 0x1A-0x1D = 主机 IP(LE 逆序)
- 0x1E-0x23 = 主机 MAC
- 周期 ~1-6s,会话保活。
## 六c、发现请求 180B(部分破解)
type=1, len=180 (0xb4):0x1A 起为主机名 ASCII(如 "tony"),其余字段未解码。
--- ---
## 七、AECH 认领(已破解) ## 七、AECH 认领(已破解)
@ -129,17 +140,27 @@ type=4, 子类型=02, len=42 (0x2a), `"Butl"`@0x1A:
--- ---
## 九、仍不确定(不阻塞功能) ## 九、遗留未解码项(不阻塞功能)
| 项 | 状态 | | 项 | 状态 |
|---|---| |---|---|
| 1947 端口 40B 许可令牌 | 暖会话下**非必需**(当前 show 不发也工作);Butler 冷启动/重启后是否必需未验证 | | 1947 端口 40B 许可令牌 | 暖会话下**非必需**(当前 show 不发也工作);Butler 冷启动/重启后是否必需未验证 |
| EUCE 6s 广播 | 暖会话下**非必需**(同上) | | EUCE 6s 广播 | 暖会话下**非必需**(同上);540B 结构未解码 |
| bind52 / ident102 | 暖会话下**非必需**(最小认领 announce144→AECH 即可) | | bind52 / ident102 | 暖会话下**非必需**(最小认领 announce144→AECH 即可);bind flag ffff/0000 语义未知 |
| 217B 发现应答 | 仅知含 "Butler S2" 名 + MAC,全字段映射未解码 |
| 644B announce | 除 timestamp@0x235 / 会话ID@0x21D / 主机IP@0x41 外大量字段未解码 |
| 552B AECH 认领 | 仅 IP@0x1A / nonce@0x88 / B12@0x8C 已知,其余未解码 |
| 552B AERE 应答 | resp@0xC0=G(nonce) 已验证;0xB0-0xBF 重复值对、0xC5 起 0x0af0 重复,语义未知 |
| 42B 事件码 0x0318/0x0062 语义 | 未解码 | | 42B 事件码 0x0318/0x0062 语义 | 未解码 |
| Butler 冷启动是否必须完整前奏(45s 广播+bind+ident+EUCE+1947) | 未验证 |
| NFM680S 通道数漂移(曾见 2ch/1ch) | 近期稳定 1ch,疑早期解析误判;未复现深究 | | NFM680S 通道数漂移(曾见 2ch/1ch) | 近期稳定 1ch,疑早期解析误判;未复现深究 |
| announce 时间戳/会话 ID 是否参与校验 | 按实测填充新鲜值即可;严格性未消融 | | announce 时间戳/会话 ID 是否参与校验 | 按实测填充新鲜值即可;严格性未消融 |
**已证伪的旧猜测**(曾列入待办,本轮排除):
- ~~RDM 变长起始~~ → 固定 0x3C
- ~~会话级帧校验~~ → 不存在
- ~~0x2E 严格校验~~ → 不校验(1/2 均接受)
--- ---
## 十、纯自构造实现 ## 十、纯自构造实现