在 GitHub 上加星Star2.4k 个星标

案例

Open Steam Controller:逆向工程得来的 Steam Controller 固件

记录对 Valve 初代 Steam Controller 的逆向工程:作者在修改版 pinkySim 模拟器中运行其 LPC11U37F 主处理器固件并记录硬件访问,再据此编写替代固件。不同构建选项可让手柄成为通过 USB 串口查询外设的开发板,或伪装成 PowerA 手柄、供 Nintendo Switch 使用的有线控制器。Qt 转换工具可把 MusicXML 乐曲写入官方固件同样会读取的 EEPROM 区域,作为开机和关机提示音;另有文档记录主板引脚连接和 USB 消息。

目标
固件 · 协议
类别
独立重建案例
关联
独立重建项目
来源复核于
星标
545
最近提交
2019-09-17
主要语言
C

GitHub 数据,截至 2026-11-09

复制为 Markdown查看 JSON引用

使用条件与局限

  • 替代固件面向 Steam Controller 的 Luna_mainboard V000456-00 rev3 主板及其 LPC11U37F 处理器。nRF51822 蓝牙固件仍为原版。
  • 运行自制固件或提示音流程需要使用该主板的 Steam Controller。重复模拟过程还需另行提供 Valve 的 vcf_wired_controller_d0g_57bf5c10.bin 固件及 LPC11U37 的 16 kB 启动 ROM 转储。
  • 固件构建使用 LPCXpresso IDE v8.2.2 和随附的 NXP lpc_chip_11uxx_lib;在 fw_cfg.h 中选择 DEV_BOARD_FW 或 SWITCH_WIRED_POWERA_FW。SCJingleConverter 使用 Qt 5.12;SteamControllerConfig.py 使用 PyUSB。
  • 作者的源文件带有 MIT 声明;随附的 NXP LPCOpen 库仅限与 NXP 微控制器配合使用。仓库没有许可证文件。自制固件内嵌了 Valve 固件的默认提示音数据,以及从 PowerA 手柄复制的 HID 报告描述符。

引用

BibTeX

@misc{open-steam-controller-firmware-case,
  title = {{Open Steam Controller: reverse-engineered Steam Controller firmware}},
  howpublished = {\url{https://github.com/greggersaurus/OpenSteamController}},
  url = {https://github.com/greggersaurus/OpenSteamController},
  urldate = {2026-10-19},
  note = {Awesome REA entry: \url{https://awesomerea.org/zh/resources/open-steam-controller-firmware-case/}}
}

纯文本

Open Steam Controller: reverse-engineered Steam Controller firmware。https://github.com/greggersaurus/OpenSteamController(访问于 2026-10-19)。Awesome REA 条目:https://awesomerea.org/zh/resources/open-steam-controller-firmware-case/

有帮助?在 GitHub 上为 Awesome REA 加星2.4k

关于此条目

说明已依据一手来源复核。

报告条目过时 建议修正翻译

一手来源

  1. README.md GitHub · greggersaurus/OpenSteamController · 修订 3258015
  2. ReverseEngineering/README.md GitHub · greggersaurus/OpenSteamController · 修订 3258015
  3. ReverseEngineering/LPC11U37F_Software.md GitHub · greggersaurus/OpenSteamController · 修订 3258015
  4. ReverseEngineering/usbInterface.md GitHub · greggersaurus/OpenSteamController · 修订 3258015
  5. Firmware/README.md GitHub · greggersaurus/OpenSteamController · 修订 3258015
  6. Firmware/OpenSteamController/src/init.c GitHub · greggersaurus/OpenSteamController · 修订 3258015
  7. Firmware/OpenSteamController/src/jingle_data.c GitHub · greggersaurus/OpenSteamController · 修订 3258015
  8. Firmware/OpenSteamController/inc/fw_cfg.h GitHub · greggersaurus/OpenSteamController · 修订 3258015
  9. Firmware/lpc_chip_11uxx_lib/src/chip_11xx.c GitHub · greggersaurus/OpenSteamController · 修订 3258015
  10. Jingle/README.md GitHub · greggersaurus/OpenSteamController · 修订 3258015
  11. UsbConfiguration/README.md GitHub · greggersaurus/OpenSteamController · 修订 3258015
  12. UsbConfiguration/SteamControllerConfig.py GitHub · greggersaurus/OpenSteamController · 修订 3258015

同分区更多条目:固件与硬件

固件与硬件分区全部 260 项资源固件与硬件案例(175)

↑↓ 移动↵ 打开⌘↵ 新标签页