The Linux Serial HOWTO : Как настроить терминальный вход на моем PC?
Next Previous Contents8. Как настроить терминальный вход на моем PC?
Детально это описывается в Text-Terminal-HOWTO (но он все еще незавершен). Инструкции в этом разделе будут работать как для подсоедиенных терминалов, так и для других компьютеров, подключенных к последовательным портам вашей Linux машины.
8.1 Аппаратные требования
Удостоверьтесь, что у вас соответствующий кабель. Нуль-модемный кабель, купленный в компьютерном магазине, может подойти, но вероятно, что он не сможет работать с аппаратным управлением потоком данных. Но он должен быть нуль- модемным кабелем! Многие компьютерные магазины выставляют этот кабель как последовательный кабель принтера. Удостоверьтесь, что вы используете ваш последовательный порт (разъем-"папу" (входящий в ответную часть) DB25 или DB9), а не ваш параллельный порт (разъем-"маму"(охватывающий) DB25 или centronics).
Для разъема DB25, вам нужно минимум:
PC "папа" DB25 Terminal DB25
TxD Передача данных 2 --> 3 RxD Прием данных
RxD Прием данных 3 <-- 2 TxD Передача данных
SG Сигнальная земля 7 --- 7 SG Сигнальная земля
Этот нуль-модемный кабель хорошо работает между двумя компьютерами, которые
используют сигналы хендшейкинга RTS/CTS, но многие терминалы используют
сигнал хендшейкинга DTR, которое не может быть установлен в linux с помощью
программы "stty". Включите в stty crtscts и соедините штырек терминала 20 (DTR) со
штырьком PC 5 (CTS).
PC "папа" DB25 Terminal DB25
TxD Передача данных 2 --> 3 RxD Прием данных
RxD Прием данных 3 <-- 2 TxD Передача данных
RTS Запрос передачи 4 --> 5 CTS Готов к передаче
CTS Готов к передаче 5 <-- 4 RTS Запрос передачи
DSR Data Set Ready 6
|
DCD Обнаружение несущей 8 <-- 20 DTR Готовность данных терминала
SG Сигнальная земля 7 --- 7 SG Сигнальная земля
6 DSR Data Set Ready
|
DTR Готовность данных терминала 20 --> 8 DCD Обнаружение несущей
Если на вашем последовательном порту стоит разъем DB9, то попробуйте следующую распайку:
PC DB9 Terminal DB25
TxD Передача данных 2 --> 2 RxD Прием данных
RxD Прием данных 3 <-- 3 TxD Передача данных
SG Сигнальная земля 5 --- 7 SG Сигнальная земля
В качестве альтернативы, вот полный DB9-DB25 нуль-модемный кабель (Вряд ли
будет работать с аппаратным хендшейкингом терминала; см. выше):
PC DB9 Terminal DB25
TxD Передача данных 2 --> 2 RxD Прием данных
RxD Прием данных 3 <-- 3 TxD Передача данных
6 DSR Data Set Ready
|
DTR Готовность данных терминала 4 --> 8 DCD Обнаружение несущей
GND Сигнальная земля 5 --- 7 GND Сигнальная земля
DCD Обнаружение несущей 1
|
DSR Data Set Ready 6 <-- 20 DTR Готовность данных терминала
RTS Запрос передачи 7 --> 5 CTS Готов к передаче
CTS Готов к передаче 8 <-- 4 RTS Запрос передачи
(RI Ring Indicator 9 не обязательно)
(Да, штырьки 2 и 3 в разъеме DB9 действительно имеют значения противоположные
значениям в разъеме DB25!)
Если вы не используете полный нуль-модемный кабель, то вам возможно придется применить следующий прием: на разъеме с компьютерной стороны, соедините RTS и CTS вместе, а также вместе соедините DSR, DCD и DTR. Таким образом, когда компьютер захочет получить сигнал хендшейкинга, он получит его (от самого себя).
Теперь, когда у вас правильный кабель?, соедините ваш терминал с вашим компьютером. Если можете, скажите терминалу игнорировать сигналы управления модемом. Пробуйте использовать в установках терминала скорость 9600 бит\сек, 8 информационных битов, 1 стоповый бит, без битов контроля по четности (или разрешите контроль по четности, если вы хотите дополнительных сложностей).
8.2 Установка getty (часть getty_ps)
Проконсультируйтесь с вашим руководством по getty для других программ getty, например, agetty.
Добавьте записи для getty в файл /etc/gettydefs, чтобы использовать ваш терминал, если их там до сих пор нет:
# 38400 bps Dumb Terminal entry
DT38400# B38400 CS8 CLOCAL # B38400 SANE -ISTRIP CLOCAL #@S @L login: #DT38400
# 19200 bps Dumb Terminal entry
DT19200# B19200 CS8 CLOCAL # B19200 SANE -ISTRIP CLOCAL #@S @L login: #DT19200
# 9600 bps Dumb Terminal entry
DT9600# B9600 CS8 CLOCAL # B9600 SANE -ISTRIP CLOCAL #@S @L login: #DT9600
Если хотите, вы можете заставить uugetty печатать интересные вещи при входе в систему. В моих примерах, я ставлю имя системы и текущую линию. Вы можете добавить и другие вещи:
@B Текущая скорость (оценивается при определении значения @B )
в бит/сек.
@D Текущая дата в формате MM/DD/YY.
@L Последовательная линия, с которой работает getty.
@S Имя системы.
@T Текщее время в формате HH:MM:SS (24-часовой).
@U Число работающих в данный момент пользователей. В качестве
этого значения берется количество записей в файле /etc/utmp,
которые имеют непустое поле ut_name.
@V Значение VERSION, как задано в файле defaults.
Чтобы отобразить символ '@', используйте или '\@', или '@@'.
Когда вы завершили редактирование файла /etc/gettydefs, вы можете проверить правильность синтаксиса, сделав:
linux# getty -c /etc/gettydefs
Удостоверьтесь, что у вас нет файла конфигурации getty или uugetty для
последовательного порта, к которому подключен ваш терминал
(/etc/default{/uu}getty.ttySN или /etc/conf.{uu}getty.ttySN), поскольку он
вероятно будет пересекаться с getty, запущенном на этом терминале. Удалите
файл, если он существует.
Отредактируйте ваш файл /etc/inittab, чтобы запустить getty на последовательном порту (установив для вашего окружения правильные порт, скорость и заданный по умолчанию тип терминала):
S1:456:respawn:/sbin/getty ttyS1 DT9600 vt100
Перезапустите init:
linux# init q
В этом месте, вы должны на терминале увидеть подсказку для входа в систему. Вам, вероятно, придется нажать Enter, чтобы привлечь внимание терминала.
8.3 Примечания о настройке PC в качестве терминала
Многие люди настраивают другие PC как терминалы, соединенные с Linux машинами.
Например, старые 8088 или 80286 PC отлично подходят для этой цели. Все, в чем вы нуждаетесь для запуска - это загрузочный диск DOS, содержащий версию DOS, подходящую вашему PC-терминалу, и программы связи для вашего PC-терминала. Kermit очень хорошо подходит для этой цели. Вы можете найти скомпилированные версии kermit для каждой OS на http://www.columbia.edu/kermit/. Также хорошо будут работать другие популярные программы связи DOS типа telix и procomm. Убедитесь, что ваши настройки PC-терминала содержат правильную информацию о последовательном порте.
Next Previous Contents