You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(companion): add Wake-on-LAN configuration commands and UI
Wires the firmware WOL module up to the companion protocol and app:
- New COMMAND_ID values (SET_WOL_ENABLED, SET_WOL_WIFI_SSID,
SET_WOL_WIFI_PASSWORD, SET_WOL_TARGET_MAC) at 0x46-0x49, placed after
the existing SET_EDGE_PROFILE_SWITCHING_BLOCKED (0x45) so they don't
collide with any currently-assigned command ID. PROTOCOL_MINOR bumped
to 23 for the new commands and status flag.
- src/companion.cpp: command handlers for the four new commands, plus a
wolControl status flag (protocol-minor gated) so the companion app can
tell whether the connected firmware supports WOL at all.
- Companion app: new Wake-on-LAN section in Bridge Settings with an
enable toggle, Wi-Fi SSID/password fields, and a target MAC address
field, wired through preload/IPC/bridge-service the same way existing
settings are. Hidden entirely on firmware without ENABLE_WOLWIFI
(i.e. wolControl false).
Both sides were verified against each other end-to-end on real hardware:
controller connects while the target PC is off -> WOL fires, gets
ARP-confirmed, PC wakes, controller stays connected through the boot.
this device to wake the computer*, and, for wired adapters, the matching
241
+
*Wake on Magic Packet* option in **Advanced**) and that fast startup is
242
+
configured in a way that's compatible with your adapter's wake support.
243
+
244
+
### Requirements
245
+
246
+
- Waveshare RP2350B-Plus-W board. Wake-on-LAN firmware builds are gated
247
+
behind this board at compile time (not because other CYW43-equipped
248
+
boards like Pico W/Pico 2 W lack the radio — it's only been built and
249
+
tested on Waveshare so far); other boards simply don't show the
250
+
Wake-on-LAN section in the app.
251
+
- A Wi-Fi network that can reach your PC's network segment.
252
+
- Wake-on-LAN enabled on the target PC's network adapter and in its BIOS/UEFI
253
+
power settings, and the adapter's wake support has to survive a full
254
+
shutdown (not just sleep) for the "wake from off" case.
255
+
196
256
## Troubleshooting
197
257
198
258
- Use the companion app and firmware from the same release when possible.
@@ -233,6 +293,7 @@ steps.
233
293
|`src/companion.cpp`| Vendor HID companion protocol, status reports, command ACKs, and runtime setting dispatch. |
234
294
|`src/usb.cpp`| TinyUSB audio control callbacks and runtime settings fallback. |
235
295
|`src/usb_descriptors.c`| USB device, configuration, HID report, audio, and string descriptors. |
296
+
|`src/wolwifi.cpp`| Wake-on-LAN over Wi-Fi: host-alive gate, Wi-Fi connect, and magic-packet send/resend (Waveshare RP2350B-Plus-W only). |
236
297
|`companion/`| Electron companion app source, protocol parser, HID service, assets, and UI. |
237
298
|`companion/native/AudioHelper/`| Windows audio helper used by the companion app for audio sessions, haptics mirroring, endpoint setup, and media integrations. |
0 commit comments