Главная страница

ргр. Конспект лекций ПЕРЕСДАТЬ. Конспект лекций по дисциплине "Управление и перспективы развития инфокоммуникационных систем" для докторантов специальности


Скачать 1.63 Mb.
НазваниеКонспект лекций по дисциплине "Управление и перспективы развития инфокоммуникационных систем" для докторантов специальности
Дата15.07.2021
Размер1.63 Mb.
Формат файлаdocx
Имя файлаКонспект лекций ПЕРЕСДАТЬ.docx
ТипКонспект лекций
#224364
страница13 из 16
1   ...   8   9   10   11   12   13   14   15   16


Команда setserial


Команда setserial применяется для установки и настройки отдельных последовательных портов в системе на базе ОС Linux. Каждый порт, используемый операционной системой Linux, должен быть настроен командой setserial. Как видно из листинга.3, по умолчанию в системе на базе ОС Linux конфигурируются четыре стандартных последовательных СОМ-порта. Если имеющийся у вас модем использует нестандартные прерывания IRQ и адреса ввода-вывода или же используется мультипортовая плата, то для правильного конфигурирования портов в системе необходимо использовать программу setserial.

Команда setserial используется в двух форматах:

setserial [-abqvVW] device [parameter 1[arg] ] ...

setserial -g [-abv] device ...
Опция -g используется для запроса информации об указанных в команде устройствах. В листинге 3 дается пример работы команды setserial в ОС Linux.
1 [root@shadrach rich]$ /sbin/setserial -g /dev/ttyS0 /dev/ttyS1 /dev/ttyS2 /dev/ttyS3

2 /dev/ttyS0, UART: 16550A, Port: 0x03f8, IRO: 4

3 /dev/ttyS1, UART: 16550A, Port: 0x02f8, IRQ: 3

4 /dev/ttyS2, UART: unknown, Port: 0x03e8, IRQ: 4

5 /dev/ttyS3, UART: 16550A, Port: 0x02e8, IRQ: 3

6 [root@shadrach rich]$

Листинг 3. Пример работы команды setserial (html, txt)
В первой строке листинга 5 присутствует команда setserial с опцией -g, с помощью которой на экран выводится информация о конфигурации последовательных портов. Запускать команду setserial следует только с правами пользователя root. В строках 2–5 представлена информация о последовательных портах для данной системы на базе ОС Linux в ответ на запрос команды setserial. В каждой строке представлена информация об отдельном порте. Обратите внимание, что в строке 4 не указан тип UART (стоит "unknown") для порта ttyS2, так как этот порт не используется. Это может ввести вас в заблуждение, поскольку порта просто нет физически.

С помощью одной или нескольких опций, введенных в командной строке с командой setserial, можно управлять выводом информации на экран. По умолчанию вывод на экран с помощью команды setserial производится с опцией -v, как это показано в листинге 3.5. Если задать опцию -b, то выводятся обобщенные данные. Например:

/dev/ttyS0 at 0x03f8 (irq = 4) is a 16550A.

Здесь та же информация представлена в компактном виде. Опция -a используется для получения подробного отчета о конфигурации порта. Например:

/dev/ttyS0, Line 0, UART: 16550A,

Port: 0x03f8, IRQ: 4

Baud_base: 115200, close_delay: 50, divisor: 0

closing_wait: 3000, closing_wait2: infinite

Flags: spd_normal skip_test auto_irq session_lockout.
Опция -a отображает значения всех параметров, используемых операционной системой Linux для управления портом. Все эти параметры можно устанавливать, задавая команду setserial в первом формате, как было показано выше. В табл.2 приведены параметры, которые можно изменять с помощью команды setserial.
Таблица 2 - Параметры команды setserial

Параметр

Описание

port N

Задает устройству номер порта ввода-вывода

irq N

Задает устройству номер прерывания IRQ

uart type

Задает устройству тип порта UART

autoconfigure

Автоматическое назначение параметров последовательному устройству

auto_irq

Автоматически определить номер прерывания IRQ для последовательного устройства

^auto_irq

Не пытаться автоматически определять номер прерывания IRQ для последовательного устройства во время автоконфигурирования

skip_test

Пропустить тестирование UART в течение автоконфигурирования

^ skip_test

Не пропускать тестирование UART в течение автоконфигурирования

baud_base

Установить базовую скорость передачи для порта (как правило, тактовая частота, деленная на 16)

spd_hi

Работать со скоростью 57600 бит/с при запросе приложением 38400 бит/с

spd_vhi

Работать со скоростью 115200 бит/с при запросе приложением 38400 бит/с

spd_cust

Использовать наибольший общий делитель при запросе приложением 38400 бит/с; установить baud_base, деленное на делитель

spd_normal

Работать со скоростью 38400 бит/с при запросе приложением 38400 бит/с

divisor

Устанавливает значение spd_cust

sak

Использовать клавишу "Break" в качестве секретной

^sak

Запретить использование клавиши "Break" в качестве секретной

fourport

Конфигурировать устройство в качестве адаптера (платы) AST Fourport

^fourport

Запретить конфигурировать устройство в качестве адаптера (платы) AST Fourport

close_delay D

Устанавливает интервал времени, в течение которого сигнал DTR должен оставаться низким после закрытия порта, в сотых долях секунды (по умолчанию 50 )

closing_wait D

Устанавливает интервал времени, в течение которого ядро должно ожидать пока данные поступят с последовательного порта после его закрытия, перед тем как приемник будет отключен, в сотых долях секунды. Отсутствует значение по умолчанию, ожидать до бесконечности

closing_wait2 D

Устанавливает интервал времени, в течение которого ядро должно ожидать пока данные поступят с последовательного порта после его закрытия, после того как приемник будет отключен, в сотых долях секунды. По умолчанию 30

session_lockouot

Блокировать доступ к порту другим сеансам на время установки исходящего соединения (cua)

^session_lockouot

Не блокировать доступ к порту другим сеансам на время установки исходящего соединения

pgrp_lockout

Блокировать доступ к порту другим процессам на время установки исходящего соединения

^pgrp_lockout

Не блокировать доступ к порту другим процессам на время установки исходящего соединения

hup_notify

Посылать уведомление о том, что процесс ожидает установки исходящего соединения

^hup_notify

Не посылать уведомление о том, что процесс ожидает установки исходящего соединения

split_termios

Воспринимать параметры портов для входящих и исходящих соединений отдельно

^split_termios

Не воспринимать параметры портов для входящих и исходящих соединений отдельно

callout_nohup

Если порт открыт для исходящего соединения, не класть трубку при пропадании несущей

^callout_nohup

Если порт открыт для исходящего соединения, класть трубку при пропадании несущей


Команде setserial всегда нужно задавать устройство, с которым она будет работать. Если используются значения адресов ввода-вывода и номера прерывания IRQ по умолчанию, то их можно не указывать в командной строке. Далее все параметры можно вводить в командной строке в произвольном порядке. Например:

setserial /dev/ttyS3 autoconfigure auto_irq skip_test

Этой строкой мы пытаемся автоматически сконфигурировать последовательный порт СОМ4.
1   ...   8   9   10   11   12   13   14   15   16


написать администратору сайта