Рейтинг@Mail.ru
[Войти] [Зарегистрироваться]

Наши друзья и партнеры

UnixForum
Беспроводные выключатели nooLite купить дешевый 
компьютер родом из Dhgate.com

Lines Club

Ищем достойных соперников.

Библиотека сайта или "Мой Linux Documentation Project"

Следующий Предыдущий Содержание

13. Использование uugetty для приема звонков (из Serial-HOWTO)

Вместо uugetty можно использовать (лучше?) mgetty. mgetty более популярна и новее, чем uugetty. В разделе Getty представлено сравнение этих двух разновидностей getty.

13.1 Установка getty_ps

uugetty является частью getty_ps, поэтому сперва надо установить getty_ps. Самую последнюю версию можно взять с metalab.unc.edu:/pub/Linux/system/serial В частности, для работы на высоких скоростях (57600 и 115200 бит/с) необходима версия 2.0.7j или более поздняя. Также потребуется libc 5.x или выше.

По умолчанию getty_ps устанавливается в соответствии с Linux FSSTND (File System Standard -- стандарт файловой системы), т.е. это означает, что выполняемые двоичные файлы будут находиться в /sbin, а файлы настроек будут называться /etc/conf.{uu}getty.ttySN. В документации об этом явно не сказано! Также предполагается, что файлы блокировки (lock-файлы) будут размещаться в /var/lock. Убедитесь, что каталог /var/lock существует.

Если отказаться от соответствия FSSTND, то двойчные файлы "пропишутся" в /etc, файлы настроек -- в /etc/default/{uu}getty.ttySN, lock-файлы -- в /usr/spool/uucp. Я рекомендую делать так, если вы используете протокол UUCP, поскольку с UUCP возникнут проблемы, если вы переместите lock-файлы куда-нибудь, где он их не найдет.

getty_ps для записи своих сообщений может использовать syslogd. О настройке syslogd можно узнать из man-страниц syslogd(1) и syslog.conf(5). Сообщения записываются с приоритетом LOG_AUTH, ошибки -- LOG_ERR, отладочная информация -- LOG_DEBUG. Если Вы не хотите использовать syslogd, то можно поправить файл tune.h в исходниках getty_ps так, чтобы сообщения записывались в обычный файл, по умолчанию называемый /var/adm/getty.log.

Решите, нужна ли Вам совместимость с FSSTND и будете ли Вы использовать syslog. Можно по-разному скомбинировать эти две опции. Отредактируйте (если надо) Makefile, tune.h и config.h в соответствии со своим выбором. Затем в соответствии с прилагающимися инструкциями произведите компиляцию и установку :)

13.2 Начальная настройка uugetty

uugetty позволяет осуществить исходящее соединение, пока сама она прослушивает порт в ожидании входящего вызова. uugetty производит проверку lock-файлов. Добавьте запись для своего модема в /etc/gettydefs. Разъяснения того, что нужно добавить, есть в коллекции "serial_suite" Верна Хоукси. Узнать, где взять эту коллекцию, можно из раздела getty_em. Закончив редактирование /etc/gettydefs, Вы можете проверить правильность синтаксиса командой:

linux# getty -c /etc/gettydefs

Современные модемы

Если Ваш модем поддерживает сжатие данных и имеет скорость обмена с последовательным портом от 9600 бит/с и выше, то для последовательного порта можно задать фиксированную скорость. Пример:

# фиксированная скорость 115200
F115200# B115200 CS8 # B115200 SANE -ISTRIP HUPCL #@S @L @B login: #F115200

Если в модеме задано аппаратное управление потоком (RTS/CTS), то в записи укажите CRTSCTS:

# фиксированная скорость 115200, аппаратное управление потоком
F115200# B115200 CS8 CRTSCTS # B115200 SANE -ISTRIP HUPCL CRTSCTS #@S @L @B login: #F115200

Старые медленные модемы

Если у Вас медленный модем (скорость обмена с портом менее 9600 бит/с), то тогда вместо одной строчки для одной скорости придется задавать несколько строчек для нескольких скоростей. Причем в конце каждой строчки должна быть ссылка на следующую, например такая: #4800 (последняя строчка ссылается на первую). Между строчками с записями должны быть пустые строки. Надо ли на самом деле указывать большие скорости обмена модем-последовательный_порт, которые не поддерживаются медленным модемом?? В документации uugetty они указаны, поэтому я пока что их не удаляю.

