2.6 KiB
2.6 KiB
Safe Test Frames / Regeln
Noch kein finales Protokoll. Deshalb erstmal Regeln statt Heldentum.
Do
- nur einzelne kurze Testframes
- jede Probe mit Device, Hex, sichtbarer Wirkung notieren
- zuerst
hidraw2, dann ersthidraw1 - erst Preset/Enable/Disable, dann Farbe
Don't
- kein blindes Fuzzing
- keine Schleifen mit hunderten Writes
- keine zufälligen Feature-Reports in alle Interfaces ballern
Aktuell plausible Klassen von Testframes
Klasse 1: OEM-Level Path-Proben
Nicht direkt HID-Bytes, sondern kleinste semantische CompatLayerCT-Routen:
/programhandle/connect/programhandle/isOpen
Klasse 2: globale Enable-/Disable-Proben
Passend zu bestätigten Routen:
/programhandle/rgb/setOpen2/false/0/programhandle/rgb/setOpen2/true/0
Klasse 3: kleine Preset-/Mode-Proben
Passend zu:
/programhandle/rgb/setPreset/0/programhandle/rgb/assignSetOpen/0/true
Klasse 4: erst ganz zuletzt dunkle Color-Proben
Passend zu:
/programhandle/rgb/setColor/16/16/16- später erst
assignSetColor
Importierte Legacy-HID-Familie aus onexplayer-superxcontrol
Die alte public tree behauptet für den Super X eine konservative Paketfamilie auf
1a86:1305 Interface 02 / typischerweise hidraw2.
Konkret importiert in tools/superx_hidraw_rgb.py:
- Mode
enable:07 ff 05 00 - Level
off:07 ff fd 00 05 01 - Level
1:07 ff fd 01 05 01 - Level
2:07 ff fd 01 05 03 - Level
3:07 ff fd 01 05 04 - Mode
static:07 ff fd 00 05 04 - Mode
rainbow:07 ff fd 01 05 04 - Preset safe range:
0x00..0x16 - Static color family:
07 ff fe RR GG BB ...
Wichtig:
- Das sind jetzt Referenzframes, keine Wahrheitsgarantie.
- Sie sind wertvoll, weil sie aus älteren Super-X-Artefakten kommen und nicht komplett geraten sind.
- Trotzdem zuerst dry-run und Beobachtungsprotokoll, weil unklar bleibt, ob dein aktueller WS2812B-Ersatzpfad exakt gleich reagiert.
Praktische Dry-Run-Beispiele
python tools/superx_hidraw_rgb.py legacy-catalogpython tools/superx_hidraw_rgb.py legacy-packet mode enable --dry-runpython tools/superx_hidraw_rgb.py legacy-packet level 3 --dry-runpython tools/superx_hidraw_rgb.py legacy-packet preset 0x03 --dry-runpython tools/superx_hidraw_rgb.py legacy-packet static probe 16 8 4 --dry-run
Aktueller Arbeitsgrundsatz
CompatLayerCT ist jetzt klar genug, dass wir die OEM-Semantik zuerst festhalten. Dann machen wir lieber 3 gute Proben als 300 dumme.
Praktisch heißt das:
- erst OEM-Route-Level katalogisieren
- dann Linux-Bridge-/Backend-Gerüst vorbereiten
- dann erst minimale HID-Writes gegen
hidraw2und ggf.hidraw1