You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@guacamole.apache.org by "Ciro Iriarte (Jira)" <ji...@apache.org> on 2026/07/14 14:59:00 UTC

[jira] [Created] (GUACAMOLE-2301) Add serial console protocol support

Ciro Iriarte created GUACAMOLE-2301:
---------------------------------------

             Summary: Add serial console protocol support
                 Key: GUACAMOLE-2301
                 URL: https://issues.apache.org/jira/browse/GUACAMOLE-2301
             Project: Guacamole
          Issue Type: New Feature
          Components: guacamole-manual, guacd, guacamole-client
            Reporter: Ciro Iriarte


Guacamole offers terminal protocols (SSH, Telnet) and, recently, IPMI Serial-over-LAN (GUACAMOLE-2300), but has no way to reach a plain *serial console* — the RS-232 console port of network switches, routers, firewalls, PDUs, and headless servers — which remains the primary out-of-band administration and disaster-recovery interface for that equipment.

This proposes a new "serial" protocol module for guacd, with a matching connection form in guacamole-client and a chapter in guacamole-manual, mirroring the existing terminal protocols and reusing the shared terminal emulator (color schemes, fonts, scrollback, session recording, typescript, copy/paste).

h3. Scope

Two connection modes, selected by an explicit parameter:

* *Local* — a serial device attached to the guacd host (e.g. /dev/ttyUSB0, /dev/serial/by-id/...), configured via termios: baud rate, data bits, parity, stop bits, and hardware/software flow control, with an optional server-side device allowlist.
* *Network* — a serial port exposed over IP by ser2net (https://github.com/cminyard/ser2net), either as raw TCP or via RFC2217 (Telnet COM-PORT-OPTION), the latter enabling negotiation of serial line settings and break signalling over the wire.

h3. Notable features

* Configurable *send-break* (break-duration) for password-recovery / ROMMON / U-Boot workflows, triggerable from the browser and via a client-agnostic control pipe.
* *Paste pacing* (paste-delay) to avoid FIFO overrun when pasting configuration blocks at low baud without flow control.
* Session recording / typescript for audit, read-only mode, and clipboard controls, inherited from the shared terminal.

h3. Implementation status

A working implementation exists across guacamole-server, guacamole-client, and guacamole-manual, building cleanly against apache/main; coordinated PRs to follow. USB/IP was evaluated and deliberately not integrated, as ser2net is the appropriate mechanism for remote serial access.




--
This message was sent by Atlassian Jira
(v8.20.10#820010)