minicom
после того,
как он был использован для дозванивая. Но в действительности не нужно
покидать эту удобную программу...
minicom -s
" и выберите пункт меню "Serial port setup
".
Первым стоит пункт "Serial Device
" - это самая важная установка:
ваш модем поключается к последовательному устройству. (Кто хочет
заставить minicom
работать с несколькими последовательными устройствами
одновременно ?) Нажмите return
для подтверждения и esc
чтобы выйти
в начальное меню установок. Выберите "Exit to minicom
" и напечатайте
"atdt99999
". Ваш модем немедленно начнет набирать номер и вы услышите
щелчок, когда модем поднимет трубку. Конечно, "99999
" - несуществующий
номер.
99999
". Вы видели беспорядочные символы на экране после
регистрации (если нет, напечатайте "ppp
")? Они говорят о том, что на
другом конце линии запущен "pppd
" (или его эквивалент). Если это так,
то вы со своей стороны можете попытаться запустить демон "pppd
" и
впоследствии оценить содержимое лог-файлов.
Чтобы запустить "pppd
" внутри minicom
, вы можете определить новый
метод закачки "наверх" (то есть, от вас) или переопределить
установку "kermit programm
" из меню конфигурации "Filename and paths
":
A - Download directory :
B - Upload directory :
C - Script directory :
D - Script program : /usr/bin/runscript
E - Kermit program : /usr/sbin/pppd file /etc/ppp/mini_options
Сейчас, если вы видели эти беспорядочные символы, при следующем звонке
вашему провайдеру вы можете нажать Alt-K
, чтобы запустить "pppd
".
Оставшаяся часть этого mini-HOWTO посвящена вопросам автоматизации
логгирования и запуска "pppd
".
/var/log/debug
" (или "/var/log/daemon.log
") выполните команды
tail -n 40 /var/log/debug |\
grep -E " pppd\[[0-9]*\]:" |\
sed -e "s/^.*pppd\[/[/"
Вы увидите сообщения вроде этих
sent [LCP ConfReq id=0x1 ]
rcvd [LCP ConfRej id=0x1 ]
которые показывают что мы отправили запрос на установку
максимального размера принимаего блока (mru
) в значение 296. Другая
сторона отвергла эту установку ("configuration rejected
"). В этом
случае я только удалил опцию "mru
" из файла "/etc/ppp/options
"
(см. ниже).
minicim
'а. Нажмите
Alt-D
для вызова меню звонков и с помощью курсорных клавиш
выберите "Edit
":
A - Name : Xeno
B - Number : 022039697303
C - Dial string # : 1
D - Local echo : No
E - Script : /etc/ppp/login.script
F - Username : ppp-382
G - Password : top-secret
H - Terminal Emulation : VT102
I - Backspace key sends : Delete
J - Linewrap : Off
K - Line Settings : Curr 8N1
Это пример записи для одного из моих провайдеров. Сценарий
"/etc/ppp/login.script
" показан ниже. Две специальные переменные
заведены в этом сценарии: $(LOGIN)
и $(PASS)
, которые устанавливают
такие значения как имя пользователя (F)
и пароль (G)
. Эта особенность
придает minicom
'у некоторую гибкость, потому что вам нужен только один
скрипт, чтобы автоматически подсоединяться к нескольким провайдерам.
minicom
" запускает сценарий регистрации (login-script) после того
как он примет строку "CONNECT
". Чтобы быть точным, "minicom
" не
выполняет сценарий сам, а вызывает для этого утилиту "runscript
" в
качестве дочернего процесса.
Ниже показан пример, который я использую для моего провайдера.
# v1.0, 20.08.96 Winfried TrЭmper
print ""
print "Автоматическая регистрация через /etc/ppp/login.script"
## раскомментируйте, если вам нужно нажать , чтобы
## получить строку приглашения
#send ""
expect {
"ogin:"
"ogin>"
"sername:"
"sername>"
"NO CARRIER" exit 1
}
send "$(LOGIN)"
expect {
"assword:"
"assword>"
timeout 20
}
send "$(PASS)"
expect {
"port" send "ppp"
"Start your PPP now"
"}!}!}"
timeout 10
}
print ""
print "Сейчас переключаемся в ppp-режим ..."
print ""
! /usr/sbin/pppd file /etc/ppp/mini_options
print ""
print "команда killall -TERM pppd прекращает работу pppd"
Способность "runscript
" вызывать внешние программы используется для
запуска "pppd
". Скопируйте ваш собственный файл options
для ppp
в
"/etc/ppp/options.ttyS1
" (здесь вы можете заменить "ttyS1
" на
устройство, к которому подключен ваш модем) и удалите все строки из
/etc/ppp/options
, которые относятся к вашему модему (вроде "connect
",
"crtscts
" или "modem
"). Вставьте опции, которые специфичны для
ppp-соединения через minicom в "/etc/ppp/mini_options
". Одной из
этих опций будет
disconnect "chat '' '\d\d+++\d\dATH\r\c'"
Она должна быть, так как "pppd
" читает данные через стандартный поток
ввода и не может заставить модем бросить трубку через "crtscts
".
-d
", чтобы звонить по определенному номеру при
запуске minicom
.
Также вы можете попробовать
open -sl -- minicom -d 1
чтобы перебросить minicom
в другую консоль (см. Consoles-Many
mini-HOWTO).
pppd
" - демон, он не предназначен для интерактивного
общения с пользователем или наблюдения. Это так. И после всего этого
мы используем юниксы...
Каноническое решение позади. Есть добровольцы хакнуть minicom
?
Желаемые расширения такие: