Hey all,
I’ve been working on an RC-car project that uses the Cat Q10 5G MiFi router as its main mobile internet source. It's a solid device in terms of connectivity and hardware — but I’ve run into a brick wall trying to extract telemetry like signal strength and battery level programmatically.
What I’ve tried:
- Captured network requests from the web interface at 192.168.1.1
- Found that the frontend is a Flutter Web app using CanvasKit — so there’s no usable HTML DOM to scrape
- Observed JSON-RPC style commands in DevTools like:
json
{
"jsonrpc": "2.0",
"method": "call",
"params": ["<sysauth>", "file", "exec", {"command": "cricli", "params": ["signal_ext"]}]
}
- Tried reproducing those RPC calls using Python and the
requests
library, but got either timeouts or 404 errors - Tried Selenium to simulate interaction, but the entire interface is drawn on a canvas — no text, no selectable elements
- Tried using fetch() from JavaScript, but CORS blocks any access from external origins (as expected)
So my questions:
- Has anyone successfully reverse-engineered the Cat Q10 firmware or UI API?
- Is there a hidden API or CLI via USB, ADB, Telnet, or AT commands?
- Is it possible to flash custom firmware (like OpenWRT) or gain lower-level access?
I'm mainly just trying to extract basic status info like:
- Signal quality (RSRP, RSRQ, SINR)
- Battery level and charging status
Any leads or insights would be appreciated. I’m happy to share any progress I make or turn this into a public script/tool if I can break through.
Thanks!