{
  "added_at": "2026-10-17",
  "additional_evidence_urls": [
    "https://github.com/cschalle/hw-harness/blob/093afc5c576c200f29b771d01624a327d0ff1806/README.md",
    "https://github.com/cschalle/hw-harness/blob/093afc5c576c200f29b771d01624a327d0ff1806/doc/method.md",
    "https://github.com/cschalle/hw-harness/blob/093afc5c576c200f29b771d01624a327d0ff1806/examples/ipu7-imx471/README.md",
    "https://github.com/cschalle/hw-harness/blob/093afc5c576c200f29b771d01624a327d0ff1806/LICENSE",
    "https://blogs.gnome.org/uraeus/2026/10/15/aiandreverseengineerhardware/"
  ],
  "category": "reconstruction-cases",
  "description_en": "Documents an author-reported scanner investigation comparing vendor-driver USB control transfers with Linux-driver traces to infer initialization, timing and resolution parameters. The released harness organizes reference capture and comparison; it does not automatically recover a complete protocol specification.",
  "description_zh": "记录作者报告的扫描仪调查：比较厂商驱动的 USB 控制传输与 Linux 驱动的记录，推断初始化、时序及分辨率参数。公开工具负责组织参考采集与比较，并不自动恢复完整协议规范。",
  "entry_url": "https://awesomerea.org/resources/hw-harness-reference-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/hw-harness-reference-case/",
  "evidence_url": "https://github.com/cschalle/hw-harness/blob/093afc5c576c200f29b771d01624a327d0ff1806/examples/plustek-film-scanner/README.md",
  "group": "cases",
  "id": "hw-harness-reference-case",
  "json_url": "https://awesomerea.org/resources/hw-harness-reference-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/hw-harness-reference-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/hw-harness-reference-case/index.md",
  "name": "hw-harness: scanner USB protocol investigation",
  "name_zh": "hw-harness：扫描仪 USB 协议调查",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirement_facets": [
    "prerequisites",
    "prerequisites",
    "scope",
    "testing",
    "license"
  ],
  "requirements": [
    "Developed on Fedora with libvirt/KVM and a Windows 11 Pro guest running the vendor driver. The documented USB case uses a Plustek scanner with device ID 07b3:1825; physical hardware is required.",
    "USB passthrough, host-side usbmon capture, appropriate host privileges and a matching Linux-side operation are needed for comparable traces. The harness supplies capture/control tooling rather than an automatic protocol decoder.",
    "The generic harness was published after the original bespoke investigation. Its separate MIPI camera example inspects configuration, ACPI and calibration data rather than using the scanner’s USB capture path.",
    "Hardware outcomes and Claude involvement are author-reported.",
    "The pinned harness code is MIT-licensed. Vendor software and driver dependencies remain separate inputs."
  ],
  "requirements_zh": [
    "在 Fedora 上开发，使用 libvirt/KVM 与运行厂商驱动的 Windows 11 Pro 虚拟机。所记录的 USB 案例使用设备 ID 为 07b3:1825 的 Plustek 扫描仪，需要实物硬件。",
    "要获得可比较的记录，需要 USB 直通、宿主机侧 usbmon 采集、相应宿主权限及匹配的 Linux 端操作。工具提供采集与控制能力，并非自动协议解码器。",
    "通用工具发布于原先专用调查之后。另一个 MIPI 摄像头示例检查配置、ACPI 及校准数据，并不使用扫描仪的 USB 采集路径。",
    "硬件结果及 Claude 参与情况均为作者报告。",
    "固定提交下的工具代码采用 MIT 许可。厂商软件与驱动依赖仍是独立输入。"
  ],
  "targets": [
    "protocol"
  ],
  "url": "https://github.com/cschalle/hw-harness",
  "verification": "source-reviewed",
  "verified_at": "2026-10-17T02:37:34.781877Z"
}
