Troubleshooting
Every message is a frame (one packet on the serial link). Most commands are fire-and-forget, with no reply. QUERY asks for box state and gets one RESP frame.
No reply to QUERY(VERSION) Wrong baud, a held port, or not a Medius box
If QUERY(VERSION) (firmware and protocol version) gets no RESP(VERSION), check:
- Port not opened at
6,000,000baud. The box speaks framed binary from the first byte, with no slower startup speed. - Another process holds the port. Only one process can open it.
- Not a Medius box, or the wrong port.
The hello is an unsolicited RESP(VERSION) at boot and on the first frame received. Missing it costs nothing: send QUERY(VERSION).
Injection does nothing Check HEALTH first
Injection is input added on top of native input (motion, buttons, scroll). If it has no effect, send QUERY(HEALTH) and read the flags word (u16, little-endian).
The box merges injection only once LINK_UP, MOUSE_ATTACHED (a mouse on USB3), and CLONE_CONFIGURED (the PC enumerated the clone) are all set.
Held button releases Silence auto-clear
| Event | Effect |
|---|---|
Silence timeout (default 1000 ms with no valid inbound frame) | Drops every held button and pending move, and returns to passthrough. |
Any frame passing its checksum (including a QUERY) | Resets the timer. |
To hold an injected button, keep the link busy with periodic frames (a QUERY(HEALTH) is enough), or use the library's keepalive.
Machine shuts off or drains battery USB1 and USB3 on the same machine
USB1 and USB3 share one internal 5V rail that firmware can't pull low. Wired to one machine, they back-feed power into it. Keep them apart:
No reply after REBOOT Chip in ROM download mode
A download REBOOT puts a chip in ROM download mode and stops its firmware. With target 0, the CH343 port stays, but the device chip's ROM loader replies on it instead of Medius. With 1, the host chip stops reading the real device. Flash the chip, or power-cycle the box to run the firmware again.
No LOG frames Sent only with a control PC attached
LOG is the box's unsolicited diagnostic frame (box to PC). If none arrive, check:
- No control PC attached.
LOGis sent only while one is. - Logged before first contact. That output is dropped, not buffered.
- Early ROM-bootloader output, plain ASCII the frame decoder ignores.