{
  "added_at": "2026-11-08",
  "additional_evidence_urls": [
    "https://github.com/sanderpost/zeppelin-air-recovery/blob/9a69aa298d606e467a32066b66e1eaa9315aaf64/docs/PROTOCOL.md"
  ],
  "category": "reconstruction-cases",
  "class": "hardware",
  "description_en": "Zeppelin Air Recovery reconstructs the Bowers & Wilkins speaker's USB recovery procedure from its updater library and live DFU exchanges. A Python tool implements vendor commands, flashes the MCU and coprocessor in two phases, and polls the coprocessor until it is ready; protocol notes document the message sequence and flash layout.",
  "description_zh": "Zeppelin Air Recovery 从厂商更新库和实机 DFU 交互还原 Bowers & Wilkins 音箱的 USB 恢复流程。Python 工具实现厂商命令，分两阶段写入 MCU 与协处理器固件，并轮询等待协处理器就绪；协议笔记记录消息顺序和闪存布局。",
  "entry_url": "https://awesomerea.org/resources/zeppelin-air-recovery-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/zeppelin-air-recovery-case/",
  "evidence_class": 2,
  "evidence_status": "observed",
  "evidence_url": "https://github.com/sanderpost/zeppelin-air-recovery/blob/9a69aa298d606e467a32066b66e1eaa9315aaf64/README.md",
  "group": "cases",
  "id": "zeppelin-air-recovery-case",
  "json_url": "https://awesomerea.org/resources/zeppelin-air-recovery-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/zeppelin-air-recovery-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/zeppelin-air-recovery-case/index.md",
  "name": "Zeppelin Air: reconstructing USB firmware recovery",
  "name_zh": "Zeppelin Air：重建 USB 固件恢复流程",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirement_facets": [
    "prerequisites",
    "prerequisites",
    "limits",
    "license"
  ],
  "requirements": [
    "Requires a Zeppelin Air, Python 3.9 or later, pyusb, libusb and a USB cable.",
    "Requires the user's official B&W recovery utility for its firmware images.",
    "A mains power cycle is required between recovery phases; the author reports that audio output remains unverified.",
    "MIT license."
  ],
  "requirements_zh": [
    "需要 Zeppelin Air、Python 3.9 或更新版本、pyusb、libusb 和 USB 数据线。",
    "需要用户自有的 B&W 官方恢复程序，以取得固件映像。",
    "两个恢复阶段之间必须断电重启；作者报告音频输出尚未确认。",
    "MIT 许可证。"
  ],
  "scope": "unknown",
  "targets": [
    "firmware",
    "protocol"
  ],
  "url": "https://github.com/sanderpost/zeppelin-air-recovery",
  "verification": "source-reviewed",
  "verified_at": "2026-11-06"
}
