4. 目标设备进入 EDL 模式:按键组合、ADB 命令、9008 端口确认
EDL(Emergency Download)模式是高通平台底层烧录的强制入口,设备在此模式下通过 9008 端口与主机通信,绕过系统引导直接访问原始存储。进入 EDL 有四种常用方法:硬件按键组合、ADB 命令、短接测试点以及工程线触发。本章聚焦前三种在生产与调试中最安全、可重复的方案。
4.1 EDL 模式进入方式对比
| 进入方式 | 前置条件 | 适用场景 | 成功率 | 风险等级 |
|---|---|---|---|---|
| 按键组合 | 设备能上电、按键正常 | 变砖、开机循环、无法进入系统 | 高 | 低 |
| ADB 命令 | 系统可启动、USB 调试已开启 | 正常系统下的快速切换 | 高 | 低 |
| 短接测试点 | 拆机、短接工具、主板图纸 | 按键损坏、其他方法失效 | 中 | 中(需谨慎操作) |
| 工程线 | 专用 USB 线(D+短接) | 工厂产线场景 | 极高 | 低 |
4.2 按键组合进入 EDL(无系统依赖)
此方法不依赖任何软件状态,在设备完全断电后执行。不同厂商按键定义有差异,以下为高通参考平台的通用序列:
- 长按 音量上 + 音量下 + 电源键 持续 5~8 秒,保持所有键不放。
- 插入 USB 数据线连接 PC(设备端需先断开电池或保持断电状态,部分设备需拔掉电池再装回)。
- 观察 PC 设备管理器或终端输出,确认端口出现后松开按键。
常见按键组合速查表:
| 厂商/芯片 | 按键组合 | 备注 |
|---|---|---|
| Qualcomm 标准 | VOL+ + VOL- + POWER | 适用于大多数骁龙 6/7/8 系列 |
| 小米/Redmi | VOL- + POWER(断开电池后) | 部分机型需要先拆除电池排线 |
| 三星 Exynos+高通 | VOL- + POWER + Bixby | 保持至屏幕无显示且振动一次 |
| 联发科(非高通) | 不适用 | MTK 使用 Preloader / BROM 模式 |
4.3 通过 ADB 命令进入 EDL(系统级触发)
条件:设备已正常开机,USB 调试已开启,且主机 adb 可正常发现设备。
adb reboot edl
执行后设备会立即黑屏并重新枚举为 9008 模式,无需其它操作。如果系统未正确响应,检查 adb 连接状态:
adb devices
# 预期输出:
# List of devices attached
# a1b2c3d4 device
仅当状态为 device(而非 offline 或 unauthorized)时才能生效。若出现 error: no devices/emulators found,请重新插拔 USB 并确认驱动已安装。
adb reboot edl 指令,此时会返回 error: reboot mode 'edl' not found。替代方案:adb reboot bootloader 进入 fastboot,然后使用 fastboot oem edl,但该命令需要 unlock 权限。4.4 确认 9008 端口(主机端验证)
无论通过哪种方式触发,主机端必须正确识别到 Qualcomm HS-USB QDLoader 9008 端口。以下为各平台确认方法:
Windows
打开设备管理器(devmgmt.msc),展开 端口 (COM 和 LPT)。若见到 Qualcomm HS-USB QDLoader 9008 (COMx),端口号即烧录工具后续需要填写的 COM 口(如 COM3)。
# 也可通过命令行定位(Powershell 管理员):
Get-PnpDevice | Where-Object {$_.FriendlyName -match "QDLoader"}
# 输出示例:
# Status Class FriendlyName
# ------ ----- ------------
# OK Ports Qualcomm HS-USB QDLoader 9008 (COM4)
Linux
lsusb | grep -i qualcomm
# 输出示例:
# Bus 001 Device 003: ID 05c6:9008 Qualcomm, Inc. Gobi Wireless Modem (QDL mode)
#
# 确认 tty 节点
dmesg | tail -20 | grep -i "ehci\|qdloader\|ttyUSB"
# 输出示例:
# [ 1234.567890] usb 1-2: Product: QUSB_BULK
# [ 1234.567891] usbcore: registered new interface driver qcserial
# [ 1234.567892] option 1-2:1.0: GSM modem (1-port) converter detected
# [ 1234.567893] usb 1-2: GSM modem (1-port) converter now attached to ttyUSB0
macOS
system_profiler SPUSBDataType | grep -A 10 "Qualcomm"
# 在输出中查找 "Product ID: 0x9008"
ioreg -p IOUSB -l -w 0 | grep -i "9008"
# 确认 io 节点存在
4.5 常见错误与排查
原因:设备未完全进入 EDL,可能停留在诊断模式或刷机模式分支。解决方案:重新尝试按键组合,确保在插入 USB 的瞬间设备主控处于未初始化状态。若使用 ADB 命令,尝试先进入 fastboot 再 fastboot oem edl。
原因:驱动未安装或 USB 线缆不兼容。确认已安装 QPST 自带的驱动(或单独安装 Qualcomm USB 驱动)。更换 USB 2.0 端口和原装线缆,避免使用延长线。
lsusb 显示 05c6:9008,但 /dev/ttyUSB0 没有权限。解决:将当前用户加入 dialout 组或使用 sudo 运行烧录工具。
sudo usermod -a -G dialout $USER
# 重启会话或重新登录后生效
4.6 验证与优化建议
- 验证入口:执行
adb reboot edl后,3 秒内主机应弹出新端口。按键组合方式通常在插入 USB 后的 2~5 秒内完成枚举。 - 优化建议:
- 使用 原装 USB 2.0 数据线,避免 3.0 或劣质线缆。
- 若多次按键失效,拆机短接 DM/DP 测试点(参考主板丝印:EDL、9008、DLOAD)。
- 生产环境中,建议通过工程线(D+短接)加载 firehose.elf 后进入 EDL,避免手动操作。
- 日志保留:记录每次进入 EDL 时设备的 VID/PID、枚举时长和主机日志,便于后续自动化和排查。