# p2afan：通过 P2A 桥还原 ASPEED BMC 风扇控制

> p2afan 调查 Tyan FT77C-B7079 的 BMC，经 ASPEED AST2400 的 PCIe-to-AHB 桥在主机侧控制风扇 PWM 寄存器。文档记录 BAR1、PWM 模块及固件布局；Python 控制器可依据 IPMI、hwmon 或命令输出计算占空比。

- 类型：案例
- 目标：固件
- 类别：独立重建案例
- 关联：独立重建项目
- 来源复核于：2026-11-06
- 收录于：2026-11-08
- 原始资源：<https://github.com/larkinwc/p2afan>
- 一手来源：<https://github.com/larkinwc/p2afan/blob/2fe3417f328dbf49165f549baaf19b780627b38c/docs/bmc-re.md>
- 目录页面：<https://awesomerea.org/zh/resources/p2afan-case/>
- 记录 JSON：<https://awesomerea.org/resources/p2afan-case/record.json>
- 英文版：[English](https://awesomerea.org/resources/p2afan-case/index.md)

## 使用条件与局限

- **前提条件：**需要具备已启用且未锁定 P2A 桥的 ASPEED AST2400/AST2500 BMC、root 权限、ipmitool 和 /dev/ipmi0。
- **前提条件：**源码安装需要 Python 3.11–3.14。
- **局限：**寄存器和传感器测量值来自一台 Tyan FT77C-B7079；其他机器需重新测定。
- **许可：**采用 MIT 许可证。

## 一手来源

1. <https://github.com/larkinwc/p2afan/blob/2fe3417f328dbf49165f549baaf19b780627b38c/docs/bmc-re.md>
2. <https://github.com/larkinwc/p2afan/blob/2fe3417f328dbf49165f549baaf19b780627b38c/README.md>
3. <https://github.com/larkinwc/p2afan/blob/2fe3417f328dbf49165f549baaf19b780627b38c/re/firmware-findings.md>

## 同分区更多条目：固件与硬件

- [Cisco CP-9951 DOOM：解析电话输入并移植原生游戏](https://awesomerea.org/zh/resources/cisco-9951-doom-case/index.md) · 案例
- [Zeppelin Air：重建 USB 固件恢复流程](https://awesomerea.org/zh/resources/zeppelin-air-recovery-case/index.md) · 案例
- [EmuWorks：模拟 NumWorks N0110 计算器硬件](https://awesomerea.org/zh/resources/emuworks-case/index.md) · 案例
- [CH899：还原时钟的 MM32–ESP 通信](https://awesomerea.org/zh/resources/chouchin-ch899-firmware-case/index.md) · 案例
- [telink-usb-ota：重建 Telink USB-HID 固件更新协议](https://awesomerea.org/zh/resources/telink-usb-ota-case/index.md) · 案例
- [K2 OpenKlipper：重建 Creality K2 控制栈](https://awesomerea.org/zh/resources/k2-openklipper-case/index.md) · 案例

## 关于此条目

说明已依据一手来源复核。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
