Telnet remains enabled by default. Serial/modem transport is available
and is disabled until [serial].enabled = true.
When enabled, each [[serial.devices]] entry opens a physical TTY with the
configured baud rate, parity, stop bits, flow control, init strings, and optional
answer string. The caller session then uses the same login, menu, door, message,
and file-area flow as telnet callers, but without telnet negotiation or IAC
escaping.
Example:
[serial]
enabled = true
[[serial.devices]]
name = "modem"
path = "/dev/ttyUSB0"
baud_rate = 115200
data_bits = 8
parity = "none"
stop_bits = 1
flow_control = "rtscts"
init_strings = ["ATZ"]
answer_string = "ATA"
require_carrier_detect = false
drop_dtr_on_hangup = true
read_timeout_ms = 100Validation requires at least one device when serial is enabled. Device names and
paths must be nonblank and unique, data_bits must be 5, 6, 7, or 8,
parity must be none, odd, or even, stop_bits must be 1 or 2,
flow_control must be none, rtscts, or xonxoff, and
read_timeout_ms must be greater than zero.
require_carrier_detect = true makes startup fail if the adapter or platform
cannot report carrier state. drop_dtr_on_hangup = true drops DTR during
hangup when the platform supports it.
Keep serial disabled on systems that do not have stable device paths or modem line-state support. Hardware smoke testing should verify login, menu input, file transfer, and logoff through the exact TTY device the sysop plans to use.