diff --git a/patch_v2/meow_netmgrd/test_bt_ctl.c b/patch_v2/meow_netmgrd/test_bt_ctl.c index f39c223..f4ae9c3 100644 --- a/patch_v2/meow_netmgrd/test_bt_ctl.c +++ b/patch_v2/meow_netmgrd/test_bt_ctl.c @@ -44,10 +44,28 @@ static const char *S_PLAIN_BLOCK = "Device 33:DE:2E:21:AD:30 MOONDROP Pudding\n" static const char *S_TRUNC_MAC = "\033[0;94m[bluetooth]\033[0m# \r\033[K[NEW] Device 33:DE:2E:21:A"; -/* ---- 真机 `hcitool con` 原始字节(od -c 逐字节校对,行首 TAB、行尾一个空格 + \n)---- - * S_CON_INBOUND:0.8.50 设备 10.58.215.50,2026-11-11 20:53,**耳机自主回连**(M54 复现现场): - * od -c → "Connections:\n\t> ACL 33:DE:2E:21:AD:30 handle 11 state 1 lm MASTER AUTH ENCRYPT \n" - * S_CON_OUTBOUND:devdocs/evidence/m50_bt_result_20261111.log:8(同机同耳机,本端发起) */ +/* ---- 真机 `hcitool con` 原始字节样本(两条都可从仓库内自证)---- + * + * S_CON_INBOUND —— 0.8.50 / 设备 10.58.215.50 / 2026-11-11 20:53 / **耳机自主回连**现场, + * `hcitool con 2>&1 | od -c` 的原样输出(每行 16 字节;偏移是八进制,末行 0000120 = 80 字节, + * 与本字面量长度一致;每字节右侧的空格是 od 的字段填充,不是数据): + * 0000000 C o n n e c t i o n s : \n \t > + * 0000020 A C L 3 3 : D E : 2 E : 2 1 : + * 0000040 A D : 3 0 h a n d l e 1 1 + * 0000060 s t a t e 1 l m M A S T E + * 0000100 R A U T H E N C R Y P T \n + * 0000120 + * 逐字节读法:`Connections:` + LF + TAB + `>` + SPC + `ACL` + SPC + 17 字符 MAC + + * ` handle 11 ` + `state 1 lm MASTER AUTH ENCRYPT` + SPC + LF ⇒ 字面量见下方 S_CON_INBOUND。 + * 复核方法:`printf '<上面的字面量>' | od -c`,与本块除「行尾字段填充空格」外逐行相同 + * (本块为免源码尾随空格删掉了那点填充;数据以 80 字节 / 末偏移 0000120 为准)。 + * 这次采集没有单独落盘成证据文件(`devdocs/evidence/` 只有 m50 那一份),上面这块 od 输出 + * 就是它的原样记录;同一条命令的「`Connections:` 表头 + 行首 TAB + 行尾 SPC 后 LF」框架字节 + * 可与 S_CON_OUTBOUND 的来源(下面那份 `cat -A` 证据)互相印证。 + * + * S_CON_OUTBOUND —— devdocs/evidence/m50_bt_result_20261111.log:7-8(同机同耳机,本端发起)。 + * `cat -A` 核为 `Connections:$` + `^I< ACL 33:DE:2E:21:AD:30 handle 0 state 5 lm MASTER $`, + * 与下面的字面量逐字节一致(行首 TAB、行尾一个空格再 LF)。 */ static const char *S_CON_INBOUND = "Connections:\n" "\t> ACL 33:DE:2E:21:AD:30 handle 11 state 1 lm MASTER AUTH ENCRYPT \n";