Case study
Stadiacast: reconstructing the Stadia Controller's Wi-Fi service
Stadiacast recreates the network service used by the Stadia Controller's Wi-Fi firmware so the controller can connect to a local computer. The receiver answers boot and discovery requests, completes WebRTC and DTLS sessions, decodes input and sends rumble commands. Protocol notes record findings from firmware reading and live controller runs, with protobuf schemas and receiver code in the repository.
- Targets
- Protocol
- Category
- Independent reconstruction cases
- Relationship
- Independent reconstruction project
- Sources reviewed
Requirements & limits
- Prerequisites: A Stadia Controller with Wi-Fi firmware; the author tested ota.282115.
- Prerequisites: A Windows, macOS or Linux host on the controller's network; running from source requires Python 3.11+.
- Prerequisites: Linux needs root or CAP_NET_BIND_SERVICE to bind the required low ports.
- License: MIT license.
About this entry
The description was reviewed against primary sources.
Primary sources
- docs/protocol.md GitHub · jkfran/stadiacast · Revision 61e8aee
- README.md GitHub · jkfran/stadiacast · Revision 61e8aee
More in Protocols
- os-xgs-npu: reconstructing Sophos XGS coprocessor interfaces · Case study
- LibreMP: an Epson EasyMP screen caster from packet-capture research · Case study
- Sony CDX-A250: reconstructing the LCD panel interface · Case study
- MacroPad: reconstructing a USB macropad configuration protocol · Case study
- Monix: reconstructing Audient iD USB mixer control on Linux · Case study
- Scooter Link: a Xiaomi scooter client built from BLE protocol research · Case study