# Modem entries
115200# B115200 CS8 # B115200 SANE -ISTRIP HUPCL #@S @L @B login: #57600

57600# B57600 CS8 # B57600 SANE -ISTRIP HUPCL #@S @L @B login: #38400

38400# B38400 CS8 # B38400 SANE -ISTRIP HUPCL #@S @L @B login: #19200

19200# B19200 CS8 # B19200 SANE -ISTRIP HUPCL #@S @L @B login: #9600

9600# B9600 CS8 # B9600 SANE -ISTRIP HUPCL #@S @L @B login: #4800

4800# B4800 CS8 # B4800 SANE -ISTRIP HUPCL #@S @L @B login: #2400

2400# B2400 CS8 # B2400 SANE -ISTRIP HUPCL #@S @L @B login: #1200

1200# B1200 CS8 # B1200 SANE -ISTRIP HUPCL #@S @L @B login: #115200

Приглашение для идентификации

По желанию можно заставить uugetty в выдаваемом ей приглашении для идентификации выводить различную интересную информацию. У Грэга (первого автора Serial-HOWTO -- напоминание перев., м.б. лишнее :)), к примеру, выводятся имя системы, используемый последовательный порт и скорость в бит/с. По своему усмотрению Вы можете добавить:

       @B    Текущая (на момент отображения) скорость в бит/с.
@D Текущая дата в виде ММ/ДД/ГГ.
@L Последовательный порт (линия), на который uugetty
выдает приглашение.
@S Имя системы.
@T Текущее время в ЧЧ:ММ:СС (24-часовое).
@U Число присутствующих в настоящее время пользователей.
Это число равно числу записей в файле /etc/utmp,
имеющем ненулевое поле ut_name.
@V Значение ВЕРСИИ, как задано в файле с настройками(?).
Чтобы вывести символ '@', надо добавить '\@' или '@@'.

13.3 Настройка uugetty

uugetty имеет большое множество параметров для настройки. Для каждого порта можно задать свои настройки. Общие настройки находятся в файле /etc/conf.uugetty, настройки для порта ttySN -- в файле /etc/conf.uugetty.ttySN. Файлы-примеры настроек идут вместе с исходниками getty_ps, включенными в большинство дистрибутивов Linux. Из-за экономии места они здесь не представлены. В старых версиях uugetty (до 2.0.7e) или при установке без соответствия FSSTND файлами настроек будут /etc/default/uugetty.ttySN. У Грэга /etc/conf.uugetty.ttyS3 выглядел так:

# пример файла настроек uugety для Hayes-совместимого модема
# для приема входящих вызовов от других модемов
#
# начальная строка (line to initialize)
INITLINE=ttyS3
# время ожидания (timeout) до отключения при бездействии...
TIMEOUT=60
# строка инициализации модема...
# формат: <ожидание> <посыл> ... (chat-последовательность)
INIT="" AT\r OK\r\n
WAITFOR=RING
CONNECT="" ATA\r CONNECT\s\A
# эта строка устанавливает время задержки перед выдачей
# приглашения для идентификации
DELAY=1
#DEBUG=010

Чтобы uugetty запускалась на Вашем последовательном порте, добавьте в /etc/inittab следующую строчку со своими значениями уровней запуска (2345 или 345 и т.д.), места размещения файла настроек, номера порта, его скорости и типа терминала:

S3:2345:respawn:/sbin/uugetty -d /etc/default/uugetty.ttyS3 ttyS3 F115200 vt100
Перезапустите init:
linux# init q
Значение для скорости в /etc/inittab лучше задать самое максимальное, которое поддерживается Вашим модемом.

Теперь Linux посредством uugetty будет прослушивать последовательный порт. Попытайтесь соединиться со своим компьютером с другого компьютера и войти в Linux под своим именем :)

uugetty имеет намного больше опций, узнать о которых можно на man-странице uugetty (обычно ее называют просто getty). Среди прочих есть работа по расписанию и функция обратного вызова (ringback?).


Следующий Предыдущий Содержание
Эта статья еще не оценивалась
Вы сможете оценить статью и оставить комментарий, если войдете или зарегистрируетесь.
Только зарегистрированные пользователи могут оценивать и комментировать статьи.

Комментарии отсутствуют