Tue Jun 01, 2021 9:51 pm
Essentially, the panel is useless until "woken up" by DaVinci Resolve. To wake up the panel, Resolve does a token-based authentication handshake with the panel, specifically:
- Resolve send the panel a "wake up" message.
- Speed Editor sends Resolve an encrypted message
- Resolve receives that encrypted message and sends back an appropriate response
- Speed Editor receives that encrypted replied and sends back another appropriate response
- Resolve receives that encrypted message and sends back an appropriate response
- Speed Editor receives that encrypted message, and if everything checks out, sends back an OK command
- If Resolve is also happy, it'll send back an OK command
The panel needs re-authenticating every 5-10 minutes (it seems consistently 5mins on Windows, and longer on macOS) and because the panel has a battery, it seems you can disconnect the USB-C and reconnect, and this won't require re-authentication until after the 5-10 minutes has passed.
What this means is, you can open Resolve, then close it, and then use your own code to communicate with the panel for 5-10mins before the panel requires re-authentication, at which point your own code will stop responding to button presses on the panel.
The authentication process is very complex - it seems to use encrypted tokens with a salt - so you can't simply just monitor the HID traffic to determine a pattern, because the data will be different every time.
I've reached out to Blackmagic, and it seems like upper management is pretty keen on keeping this harder only to Resolve, so I don't see this changing anytime soon, and it's fairly unlikely anyone will be able to "crack the code".
The hardware firmware is also encrypted, so the chance of someone coming out with custom firmware is also fairly low.