פרוטוקול פתוח
סקירת פרוטוקול פתוח
פרוטוקול פתוח USB KVM של SuperKVM פרוטוקול ה USB KVM הפתוח מורכב משני חלקים החלק הראשון עוסק בתעבורת מקלדת ועכבר גנרית. כדי להקל על מפתחים חיצוניים אנו עוקבים אחר מסגרת CH9329 , כך שניתן לעיתים קרובות להסב במהירות קוד קיים מקוד פתוח למוצרי KVM שלנו החלק השני הוא פרוטוקול ההרחבה של KVM: כל מה שלא נכלל במקלדת ובעכבר (OTA, החלפת דיסק USB, קריאת מידע מהמכשיר והגדרות נוספות) קצב סידור UART בצד המארח של USB KVM ל SuperKVM מדובר ב יציאת טוריים וירטואלית מסוג CDC על גבי USB , ולכן נתמכים קצבים בין 9600 ל 6M baud . מומלץ 2M baud או הקצב המקסימלי שהכלי שלכם מאפשר מסגרת CH9329 הגדרת שדות Offset שדה אורך הערות 0 HEAD1 1 קבוע 0x57 1 HEAD2 1 קבוע 0xAB 2 ADDR 1 כתובת מכשיר, ברירת מחדל 0x00 3 CMD 1 בת פקודה (ראה PDF מפורט) 4 LEN 1 מספר בתי DATA הבאים 5 DATA LEN משמעות המטען לפי PDF המלא 5+LEN SUM 1 סכום בתים מ HEAD1 עד בת DATA האחרון, ואז & 0xFF כרגע ממומשות רק שלוש פקודות: מקלדת (CMD= 0x02 ) עכבר מוחלט (CMD= 0x04 ) עכבר יחסי (CMD= 0x05 ) ה MCU מטפל בשלוש ההודעות האלה אך אינו שולח תגובות מטעמי יעילות UART. פנו לתמיכה אם נדרשות אישורים חוזרים תיעוד CH9329: PDF רשמי הרחבות SuperKVM לשם עקביות נשמר כותרת בסגנון CH9329 בעוד השדות הבאים מוגדרים מחדש הגדרת שדות סדר על הקו ( HEAD מופיע כבתים 57 AB , כלומר במונחי big endian 0x57AB ; השדות המספריים הבאים הם בעיקר little endian ): Offset שדה אורך סדר בתים הערות 0 head 2 ליטרלים 0x57 , 0xAB כשמפרשים כ uint16 במיפוי LE מוצג 0xAB57 , אך לוגית זו מסגרת הרחבה 2 channel 1 — מתאים לשדה ADDR ב CH9329 3 sn 4 LE מספר רצף 7 total len 4 LE אורך TLV : type(2)+len(4)+payload , כלומר 6 + בתי המטען ( create protocol packet ) 11 type 2 LE תת פקודה 13 len 4 LE אורך המטען ( total len = 6 + len ) 17 payload len — נתוני יישום 17+len CRC 4 LE ראה אלגוריתם CRC למטה הבית השלישי נושא את מזהה הערוץ : 0 עבור תואם CH9329, כל ערך אחר עבור ההרחבות אלגוריתם CRC פסאודו קוד בסגנון JavaScript מימוש C ערכי channel ( CH ID ) ערך (hex) מאקרו משמעות שימוש אופייני 00 CH ID CH9329 ערוץ CH9329 תאימות מקלדת/עכבר 01 CH ID DEVICE מידע ובקרה גרסה, החלפת דיסק USB וכו׳ 02 CH ID OTA OTA עדכוני bootloader ואפליקציה 03 CH ID EXT PERIPHERAL הרחבת ציוד בקרת חומרה למודולים חיצוניים 04 CH ID SHELL מעבר Shell Shell דו כיווני כשהמכשיר תומך 05 CH ID LOG יומנים שידור יומני KVM לממשק האינטרנט תת פרוטוקולים לערוץ התיעוד בעבודה. לפרטים דחופים פנו לתמיכה
Canonical: https://wiki.superkvm.com/he-IL/open/protocol · Marketing: https://www.superkvm.com · GitHub: https://github.com/superkvm