代码在 init 阶段强行拉高了某些电压或者修改了 USB 控制器的状态这会干扰 USB 控制器对 CC 引脚的原始信号判读。反插时信号可能本身就较弱衰减大再加上你代码的干扰控制器直接把“进入 Meta”的信号误判为“干扰信号”而丢弃了导致启动流程卡死或直接识别成普通 ADB 模式。你的修改实际上把原本应该由 Kernel 驱动自主决定的状态强行变成了 “由用户空间脚本说了算”。硬件主板它在等 Kernel 告诉它进入 Meta。你的脚本在 init 阶段大喊“我是 ADB 设备全部占用”。结果主板和 Kernel 的通信被你的脚本“插队”了导致系统启动逻辑混乱。
ADB 驱动会接管 USB 控制器(UDC)
代码在 init 阶段强行拉高了某些电压或者修改了 USB 控制器的状态这会干扰 USB 控制器对 CC 引脚的原始信号判读。反插时信号可能本身就较弱衰减大再加上你代码的干扰控制器直接把“进入 Meta”的信号误判为“干扰信号”而丢弃了导致启动流程卡死或直接识别成普通 ADB 模式。你的修改实际上把原本应该由 Kernel 驱动自主决定的状态强行变成了 “由用户空间脚本说了算”。硬件主板它在等 Kernel 告诉它进入 Meta。你的脚本在 init 阶段大喊“我是 ADB 设备全部占用”。结果主板和 Kernel 的通信被你的脚本“插队”了导致系统启动逻辑混乱。