{% set port_warnings = { "console": (_("kernel console"), _("The kernel writes its messages to this port. Remove console= with this port from the kernel command line (Raspberry Pi: raspi-config, Interface Options, Serial Port).")), "getty": (_("login prompt"), _("A login prompt (serial-getty) runs on this port: it reads from it, and hangs it up when it restarts. Turn it off with systemctl mask and its unit, e.g. serial-getty@ttyS0.service.")), "modemmanager": (_("ModemManager"), _("ModemManager may probe this port with AT commands. A udev rule that sets ID_MM_DEVICE_IGNORE=1 for it keeps it away.")), } %} {% if ports %}
{% for p in ports %} {% endfor %}
{{ _("Device") }}{{ _("Description") }}VID:PID{{ _("Serial no.") }}{{ _("Manufacturer") }}{{ _("In use") }}
{{ p.device|softbreak }}{% if p.hardware is false %} {{ _("no hardware") }}{% endif %} {%- for w in p.warnings or [] if w in port_warnings %} {{ port_warnings[w][0] }}{% endfor %} {%- if p.access is false %} {{ _("no access") }}{% endif %} {%- if p.same_identity %} {{ _("same USB identity") }}{% endif %} {%- if p.ambiguous %} {{ _("by-id not unique") }}{% endif %} {% if p.by_id %}
{{ p.by_id|softbreak }}
{% endif %} {% if p.by_path %}
{{ p.by_path|softbreak }}
{% endif %}
{{ p.description or '—' }} {% if p.vid %}{{ p.vid }}:{{ p.pid }}{% else %}—{% endif %} {{ p.serial_number or '—' }} {{ p.manufacturer or '—' }} {% if p.device in in_use %}{{ _("yes") }}{% else %}{{ _("no") }}{% endif %}
{% else %}

{{ _("No serial ports detected. Plug in a device and click Refresh.") }}

{% endif %} {% if show_all %}

{% elif hidden %}

{{ ngettext('%(num)s port without hardware behind it is hidden (the kernel’s placeholder ttyS device).', '%(num)s ports without hardware behind them are hidden (the kernel’s placeholder ttyS devices).', hidden) }}

{% endif %}