A fost lansată o nouă versiune a firmware-ului open-source ESP-KVM 0.83.0, care transformă placa cu microcontroler ESP32-P4 într-un IP-KVM, oferind acces la ecranul, tastatura și mouse-ul unui computer de la distanță prin intermediul browserului. Dispozitivul se conectează înainte de HDMI-ul mașinii țintă și se prezintă ca o tastatură și un mouse USB pentru aceasta, redirecționând imaginea și controlul în browser. Nu este necesară instalarea nimic pe mașina țintă, funcționează începând de la nivelul BIOS. Codul este scris în limbajul C și este distribuit sub licența Apache 2.0.
În noua versiune a fost adăugat firmware pentru dispozitivul JetKVM Mini cu un design gata de utilizare. KVM, având dimensiunea de 42x42x23 mm. JetKVM Mini este echipat cu placa ESP32-P4X, 32 MB PSRAM, un pod HDMI TC358743, Ethernet de 100 megabiți, un slot microSD și un ecran pătrat de 240×240 pe ST7789. După reîncărcare, toate funcțiile verificate, cum ar fi streaming-ul la calitate 1080p50, Ethernet, actualizări prin rețea, tastatură, mouse, ecran și butoane laterale, funcționează.
Firmware-ul implicit al JetKVM acceptă doar actualizări semnate, iar pentru a efectua o reîncărcare în setările acestuia trebuie activat modul «USB Debugging», altfel portul pentru reîncărcare se deconectează după câteva secunde de la pornire, iar JetKVM Mini se conectează la un computer prin conectorul EXT. Înainte de înregistrare, este indicat să se facă o copie de rezervă a Flash-ului - pe pagina programului de reîncărcare există un buton pentru asta, care citește tot 16 MB direct din browser prin esptool-js. Firmware-ul de fabrica poate fi restabilit din copia creată sau dintr-o imagine de recuperare, pe care JetKVM o publică pentru fiecare model. Ulterior, actualizările se descarcă prin rețea, iar versiunea veche rămâne în a doua jumătate a Flash-ului, în caz de revenire.
Pe JetKVM Mini, din păcate, nu este disponibil sunetul prin HDMI (TC358743 poate transmite sunet prin I2S pe trei ieșiri, dar pe această placă acestea nu sunt conectate). Pentru a ocoli această limitare, firmware-ul prezintă dispozitivul ca o boxă USB pentru mașina țintă. După activare, mașina țintă recunoaște dispozitivul «ESP-KVM Speaker» - acesta este UAC2, 48 kHz, 16 biți, stereo, cu un endpoint izocronic OUT. Frecvența este legată de cadrele SOF, astfel încât endpoint-ul de feedback nu este necesar. Interuptorul contabilizează biții primiți și activează o sarcină la fiecare 5 ms, care segmentează fluxul în aceleași blocuri, care vin de la I2S.

În versiunea ESP-KVM 0.83.0 a fost introdusă opțiunea de a alege ce pagini afișează ecranul pe dispozitiv (dacă se elimină tot, rămâne doar logo-ul). A fost adăugată opțiunea de a dezactiva ecranul după un timp specificat. Programul pentru mașina țintă espkvm-agent a fost redenumit în ESP-KVM Tools, pentru a nu fi confundat cu agenții AI. Printre modificările din versiunile ulterioare versiunii 0.65:
- 0.66: Imaginea H.264 este transmisă în browser prin WebRTC (UDP, DTLS-SRTP), dacă este posibil, și prin WebSocket, dacă nu. Implementarea este proprie, fără servere STUN și TURN, funcționează și prin Tailscale. Dacă un pachet este pierdut, dispare un cadru, fluxul nu se oprește.
- 0.67-0.68: Sunetul prin HDMI pe plăcile cu TC358743: trei fire I2S de la punte la pini P4. Se aude în consolă și este înregistrat în Opus. Au fost adăugate butoane multimedia, zoom cu două degete pe telefon, un stick virtual pentru cursor și gamepad-ul computerului ca mouse.
- 0.69-0.70: PSRAM pe cipurile versiune 3.x funcționează la 250 MHz, iar H.264 în 1080p a crescut de la 22 la 27 cadre pe secundă. În mod implicit, dispozitivul cere de la sursă 1080p50 în loc de 1080p30. Encoderul începe un cadru, în timp ce acesta încă sosește, iar mișcările mouse-ului se desfășoară prin canalul de date WebRTC fără retransmisii.
- 0.71-0.73: Profiluri pentru diverse mașini țintă. Dispozitivul își alege singur profilul bazat pe denumirea pe care sursa o folosește prin HDMI-CEC sau USB, astfel încât Switch și Steam Deck în dock primesc setările lor. Se poate desena pe imagine până la opt dreptunghiuri, iar dispozitivul va urmări automat: s-a schimbat, a rămas static, a apărut text.
- 0.74: Port serial prin același cablu USB, fără fir. Prin acesta funcționează programul pentru mașina țintă: numele și adresele mașinii, clipboard comun și oprire curată.
- 0.75: Actualizare de probă pentru dispozitive, care necesită călătorie lungă. După actualizare, consola trebuie din nou să ajungă la dispozitiv pentru a confirma versiunea. Dacă în decurs de 10 minute nu se întâmplă acest lucru, dispozitivul se întoarce automat la versiunea anterioară.
- 0.76-0.77: Intrare doar pentru vizualizare și taste rapide în consolă. Tailscale fără cheie de autorizare: dispozitivul arată un link, iar acesta este confirmat pe pagina Tailscale. Lista nodurilor tailnet cu rute (direct sau printr-un releu) și modul în care consola răspunde doar la adresele tailnet.
- 0.78-0.79: Setările și paleta de comenzi refăcute prin Ctrl+K: se găsește panoul, combinația de taste, macro-ul sau scriptul dorit după câteva litere.
- 0.80: Driverul de ecran ST7789 și până la patru butoane pe dispozitiv, fiecare având acțiuni specifice.
- 0.81-0.82: Înregistrările și capturile de ecran sunt descărcate în directorul WebDAV, precum Nextcloud sau pe NAS. Tabelul din setări determină ce eveniment merge în ce canal de notificări. Un nou canal este ntfy, iar dispozitivul semnalează ieșirea unei versiuni noi. Acum pot fi stabilite trei rețele Wi-Fi (se alege rețeaua cu cel mai bun nivel de semnal).
Sursa: opennet.ro
