Опубликован: 21.11.2006 | Уровень: специалист | Доступ: платный
Лекция 3:

Установка телекоммуникационного оборудования в ОС Linux

Установка модемов

Для большинства серверов электронной почты на базе Linux модем сегодня является своеобразными воротами во внешний мир. Если имеется сервер электронной почты, подключенный к ЛВС, которая в свою очередь подключена к сети Internet, то вполне закономерно что для организации обмена электронной почтой потребуется подключение к провайдеру услуг сети Internet. Обычно такое соединение организуется с помощью модема. На сегодняшний день существует огромный выбор модемов. В этом разделе мы попытаемся рассказать, каким образом ОС Linux работает с модемными устройствами, и представим различные типы модемов, используемых с ОС Linux.

Последовательные порты в ОС Linux

Сетевые администраторы знакомы с работой последовательных портов под управлением операционных систем Microsoft MS-DOS и Windows в IBM-совместимых ПК. Архитектура IBM-совместимых ПК поддерживает последовательные порты, известные как COM-порты. Эти порты нумеруются с первого по четвертый, и каждый из них имеет отдельное прерывание IRQ и свою пару адресов ввода-вывода.

ОС Linux обнаруживает СОМ-порты в системе, но использует свою систему нумерации. В ОС Linux они называются tty-устройствами. Эти устройства находятся в /dev/ttySx, где х обозначает номер коммуникационного порта. К сожалению, ОС Linux использует систему нумерации портов, отличную от принятой компанией Microsoft. В ней нумерация последовательных портов начинается с 0, а не с 1. В табл. 3.3 приведена нумерация последовательных портов в ОС Linux и в MS-DOS.

Таблица 3.3. Последовательные порты в ОС Linux
MS-DOS Linux IRQ Адрес ввода-вывода
COM 1 ttyS0 4 0x3f8
COM 2 ttyS1 3 0x2f8
COM 3 ttyS2 4 0x3e8
COM 4 ttyS3 3 0x2e8

Мультипортовые платы

В ОС Linux также поддерживаются мультипортовые последовательные устройства. В таких платах совмещено несколько последовательных портов, которые могут совместно использовать одно прерывание IRQ. Для нормального функционирования они используют специальные программы-драйверы для разделения портов на плате. При использовании таких устройств ОС Linux выполняет нумерацию портов, начиная с ttyS4. Довольно часто этим устройствам требуются специальные драйверы для ядра Linux, которые обычно поставляются изготовителем мультипортовой платы.

В листинге 3.3 показаны устройства ttyS x для стандартного IBM-совместимого ПК под управлением Mandrake Linux с двумя СОМ портами и модемом на порту СОМ4.

1 [alex@shadrach /dev]$ ls -al ttyS*
2 crw------- 1 root tty 4, 64 Nov 29 16:09 ttyS0
3 crw------- 1 root tty 4, 65 May 5 1998 ttyS1
4 crw------- 1 root tty 4, 66 May 5 1998 ttyS2
5 crw------- 1 root tty 4, 67 May 5 1998 ttyS3
6 [alex@shadrach /dev]$
Листинг 3.3. Список устройств /dev/ttySx

Из листинга 3.3 видно, что, хотя в данной системе используется только три СОМ-порта, по умолчанию в операционной системе Linux создаются записи для четырех основных последовательных портов. Попытка использовать устройство ttyS2 повлечет за собой появление ошибки.

В ОС Linux также поддерживается набор зеркальных устройств с именами /dev/cuax для каждого устройства /dev/ttySx. Устройства cua предназначены для того, чтобы упростить создание управляющих программ. Устройства cua позволяют прикладным программам подключаться к портам, даже если не представлен сигнал несущей (DCD). Сигнал DCD выдается модемом и говорит о наличии соединения с удаленным модемом. Программным обеспечением, которому в процессе работы необходимо совершать выходные звонки, используются главным образом эти устройства. При этом не требуется наличие соединения, поскольку это исходящий звонок. Поэтому в ОС Linux было принято соглашение о том, что все программы, инициирующие исходящие звонки, должны использовать устройства cua, а устройства ttyS предназначены только для входящих звонков. Ниже в листинге 3.4 приведен список cua -устройств для системы, рассмотренной в листинге 3.3, с использованием Mandrake Linux.

[alex@shadrach /dev]$ ls -al cua*
crw------- 1 root root 5, 64 May 5 1998 cua0
crw------- 1 root root 5, 65 May 5 1998 cua1
crw------- 1 root root 5, 66 May 5 1998 cua2
crw------- 1 root root 5, 67 May 5 1998 cua3
[alex@shadrach /dev]$
Листинг 3.4. Список устройств /dev/cuax

При одновременном использовании программ для обслуживания исходящих и входящих звонков возникает проблема с блокировкой порта модема. Поэтому было принято решение поддерживать разработку управляющего программного обеспечения для устройств ttyS. Это оказалось намного легче, чем обслуживать два различных имени устройств для одного и того же физического устройства.

tty против cua

Избегайте использования устройств cua, даже если они имеются в вашем дистрибутиве ОС Linux. Многими программами уже сегодня генерируется предупреждающее сообщение, о прекращении поддержки устройств с именем cua в будущих ядрах ОС Linux. Лучше всего обращаться к последовательным портам по имени tty.

Еще одно специальное устройство, с которым вам, возможно, придется иметь дело, —устройство /dev/modem. В принципе это символическая связь с устройством cua, к которому подключен модем. Это устройство призвано упростить обращение программ, которым требуется работа с модемом, к портам. Теперь таким программам нужно лишь обратиться к стандартному устройству modem. Большинство версий ОС Linux создают это устройство еще при первой установке системы. В Red Hat и Mandrake Linux, если вы хотите установить модем позже, можно использовать программу для среды X Window modemtool для создания символической связи с устройством /dev/modem. На рис. 3.7 представлено окно программы modemtool.

Утилита modemtool

Рис. 3.7. Утилита modemtool
Евгений Швачко
Евгений Швачко
Россия, Москва