Comet quirks

Claim. The GL.iNet Comet runs a fork of PiKVM's KVMD and differs from upstream in ways a client has to handle.

Method. Each item is marked "verified live" (seen on our unit, firmware RM1 V1.10.1 release3, kvmd 4.82), "verified in source" (GL.iNet's published GPL-3.0 userspace source) or "reported" (a source says so; not confirmed).

Sample size. One unit.

Result.

BehaviourStatus
Video streamer sleeps a few seconds after the last client leaves; snapshot returns 503 until a WebSocket wakes it (first frame about 1.2 s cold, 0.08 s warm)verified live
A snapshot can be HTTP 200 image/jpeg yet hold an H.264 fragment, so check the JPEG magic bytesreported by a rival project; checked in our client
On-device OCR present but disabledverified live
ATX power plugin not fittedverified live
Login returns a token in the body and a cookie; logins are rate limited (HTTP 429)verified in source
Print endpoint cuts at 1024 characters unless limit=0verified in source
Absolute mouse range is signed 16-bitverified in source
Mass storage stays unlinked until enabled in the web UIreported; on our unit it was enabled and presents a flash drive and a DVD drive to the target
Virtual media API (/api/msd) works as in PiKVM: upload, set params, connect, remove; storage is the unit's own eMMC (6.1 GB free here)verified live, 2026-10-01
drive.image is an object ({"name", "size", "complete", ...}), not a bare name; a client that compares it to a string thinks the attach failedverified live, 2026-10-01
The kept-alive HTTPS connection can be closed by the KVM; http.client then leaves sock = None and the next call crashed until the client reopened itverified live, fixed and tested
The video signal drops completely during POST and mode changes; a snapshot returns 503 for seconds at a timeverified live, 2026-10-01
msd/partition_format formats whatever path it is given, including the unit's own storage, and saves it as the image store by UUID at once; the live view follows only after the unit is rebootedverified live, 2026-10-03; the client now refuses anything but a USB partition and never resends it
A state-changing request sent as GET (partition_format, upgrade/reboot) looks safe to resend by method alone; a resend after a timeout can repeat work the first copy didverified live, 2026-10-03; the client takes an explicit retry=False
With the target dark (held in reset), the unit reports no video signal and the target no longer sees the unit's keyboard, which tells "dark" from "up with no picture"verified live, 2026-10-04

Our client also pins the self-signed certificate before sending any credential and never retries a login in a loop.

Limits.

Raw data. docs/kvm/FIRMWARE-AND-FRAMEWORK.md, docs/kvm/API-REFERENCE.md, docs/evidence-sources/20260929-kvm-competition.md in this repository; source at github.com/gl-inet/glkvm.

Original record: read the Markdown source.