17.5 Исходящие соединения по модему во FreeBSD


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

Это подходит для входа на BBS.

Этот вид соединения может очень выручить, если требуется получить файл из интернет и есть проблемы с PPP. Если вам требуется зайти куда-то по FTP, а PPP не работает, используйте терминальную сессию для получения файла по FTP. Затем используйте zmodem для сброса его на свой компьютер.
17.5.1 Мой модем Stock Hayes не поддерживается, что я могу сделать?

На самом деле, страница руководства для tip устарела. Встроенная поддержка generic Hayes уже есть. Используйте at=hayes в файле /etc/remote.

Драйвер Hayes не умеет работать с некоторыми расширенными возможностями более новых модемов -- сообщения вроде BUSY, NO DIALTONE, или CONNECT 115200. Вы должны отключить эти сообщения при использовании tip (с помощью ATX0&W).

Таймаут дозвона для tip составляет 60 секунд. Ваш модем должен использовать меньшее значение, или tip решит, что возникли проблемы со связью. Попробуйте ATS7=45&W.

Note: Оригинальная tip не полностью поддерживает модемы Hayes. Решить это проблему можно отредактировав файл tipconf.h в каталоге /usr/src/usr.bin/tip/tip. Конечно, для этого вам потребуются исходные тексты.

Замените строку #define HAYES 0 на #define HAYES 1. Затем выполните make и make install. После этого все должно работать отлично.
17.5.2 Как нужно выполнять команды AT?

Сделайте то, что называется ``прямой'' записью в файле /etc/remote. Например, если модем подключен к первому последовательному порту, /dev/cuaa0, добавьте следующую строку:
cuaa0:dv=/dev/cuaa0:br#19200:pa=none

Используйте для br наибольшее значение bps, поддерживаемое модемом. Для подключения к модему выполните tip cuaa0.

Если в системе нет устройства /dev/cuaa0, выполните:
# cd /dev
# sh MAKEDEV cuaa0

Или используйте cu под root так:
# cu -lline -sspeed

line это последовательный порт (например /dev/cuaa0), а speed это скорость (например 57600). После ввода команд AT наберите ~. для выхода.
17.5.3 Знак @ не работает для pn!

Знак @ в телефонном номере указывает tip взять телефонный номер из /etc/phones. Но знак @ это также специальный символ в таких файлах как /etc/remote. Экранируйте его с помощью обратной косой черты:
pn=@
17.5.4 Как я могу позвонить по телефонному номеру из командной строки?

Поместите так называемую ``generic'' запись в файл /etc/remote. Например:
tip115200|Dial any phone number at 115200 bps:
:dv=/dev/cuaa0:br#115200:at=hayes:pa=none:du:
tip57600|Dial any phone number at 57600 bps:
:dv=/dev/cuaa0:br#57600:at=hayes:pa=none:du:

Затем вы можете сделать следующее:
# tip -115200 5551234

Если вы предпочитаете cu команде tip, используйте generic запись для cu:
cu115200|Use cu to dial any number at 115200bps:
:dv=/dev/cuaa1:br#57600:at=hayes:pa=none:du:

и выполните:
# cu 5551234 -s 115200
17.5.5 Должен ли я вводить значение bps каждый раз?

Создайте запись tip1200 или cu1200, но используйте то значение bps, которое записано в поле br. tip считает, что хорошее значение по умолчанию это 1200 bps, поэтому обращается к записи tip1200. Тем не менее, значение bps будет другим.
17.5.6 Я получаю доступ ко множеству хостов через терминальный сервер

Вместо ожидания соединения и ввода каждый раз CONNECT <host>, используйте возможность tip cm. Вот пример записи в /etc/remote:
pain|pain.deep13.com|Forrester's machine:
:cm=CONNECT pain :tc=deep13:
muffin|muffin.deep13.com|Frank's machine:
:cm=CONNECT muffin :tc=deep13:
deep13:Gizmonics Institute terminal server:
:dv=/dev/cuaa2:br#38400:at=hayes:du:pa=none:pn=5551234:

Она позволит вам вводить tip pain или tip muffin для соединения с хостами pain или muffin, и tip deep13 для доступа к терминальному серверу.
17.5.7 Может ли tip соединяться более через одну линию для каждого сайта?

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

Создайте запись для университета в /etc/remote и используйте @ для pn:
big-university:
:pn=@:tc=dialout
dialout:
:dv=/dev/cuaa3:br#9600:at=courier:du:pa=none:

Затем, создайте список телефонов для университета в /etc/phones:
big-university 5551111
big-university 5551112
big-university 5551113
big-university 5551114

tip попробует связаться с каждым в указанном порядке, затем прекратит попытки. Если вы хотите продолжать соединяться, запустите tip в цикле.
17.5.8 Почему я должен дважды нажать Ctrl+P для отправки Ctrl+P один раз?

Ctrl+P это ``управляющий'' символ по умолчанию, используемый для указания tip того, что далее идут символьные данные. Вы можете сделать любой другой символ управляющим с помощью экранирования ~s, которое означает ``установить переменную''.

Введите ~sforce=single-char, завершив ввод новой строкой. single-char это любой одиночный символ. Если вы не введете single-char, управляющим символом станет nul, который можно получить, введя Ctrl+2 или Ctrl+Space. Хорошее значение для single-char это Shift+Ctrl+6, которое используется только на некоторых терминальных серверах.

Вы можете использовать в качестве управляющего символа все, что захотите, поместив его в файл $HOME/.tiprc:
force=<single-char>
17.5.9 Почему все, что я ввожу, вдруг стало отображаться в верхнем регистре??

Вы нажали Ctrl+A, ``повышающий символ'' tip, который был специально введен для тех, у кого не работает клавиша caps-lock. Используйте ~s как в примере выше для установки переменной raisechar в подходящее значение. Фактически, вы можете установить ее в то же значение, что и управляющий символ, если не собираетесь использовать ни один из них.

Вот пример .tiprc, отлично подходящий для пользователей Emacs, которым часто требуется вводить Ctrl+2 и Ctrl+A:
force=^^
raisechar=^^

Символ ^^ это Shift+Ctrl+6.
17.5.10 Могу ли я передавать файлы с помощью tip?

Если вы соединяетесь с другой системой UNIX®, возможны передача и прием файлов с помощью команды ~p (put) и ~t (take). Эти команды запускают cat и echo в удаленной системе для приема и передачи файлов. Синтаксис следующий:

~p local-file [remote-file]

~t remote-file [local-file]

Коррекции ошибок нет, поэтому возможно лучше использовать другой протокол, например zmodem.
17.5.11 Как мне запустить zmodem с tip?

Для получения файла запустите отправляющую программу на удаленной стороне. Затем, наберите ~C rz для начала локального приема файла.

Для отправки файлов запустите принимающую программу на удаленной стороне. Затем, наберите ~C sz файлы для отправки их на удаленную систему.

Обновлено: 12.03.2015