Подключение к COM-порту Linux
Обновлено: 21.11.2024
Хотя современные ПК больше не оснащены физическим последовательным портом, многим устройствам по-прежнему требуется последовательная связь RS232 для взаимодействия с ними. С помощью адаптера RS232-to-USB вы можете легко подключить их к компьютеру. После подключения вы можете задаться вопросом: как контролировать последовательный порт в Linux? К счастью, существует несколько инструментов, как для терминала, так и с графическим интерфейсом. В этой статье я познакомлю вас с несколькими популярными программами для мониторинга последовательного порта в Linux.
Фон
Мышь моего первого ПК подключена к последовательному порту. Как и мой модем для подключения к моему интернет-провайдеру по телефонной линии. Но кому на самом деле все еще нужен последовательный порт во времена USB? Обычно те, кто работает с системами на базе микроконтроллеров. Вспомните Arduino, Atmel AVR, Microchip PIC, STM32 и т. д.
Все микроконтроллеры по-прежнему имеют подсистему UART. UART расшифровывается как универсальный асинхронный приемник/передача. UART позволяет этим встроенным устройствам последовательно взаимодействовать друг с другом (RS232/RS485/Modbus), а также с ПК. Для связи с таким устройством с помощью вашего ПК его периферийное устройство UART подключается к последовательному порту вашего ПК с помощью микросхемы переключения уровня RS232. Регулятор уровня RS232 регулирует уровни напряжения линий TX и RX (TTL) периферийного устройства UART в соответствии со спецификацией RS232.
Большинство ПК больше не поставляются с последовательным портом, но, к счастью, вы можете приобрести недорогой адаптер RS232-USB для подключения стандартного разъема RS232 SUB-D9 к USB-порту вашего ПК. Более того, последние разработки микроконтроллеров включают в себя всю электронику для этого на борту. Например с чипом FTDI FT232R. Таким образом, вы можете напрямую подключить плату к компьютеру с помощью стандартного USB-кабеля.
Независимо от того, какой метод вы используете для подключения устройства RS232 к компьютеру, оно отображается как последовательное устройство. В Windows это COM-порт, например COM1. В Linux он отображается как устройство терминал телетайпа (TTY), например /dev/ttyS0 , /dev/ttyUSB0 или /dev/ttyACM0 .
В этом учебном пособии объясняется, как с помощью Linux можно отслеживать данные о передаче данных через последовательный порт и даже взаимодействовать с ними. Обычно я использую это при отладке программного обеспечения микроконтроллера или для отправки команд микропрограмме, работающей на микроконтроллере.
Краткое введение в последовательную связь
Последовательный порт предлагает базовый интерфейс для связи с внешними устройствами. Он называется serial, потому что биты перемещаются по линии связи последовательно, то есть один бит за другим. Биты перемещаются с заданной скоростью, также известной как скорость передачи данных. Типичные настройки скорости передачи: 9600, 19200, 38400, 57600 и 115200 бит в секунду. Последовательная связь состоит из двух проводов, один для передачи (TX) и один для приема (RX) данных. Каждый провод имеет высокий логический уровень в состоянии простоя.
Для передачи полного байта передающая сторона сначала отправляет младший логический бит (стартовый бит), затем восемь битов данных и, наконец, еще один младший логический бит (стоповый бит). Это означает, что передача байтов на самом деле состоит из десяти битов. Эти стартовые и стоповые биты позволяют принимающей стороне синхронизироваться с потоком данных. Из-за отдельных проводов TX и RX данные могут передаваться в обоих направлениях одновременно, что также называется полнодуплексной связью.
Что вам нужно
Для этой статьи вам понадобятся две вещи:
- ПК с Linux, в идеале с установленной средой рабочего стола.
- Устройство, которое обменивается данными через RS232.
На самом деле ПК с Linux может быть чем угодно. Ваш ежедневный драйвер, Raspberry PI или виртуальная машина. Для этой статьи я решил использовать свой основной компьютер, на котором работает openSUSE Tumbleweed. Если у вас еще не установлен Linux, попробуйте настроить Ubuntu как виртуальную машину:
Для устройства, способного обмениваться данными по RS232, я выбрал старую добрую Arduino Uno. Как поклонник Linux, заинтересованный в мониторинге последовательного порта, у вас может даже заваляться один. Если нет, подумайте о том, чтобы получить его. Платы Arduino — это отличная возможность поэкспериментировать и предложить образовательный подход к встраиваемым системам.
Пример программы последовательной связи для Arduino Uno
Для этого урока я создал небольшой скетч для Arduino. Он делает следующее:
- Распечатывает меню выбора на последовательном порту.
- Затем ожидает ввода 1 или 2.
- Мигает встроенный светодиод с интервалом времени в зависимости от вашего выбора в меню.
Код эскиза:
В оставшейся части этой статьи предполагается, что вы загрузили этот скетч в Arduino Uno.Кроме того, предполагается, что вы подключили Arduino к USB-порту на вашем ПК с Linux. Кроме того, вы можете использовать любое другое устройство. Пока он передает ASCII назад и вперед, в целях тестирования. Обратитесь к этой статье для получения дополнительной информации об установке Arduino IDE в Linux, а также о создании и загрузке скетчей на плату Arduino.
Поиск устройства с последовательным портом в Linux
Принимая во внимание, что вы подключили устройство последовательной связи к компьютеру с помощью USB-кабеля, оно отображается как:
Где x обозначает число, зависящее от количества подключенных последовательных устройств.
Чтобы отслеживать последовательный порт, нам сначала нужно определить его имя устройства Linux. Выполните следующую команду, чтобы получить список:
Как вы можете видеть на снимке экрана выше, Arduino Uno отображается в моей системе как устройство /dev/ttyACM0. Это имя устройства, которое нужно указать при попытке контролировать последовательный порт на моем ПК с Linux.
Настройка разрешений для доступа к устройству с последовательным портом
Снимок экрана терминала из предыдущего раздела, на котором перечислены устройства последовательной связи, содержит более важную информацию. А именно, что только пользователь root или члены группы dialout имеют доступ к нему. Другими словами, вы должны добавить своего пользователя в группу dialout. В противном случае вы не сможете получить доступ к последовательному устройству /dev/ttyACM0.
Чтобы добавить своего пользователя в группу dialout , откройте терминал и выполните команду:
После этого запустите команду groups, чтобы убедиться, что ваш пользователь теперь входит в группу dialout . Возможно, вам придется сначала перезагрузить систему Linux, чтобы изменение группы активировалось.
Контролировать последовательный порт в Linux с терминала
Покончив с настройкой системы, мы можем продолжить фактическую часть мониторинга последовательного порта в вашей системе Linux. Мы начнем с того, что сделаем это непосредственно в терминале. Я предпочитаю использовать для этой цели программу screen.
Установка программы экрана
В моей системе openSUSE Tumbleweed программа установки автоматически установила экран. Я ненадолго запустил несколько виртуальных машин других дистрибутивов Linux. Только чтобы понять, что Debian, Ubuntu и Fedora не устанавливают экран по умолчанию. Не беспокойтесь, потому что здесь следуйте командам установки:
- Debian и Ubuntu: экран установки sudo apt
- Fedora: экран установки sudo dnf
- openSUSE: экран установки sudo zypper
Запуск программы экрана
Синтаксис для запуска screen для мониторинга последовательного порта в вашей системе Linux:
Как видно из предыдущего раздела, моя система Linux знает мой Arduino Uno как последовательное устройство с именем /dev/ttyACM0 . Кроме того, скетч, работающий на Arduino Uno, инициализирует последовательный интерфейс для скорости передачи данных (скорость связи) 9600 бит в секунду. Принимая во внимание эти параметры конфигурации, я запускаю экран с помощью этой команды:
После нажатия кнопки сброса на Arduino Uno появляется меню из примера программы. Это доказывает, что система Linux правильно получает данные от последовательного устройства Arduino Uno. Чтобы проверить, можем ли мы отправлять данные обратно в Arduino Uno, мы можем нажать 1 или 2 на клавиатуре. Встроенный светодиод должен начать мигать каждые 100 миллисекунд или 500 миллисекунд соответственно:
Закрытие программы экрана
На мой взгляд, экран отлично подходит для мониторинга последовательного порта в Linux. Единственная сложная и неинтуитивная часть — закрытие программы screen. Вы ожидаете, что CLTR + c поможет в этом или, возможно, ESC. К сожалению нет. Чтобы правильно закрыть экран, выполните следующие два шага:
Контролируйте последовательный порт в Linux с помощью приложения с графическим интерфейсом
Для тех, кому не нравится работать непосредственно в терминале Linux, приложение с графическим интерфейсом пользователя CuteCom предлагает надежную альтернативу.
Установка программы CuteCom
Установщик Linux не установил CuteCom по умолчанию. Ничего страшного, потому что мы можем быстро позаботиться об этом с помощью следующей команды установки:
- Debian и Ubuntu: sudo apt install cutecom
- Fedora: sudo dnf установить cutecom
- openSUSE: sudo zypper установить cutecom
Запуск программы CuteCom
Чтобы запустить CuteCom, найдите его средство запуска в меню приложений рабочего стола. Нажмите кнопку настройки в правом верхнем углу. Окно настроек раскрывается, где вы настраиваете эти параметры:
После этого вы можете нажать кнопку настройки еще раз, чтобы свернуть окно настроек.Когда CuteCom настроен на связь с Arduino Uno, продолжайте, нажав кнопку Открыть в пользовательском интерфейсе. Затем нажмите кнопку сброса на Arduino Uno, чтобы убедиться, что появилось меню из примера программы:
Зная, что прием данных работает, мы продолжаем тестировать передачу данных. Введите 1 или 2 в поле Ввод и нажмите клавишу ВВОД, чтобы отправить его. Затем встроенный светодиод должен начать мигать каждые 100 миллисекунд или 500 миллисекунд соответственно. Чтобы закрыть соединение с устройством последовательной связи, нажмите кнопку Закрыть в пользовательском интерфейсе.
Подведение итогов
Основной вопрос, на который дан ответ в статье, был следующим: как контролировать последовательный порт в Linux? Для этого были выбраны две программы. Тот, который работает непосредственно в терминале (экран), и тот, который поставляется с графическим пользовательским интерфейсом (CuteCom). В конце концов, все сводится к личным предпочтениям, чтобы решить, какой из них вы хотите использовать. Оба выполняют свою работу.
Что мне не понравилось в экране, так это то, что на нем немного сложнее понять, как выйти из программы. Сначала войдите в командный режим, нажав CLTR + a. Затем введите :quit и нажмите ENTER .
CuteCom предлагает удобный интерфейс. Единственное, что меня раздражает в CuteCom, это то, что вы не можете изменить шрифт. Я бы предпочел моноширинный шрифт по умолчанию.
Если вам не понравилась ни одна из этих программ, существуют альтернативы. Взгляните, например, на minicom и putty.
По следующим ссылкам можно найти другие статьи, связанные с последовательным портом и Arduino:
сообщить об этом объявлении
Как системный инженер, я провожу много времени в центрах обработки данных, настраивая серверы и другое компьютерное оборудование. Два предмета, которые я держу в своем наборе инструментов, — преобразователь последовательного интерфейса RS-232 в USB и стандартный последовательный кабель DB-9. Они могут быть незаменимы, когда у вас нет другого способа получить доступ к устройству. Возможно, вам потребуется развернуть новый маршрутизатор, который еще не настроен для вашей сети. Возможно, вам потребуется устранить неполадки с устройством брандмауэра, которое стало недоступным через SSH. В частности, в среде «без света» новые серверы могут иметь карту управления, которую необходимо инициализировать. Последовательное соединение обеспечивает прямой путь к консоли для выполнения этих задач.
В этом примере я буду использовать устройство Netgate. Это брандмауэры, у которых нет мыши, клавиатуры, монитора или других возможностей графического интерфейса. Их обычно называют «безголовыми».
Последовательная связь
Для подключения к устройству через последовательный порт требуется оборудование, поддерживающее протокол RS-232. Обычно это девятиконтактный последовательный порт DB-9, часто обозначаемый как последовательный, коммуникационный или консольный. Большинство старых компьютеров имеют по крайней мере один. Они все еще есть на большинстве серверов, но на большинстве ноутбуков и настольных компьютеров их больше нет.
Найти последовательный порт
Если в вашей системе еще нет последовательного порта, вам потребуется использовать преобразователь, подобный упомянутому выше. Когда вы подключаете преобразователь PL2303 к USB-порту вашего компьютера, ядро Linux регистрирует его как устройство USB TTY.
Существует несколько команд, которые можно использовать для запроса конфигурации последовательного порта в вашей системе. Вот несколько примеров:
В моем случае он определяет преобразователь как преобразователь pl2303 (или последовательный USB-контроллер Prolific Technology).
Подключите последовательный кабель
Подключите последовательный кабель между конвертером и последовательным портом на устройстве.
Войти через Тио
На протяжении многих лет я использовал разные инструменты, такие как Minicom и Screen.Tio — это более новый и простой инструмент, описанный как «простое приложение ввода-вывода терминала TTY». Он доступен в большинстве дистрибутивов Linux, FreeBSD и OpenWRT, а также в виде пакета Snap. Я использовал стандартный пакетный инструмент для установки версии 1.32 на свой сервер Red Hat Enterprise Linux 8.1:
Инициализируйте соединение с помощью команды tio. По моему опыту, Tio не требовалось никакой предварительной настройки; это работало из коробки. Убедитесь, что у вас правильный путь к устройству, как показано выше:
Подробнее о системных администраторах
Для взаимодействия с Tio можно использовать последовательность команд Ctrl+t. Например, Ctrl+t+? отобразит список доступных команд, а Ctrl+t+q закроет Tio и вернет вас в командную строку Linux.
Заключение
В наши дни мы редко думаем или даже используем последовательную связь, но она все равно полезна. Людям, работающим в центрах обработки данных, все еще необходимо с ним ознакомиться.
Центры обработки данных могут быть удаленными, и, оказавшись внутри, вы захотите убедиться, что у вас есть все необходимые инструменты. Помимо хорошего ноутбука с Linux, я, конечно, рекомендую перечисленные выше элементы для управления устройствами с последовательным интерфейсом, когда это необходимо.
Команды Linux для отображения информации об оборудовании
Получите подробную информацию о том, что находится внутри вашего компьютера, из командной строки.
Устранение неполадок с использованием файловой системы proc в Linux
Важные файлы в proc содержат информацию о запущенных процессах, которая поможет при отладке и устранении неполадок.
Алан имеет 20-летний опыт работы в сфере ИТ, в основном в государственном и финансовом секторах. Он начинал как реселлер с добавленной стоимостью, а затем перешел в системную инженерию. Опыт Алана связан с кластерными приложениями высокой доступности. Он написал главы «Пользователи и группы» и «Apache и веб-стек» в книге Oracle Press/McGraw Hill «Системное администрирование Oracle Solaris 11».
14 комментариев
Несмотря на то, что я сейчас на пенсии, меня всегда раздражала невозможность подключить ноутбук к серверу для настройки или анализа, как я делал это двадцать лет назад с помощью консоли.
Слишком поздно для меня, но отличная информация для новых системных администраторов, особенно тех, кто работает исключительно в среде Windows и ПК.
Спасибо за добрый отзыв, я рад, что вам понравилась статья.
В ответ на сообщение «Спасибо, Алан» от В. Андерсона (не проверено)
Отличная статья! Здорово!
Мой вклад: используя Tio, мы должны использовать CTR + T, отбрасывать обе клавиши и после этого нажимать «буквенную команду», ? для справки, h для шестнадцатеричного режима и т. д.
Джимми, я рад, что вам понравилась статья, и надеюсь, что она окажется полезной для всех.
В ответ на сообщение «Спасибо, Алан» от В. Андерсона (не проверено)
Спасибо за эту статью. Я пытался разобраться в двух ситуациях и надеюсь, что вы сможете внести ценный вклад.
1 на Mac вы можете использовать iterm2, который позволяет отправлять текст нажатием клавиши, пароль которой сохранен при настройке. Это поможет вам сэкономить много времени, когда вам нужно заходить на 20-50 терминалов в день, поэтому я поклонник этой функции, однако я также использую свою машину с Windows, но я не смог найти такую возможность на среда Windows. Итак, если вы знаете какой-либо терминал, который может помочь, сообщите мне об этом.
<р>2. Много раз я не мог подключиться к серверам Ubuntu из-за достижения предела VFS, поэтому единственный вариант - перезагрузить компьютер, а когда серверу много лет, перезагружаться страшно, поэтому мне было интересно, есть ли еще способ подключиться к нему и увеличьте лимит, каким-то образом подключившись к нему, чтобы предотвратить перезагрузку. Точно так же, когда я не могу подключиться к серверу по ssh, я хочу иметь возможность как-то удаленно подключиться, когда я не могу использовать ssh удаленно или локально.Благодарим вас за вклад в эти две вещи.
Алан, это довольно интересно.
Просто чтобы убедиться, что "tio" недоступен в репозиториях Red Hat. Я думаю, вы установили его из EPEL. Это правильно?
Я могу подтвердить, что нашел его в EPEL (используя RHEL 8).
В ответ на Просто чтобы убедиться, что "tio" не принадлежит Джону Коллу (не проверено)
Да, как подтвердил Сет. Вам нужно будет включить репозиторий EPEL для Red Hat Enterprise Linux. Однако он доступен в стандартных репозиториях таких дистрибутивов, как Fedora (dnf install tio) и Ubuntu (apt install tio).
В ответ на Просто чтобы убедиться, что "tio" не принадлежит Джону Коллу (не проверено)
Есть ли преимущество у командной строки tio перед чем-то вроде шпатлевки? Я много лет использую putty для обработки любых подключений через telnet, ssh или последовательный порт, но всегда открыт для новых интересных программных приложений
Роб, я думаю, что в значительной степени это зависит от личных предпочтений. Putty предлагает более полный набор функций, в то время как tio очень сфокусирован. Это быстрая установка и размер всего ~ 36 КБ. Но я думаю, что это выбор пользователя.
В ответ на вопрос Есть ли польза от tio от Rob C (не проверено)
2020 год, но я до сих пор не понимаю, как использовать Linux в повседневной жизни
Linux — это операционная система, поэтому вы можете использовать ее так же, как и любой другой компьютер. Впрочем, решать вам, конечно.
В Linux каждая служба, работающая на сервере, прослушивает сокет для клиента, чтобы сделать запрос на подключение. При успешном подключении клиента создается сокет (комбинация IP-адреса и порта (номер, идентифицирующий приложение/службу, к которой подключен клиент)).
Чтобы получить подробную информацию об этих сокетах, мы будем использовать инструмент командной строки ss, который используется для отображения информации, связанной с сетевыми сокетами, на компьютере с Linux. Вы также можете использовать старую команду netstat, которая отображает активные подключения к сокету.
Например, эти инструменты можно использовать для получения статистических данных о сокетах всех клиентов, подключенных к определенному порту или службе.
Кроме того, вы можете запустить следующую команду, чтобы просмотреть числовые номера портов.
Вам также могут быть полезны следующие статьи:
Это все, что у нас есть в этой короткой статье. Для получения дополнительной информации об утилите ss прочтите ее справочную страницу (man ss). Вы можете связаться с нами по любым вопросам через форму комментариев ниже.
Если вам понравилась эта статья, подпишитесь на уведомления по электронной почте о руководствах по Linux. Если у вас есть вопросы или сомнения? обратитесь за помощью в разделе комментариев.
Если вы цените то, что мы делаем здесь, в TecMint, вам следует подумать о следующем:
TecMint – это самый быстрорастущий и пользующийся наибольшим доверием сайт сообщества, где можно найти любые статьи, руководства и книги по Linux в Интернете. Миллионы людей посещают TecMint! для поиска или просмотра тысяч опубликованных статей, доступных всем БЕСПЛАТНО.
Если вам нравится то, что вы читаете, купите нам кофе (или 2) в знак признательности.
Мы благодарны за вашу бесконечную поддержку.
Похожие сообщения
Здравствуйте, добрый день!
Пожалуйста, предложите мне подходящее решение, чтобы предотвратить подобную ситуацию.
Вам необходимо проверить журналы сервера Nginx, чтобы узнать, какой IP-адрес запрашивает несколько запросов, а затем заблокировать этот IP-адрес.
Спасибо за ваш отзыв, есть ли другое альтернативное/возможное решение. Пожалуйста, предложите мне.
Могу ли я узнать, как настроить оповещение по почте, когда сервер получает дополнительные/массовые запросы?
Можно ли проверить определенный IP-адрес, подключен он или нет?
Например, в приведенном выше примере говорится, что вы можете проверить подключения к определенному порту. В этом сценарии вместо порта мы проверяем IP.
Есть что сказать? Присоединяйтесь к обсуждению. Отменить ответ
Этот сайт использует Akismet для уменьшения количества спама. Узнайте, как обрабатываются данные ваших комментариев.
Компьютер Arch Linux можно настроить для подключения через последовательный консольный порт, что позволяет администрировать компьютер, даже если к нему не подключены клавиатура, мышь, монитор или сеть.
Установка Arch Linux также возможна через последовательную консоль.
Базовая среда для этого сценария — две машины, подключенные с помощью последовательного кабеля (кабель с 9-контактным разъемом). Административным компьютером может быть любой компьютер Unix/Linux или Windows с программой эмулятора терминала (например, PuTTY или Minicom).
Приведенные ниже инструкции по настройке позволят выбрать меню загрузчика, загрузочные сообщения и переадресацию терминала на последовательную консоль.
Содержание
Настроить доступ к консоли на целевой машине
Загрузчик
При использовании GRUB со сгенерированным grub.cfg отредактируйте /etc/default/grub и включите поддержку последовательного ввода и вывода:
Затем добавьте переменную GRUB_SERIAL_COMMAND и задайте параметры для последовательного соединения. Для COM1 ( /dev/ttyS0 ) со скоростью передачи 115200 бит/с:
Прочитайте руководство GRUB по использованию GRUB через последовательную линию и команду serial для подробного объяснения доступных параметров.
Наследие GRUB
Отредактируйте файл конфигурации GRUB Legacy /boot/grub/menu.lst и добавьте следующие строки в общую область конфигурации:
Примечание. Когда в ваш menu.lst будет добавлена строка terminal --timeout=5 для последовательной консоли, ваша последовательность загрузки теперь будет отображать серию сообщений «Нажмите любую клавишу для продолжения». Если никакая клавиша не нажата, меню загрузки появится на том устройстве (последовательном или консольном), которое появится первым в строке конфигурации терминала.
REFInd
rEFInd поддерживает последовательную консоль только в текстовом режиме. Отредактируйте файл refind.conf и раскомментируйте textonly .
Сислинукс
Чтобы включить последовательную консоль в Syslinux, отредактируйте syslinux.cfg и добавьте SERIAL в качестве первой директивы в файле конфигурации.
Для COM1 ( /dev/ttyS0 ) со скоростью передачи 115200 бит/с:
Ядро
Вывод ядра можно отправить на последовательную консоль, установив параметр console=kernel. Последний указанный console= будет установлен как /dev/console .
гетти
При загрузке systemd-getty-generator(8) запускает экземпляр getty для каждой консоли, указанной в командной строке ядра.
Если вы не настроили console= в командной строке ядра, запустите serial-getty@device.service . Для /dev/ttyS0 (COM1) это будет serial-getty@ttyS0.service . Включите службу, чтобы она запускалась при загрузке.
Если в командной строке ядра не указано иное, getty будет ожидать скорость передачи данных 38 400 бит/с, 8 бит данных, отсутствие четности и один стоповый бит.
Установление связей
Подключиться с помощью программы-эмулятора терминала
Выполните эти действия на компьютере, используемом для подключения удаленной консоли.
Командная строка
дтерм
dterm AUR — это крошечная программа последовательной связи. Если вы вызовете его без параметров, он по умолчанию подключится к /dev/ttyS0 на скорости 9600 бод. Следующий пример подключается к /dev/ttyS0 на скорости 115200 бод, с 8 битами данных, без бита четности и 1 стоповым битом:
Дополнительные примеры см. на главной странице[2].
Миником
minicom можно получить из официальных репозиториев. Запустите Minicom в режиме настройки:
Используя текстовое меню навигации, измените настройки последовательного порта на следующие:
Нажмите Enter, чтобы выйти из меню (нажатие Esc не сохранит изменения). Удалите строки модема Init и Reset, так как мы не подключаемся к модему. Для этого в меню Modem and Dialing удалите строки Init и Reset. При желании сохраните конфигурацию, выбрав сохранить настройку как dfl в главном меню. Перезапустите minicom, подключив последовательный кабель к целевой машине. Чтобы завершить сеанс, нажмите Ctrl+A, а затем Ctrl+X .
пикоком
picocom – это крошечная программа-эмулятор терминала, очень похожая на minicom, но вместо mini используется pico. Следующий пример подключается к ttyS0 на скорости 9600 бит/с:
Подробное описание использования см. в руководстве.
Экран
GNU Screen может подключаться к последовательному порту. По умолчанию он будет подключаться на скорости 9600 бод:
В командной строке можно указать другую скорость передачи данных (например, 115 200).
Чтобы завершить сеанс, нажмите Ctrl+a, а затем K . Либо нажмите Ctrl+a , введите :quit и подтвердите ввод, нажав Enter .
Серийный клиент
Serialclient[3] — клиент CLI для последовательного соединения, написанный на ruby. Установите пакет ruby, затем установите его следующим образом:
Затем вы можете использовать следующее:
И для Windows
На компьютерах с Windows подключитесь к последовательному порту с помощью таких программ, как PuTTY[4] или Terminalbpp[5].
Графические интерфейсы
cutecom AUR — еще один последовательный монитор с графическим интерфейсом.
putty также доступна для Linux.
moserial — это последовательный терминал на базе gtk, предназначенный в первую очередь для технических пользователей и аппаратных хакеров, которым необходимо обмениваться данными со встроенными системами, тестовым оборудованием и последовательными консолями.
Установка Arch Linux с помощью последовательной консоли
Примечание: загрузчик ежемесячного выпуска Arch Linux (т.е. установочный носитель) был настроен[6] на прослушивание порта 0 (ttyS0/COM1) на скорости 115200 бит/с, с 8 битами данных, без бита четности и 1 остановить битовое время.
- Подключитесь к целевой машине, используя метод, описанный выше.
- Загрузите целевую машину, используя установочный носитель Arch Linux.
- Когда появится загрузчик, выберите Boot Arch Linux () и нажмите Tab для редактирования.
- Добавьте console=ttyS0,115200 и нажмите Enter .
- Теперь systemd должен обнаружить ttyS0 и создать на нем серийный номер getty. Войдите в систему как пользователь root и начните установку как обычно.
- После завершения настройки настройки консоли не будут сохранены на целевой машине; чтобы не подключать клавиатуру и монитор, перед перезагрузкой настройте доступ к консоли на целевой машине.
- Хотя в большинстве примеров в этом документе используется скорость порта 9600, рекомендуется работать с более высокими значениями (список доступных скоростей отображается в Minicom при нажатии Ctrl+a, а затем p )
Отладка не отвечающей машины с помощью последовательной консоли
Несмотря на то, что [7] содержит только сырые и краткие инструкции, в нем представлена полная сцена. Важно отметить, что здесь тестируемая машина перестала отвечать воспроизводимым образом. И чтобы это произошло при штатной эксплуатации. Таким образом, к нему можно было получить доступ в обычном режиме, прежде чем он нуждался в отладке. Однако в целом последовательная консоль также полезна для отладки проблем с загрузкой. Возможно, настроив загрузчик вручную во время запуска машины. Также обратите внимание на упомянутую сетевую консоль в абзаце P.S внешней ссылки из этого раздела.
Устранение неполадок
Ctrl+c и Minicom
Если у вас возникли проблемы с отправкой команды Ctrl+c через minicom, вам необходимо отключить аппаратное управление потоком данных в настройках устройства ( minicom -s ), что затем включает прерывание.
Изменение размера терминала
В отличие от ssh, последовательные соединения не имеют механизма для передачи чего-то вроде SIGWINCH при изменении размера терминала. Это может вызвать странные проблемы с некоторыми полноэкранными программами (например, less ) при изменении размера окна эмулятора терминала.
Изменение размера терминала с помощью stty – обходной путь:
Однако для этого необходимо вручную ввести правильную геометрию. Следующие методы должны быть проще.
<р>1. Существует менее известная утилита под названием resize, поставляемая с xterm, которая может решить эту проблему. Вызовите его без параметров после изменения размера окна эмулятора терминала: <р>2. Если вы не хотите устанавливать xterm, ту же работу можно выполнить с помощью функции оболочки. Поместите следующую функцию в ваш zshrc и вызовите ее без параметров после изменения размера окна эмулятора терминала:Отсутствуют порты на многопортовых платах расширения
Эту статью или раздел необходимо расширить.
Причина: Можно ли установить параметр модуля ядра в modprobe.d(5)? (Обсудить в Talk:Работа с последовательной консолью)
Количество последовательных портов, использующих общий драйвер 8250 в конфигурации ядра по умолчанию, установлено равным 4 во время выполнения с максимальным значением 32.Это предотвратит создание /dev/ttyS4 и выше. С учетом типичного встроенного последовательного порта на материнской плате это предотвращает использование 4-го последовательного порта на плате расширения с 4 портами.
Читайте также: