|
Elo
技术支持知识库
|
ZEBRA
公共支持文档
|
在 USB OTA 更新过程中解决“签名验证失败错误 21”
受众: Elo 和 Zebra 客户
文章类型: 公共流程
症状
在 Android 设备(例如 Elo 背包)上通过 USB 尝试应用无线 (OTA) 固件更新时,安装过程在 Android Recovery 屏幕上失败,并中止了验证错误消息。
错误屏幕日志的图形表示:
根本原因分析
此错误表明 update.zip 负载在加密上无效或失去了结构完整性。EOCD (中央目录结束) 标记错误明确指出 zip 的文件结构被截断、损坏或以其他方式不可读。这阻止系统执行其强制性的签名检查,触发错误代码 21,作为安全对策,保护设备免受系统砖化。
这通常是由于以下原因造成的:
- 故障 USB 闪存驱动器: 缺陷的闪存块(坏扇区)或不稳定的控制器在本地文件传输过程中损坏负载。
- 下载不完整: 从门户网站下载时,OTA 包被中断或损坏。
- 目标映像不正确: 负载的安全证书与物理硬件修订版上的 BSP 固件不匹配。
逐步解决方案
⚠️ 重要注意事项: 在尝试写入操作之前,请严格使用 FAT32 文件系统格式化 USB 闪存驱动器。 NTFS 或 exFAT 等分区样式可能导致挂载问题或在恢复阶段读取块不完整。
-
清除本地文件: 删除主计算机和 USB 驱动器上的先前
update.zip以防止意外重用。 -
下载干净的固件负载: 从 Elo 客户支持门户重新下载官方 OTA 包。如果网站提供 MD5/SHA-256 哈希,使用命令行工具验证本地文件完整性(例如,在 Windows 上使用
CertUtil -hashfile update.zip SHA256)。 - 准备新的 USB 闪存驱动器: 切换到不同的高质量 USB 闪存驱动器。使用 FAT32 文件系统干净地格式化该驱动器。
-
传输负载: 将新下载的
update.zip直接复制到 USB 驱动器的根目录(不要解压 ZIP 容器)。 - 安全弹出并挂载: 从主 PC 安全弹出 USB 闪存驱动器,将其插入到 Elo 背包的 USB-A 接口,并通过 Android Recovery 控制台继续安装过程。
-
使用替代存储介质: 如果多个 USB 驱动器上仍然存在验证错误,请尝试使用替代物理介质进行更新。将高质量 MicroSD 卡干净格式化为 FAT32,将
update.zip复制到其根目录,并在恢复菜单中选择从 SD 卡应用更新的选项。
💾 1. 选择合适的 SD 卡大小
为了确保无缝的更新过程,我们强烈建议使用容量为 32GB 或更小 的 Micro SD 卡。
- 卡 ≤ 32GB: 可以使用原生 Windows 格式化工具快速直接格式化为 FAT32。
- 卡 > 32GB: 原生 Windows 格式化工具不支持将大于 32GB 的分区格式化为 FAT32(Windows 默认将较大的卡格式化为 exFAT 或 NTFS,后者不受引导加载程序支持)。
🔧 2. 格式化说明
选项 A:使用标准 Windows 工具(适用于 32GB 或更小的 SD 卡)
- 将 Micro SD 卡插入计算机的读卡器。
- 打开 文件资源管理器 并导航到 此计算机。
- 右键点击您的 SD 卡驱动器,选择 格式化...
- 在 文件系统 下,从下拉菜单中选择 FAT32。
- 将分配单位大小保持为默认,勾选 快速格式化,然后点击 开始。
选项 B:使用第三方工具(对于大于 32GB 的 SD 卡所需)
如果您必须使用大于 32GB 的 SD 卡,则需要使用第三方工具绕过原生 Windows 音量限制并强制进行 FAT32 格式化:
- 下载并打开受信任的格式化工具,如 Rufus 或 FAT32 格式 GUI。
- 仔细选择您的目标 SD 卡设备。
- 确保目标启动选择设置为 “非可引导” 或 “FreeDOS”(具体取决于工具布局),并将文件系统输出设置为 FAT32。
- 点击 开始 / 格式化 应用更改。
⚠️ 注意: 格式化将永久删除 SD 卡上的所有数据。请确保在开始格式化过程之前备份任何重要文件。
Please report any broken links by emailing elo.support@zebra.com and include a link to the knowledge article