{
  "added_at": "2026-11-08",
  "additional_evidence_urls": [
    "https://github.com/larkinwc/p2afan/blob/2fe3417f328dbf49165f549baaf19b780627b38c/README.md",
    "https://github.com/larkinwc/p2afan/blob/2fe3417f328dbf49165f549baaf19b780627b38c/re/firmware-findings.md"
  ],
  "category": "reconstruction-cases",
  "class": "hardware",
  "description_en": "p2afan investigates the Tyan FT77C-B7079 BMC and controls its ASPEED AST2400 fan PWM registers from the host through the PCIe-to-AHB bridge. Its write-up maps BAR1, the PWM block and firmware layout, while the Python controller computes duty from IPMI, hwmon or command output.",
  "description_zh": "p2afan 调查 Tyan FT77C-B7079 的 BMC，经 ASPEED AST2400 的 PCIe-to-AHB 桥在主机侧控制风扇 PWM 寄存器。文档记录 BAR1、PWM 模块及固件布局；Python 控制器可依据 IPMI、hwmon 或命令输出计算占空比。",
  "entry_url": "https://awesomerea.org/resources/p2afan-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/p2afan-case/",
  "evidence_class": 2,
  "evidence_status": "observed",
  "evidence_url": "https://github.com/larkinwc/p2afan/blob/2fe3417f328dbf49165f549baaf19b780627b38c/docs/bmc-re.md",
  "group": "cases",
  "id": "p2afan-case",
  "json_url": "https://awesomerea.org/resources/p2afan-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/p2afan-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/p2afan-case/index.md",
  "name": "p2afan: mapping ASPEED BMC fan control through the P2A bridge",
  "name_zh": "p2afan：通过 P2A 桥还原 ASPEED BMC 风扇控制",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirement_facets": [
    "prerequisites",
    "prerequisites",
    "limits",
    "license"
  ],
  "requirements": [
    "ASPEED AST2400/AST2500 BMC with an enabled, unlocked P2A bridge; root access, ipmitool and /dev/ipmi0.",
    "Source installation requires Python 3.11–3.14.",
    "The measured register and sensor values come from one Tyan FT77C-B7079 chassis and must be re-derived for other machines.",
    "MIT license."
  ],
  "requirements_zh": [
    "需要具备已启用且未锁定 P2A 桥的 ASPEED AST2400/AST2500 BMC、root 权限、ipmitool 和 /dev/ipmi0。",
    "源码安装需要 Python 3.11–3.14。",
    "寄存器和传感器测量值来自一台 Tyan FT77C-B7079；其他机器需重新测定。",
    "采用 MIT 许可证。"
  ],
  "scope": "unknown",
  "targets": [
    "firmware"
  ],
  "url": "https://github.com/larkinwc/p2afan",
  "verification": "source-reviewed",
  "verified_at": "2026-11-06"
}
