Offenes Protokoll
Überblick über das offene Protokoll
SuperKVM USB KVM Open Protocol Das offene USB KVM Protokoll besteht aus zwei Teilen Der erste Teil beschreibt den generischen Tastatur und Mausdatenverkehr. Für einfache Weiterverwendung durch Drittanbieter folgen wir dem CH9329 Framing, sodass bestehende Open Source Steuerlogik häufig schnell an unsere KVM Produkte angepasst werden kann Der zweite Teil ist das KVM Erweiterungsprotokoll für alles jenseits von Tastatur und Maus (OTA, USB Disk Umschaltung, Geräteinformationen, diverse Schalter) UART Baudrate Auf der SuperKVM USB KVM Host Seite liegt ein virtuelles USB CDC Seriengerät vor, daher werden Baudraten von 9600 bis 6 M unterstützt. Empfohlen sind 2 M Baud oder die höchstmögliche Rate Ihrer Toolchain CH9329 Frame Felddefinition Offset Feld Länge Beschreibung 0 HEAD1 1 Fest 0x57 1 HEAD2 1 Fest 0xAB 2 ADDR 1 Geräteadresse, Standard 0x00 3 CMD 1 Kommandobyte (siehe ausführliches PDF) 4 LEN 1 Anzahl folgender DATA Bytes 5 DATA LEN Nutzlastsemantik gemäß ausführlichem PDF 5+LEN SUM 1 Prüfsumme: Byte Summe von HEAD1 bis zum letzten DATA Byte, dann & 0xFF Derzeit sind nur drei Kommandos implementiert: Tastatur (CMD= 0x02 ) Absolute Maus (CMD= 0x04 ) Relative Maus (CMD= 0x05 ) Der MCU verarbeitet diese drei Steuerframes sendet aber keine Antworten aus Effizienzgründen auf der UART. Wenden Sie sich an den Support, wenn Sie Quittungen benötigen CH9329 Dokumentation: offizielles PDF SuperKVM Erweiterungen Aus Konsistenzgründen nutzen Erweiterungen dasselbe CH9329 ähnliche Header Layout, definieren die nachfolgenden Felder jedoch neu Felddefinition Leitungsreihenfolge ( HEAD erscheint als Bytes 57 AB , also Big Endian Notation 0x57AB ; spätere numerische Felder sind überwiegend Little Endian ): Offset Feld Länge Endianness Hinweise 0 head 2 Literale 0x57 , 0xAB Als uint16 Little Endian gelesen erscheint 0xAB57 , logisch bleibt es ein Erweiterungsframe 2 channel 1 — Entspricht dem ADDR Feld von CH9329 3 sn 4 LE Sequenznummer 7 total len 4 LE TLV Länge : type(2)+len(4)+Nutzlast , also 6 + Nutzlastbytes ( create protocol packet ) 11 type 2 LE Unterbefehl 13 len 4 LE Nutzlastlänge ( total len = 6 + len ) 17 payload len — Anwendungsdaten 17+len CRC 4 LE Siehe CRC Algorithmus unten Das dritte Byte enthält die Kanal ID : 0 bedeutet CH9329 kompatibel, jeder andere Wert die Erweiterungen CRC Algorithmus JavaScript ähnlicher Pseudocode C Implementierung channel Werte ( CH ID ) Wert (hex) Makro Bedeutung Typische Nutzung 00 CH ID CH9329 CH9329 Pfad Tastatur /Maus Kompatibilität 01 CH ID DEVICE Geräteinformation & Steuerung Versionsauslesen, USB Disk Umschaltung usw. 02 CH ID OTA OTA Bootloader und App Updates 03 CH ID EXT PERIPHERAL Peripherieerweiterung Hardwaresteuerung externer Module 04 CH ID SHELL Shell Durchleitung Bidirektionaler Shell Verkehr 05 CH ID LOG Protokolle KVM Laufzeitlogs zur Web Oberfläche Subprotokolle pro Kanal Dokumentation folgt. Bei dringendem Bedarf den Support kontaktieren
Canonical: https://wiki.superkvm.com/de-DE/open/protocol · Marketing: https://www.superkvm.com · GitHub: https://github.com/superkvm