Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
AT&P1 OK
AT&W OK
Главное, определитесь, как хотите настроить модем, и ищите нужные вам регистры. Кстати, очень сильно может помочь документация, которая идет в комплекте с модемом. Основные критерии можно свести к вопросу: «С какого звонка снимать трубку?». Дерзайте, только после настройки не забудьте записать изменения регистров с помощью команды «AT&W». Впоследствии это нам пригодится. После этого инициализировать модем можно по «ATZ». Эта команда «вытащит» из памяти то, что вы записали по «AT&W». Понятие о памяти дано в общих чертах.
К этому моменту у вас уже должен быть настроен модем. Допустим, он должен брать трубку со второго звонка (S0=2). Проверьте это. Для убедительности выключите и включите модем, зайдите на него терминалом, скажите «ATZ», затем организуйте звонок на модем с другого номера. Должен поднять после второго гудка. Если нет – добейтесь желаемого результата, так как от этого зависит дальнейшая настройка сервера.
Имея настроенный модем, можно браться за настройку mgetty. Ищем, куда же он установлен... Находим конфигурационный файл mgetty.config (конечно, если вы переопределили имя файла в policy.h при сборке – ищем указанное вами имя). В mgetty.config у меня всего две строчки:
data-only y
init-chat "" AT OK ATZ OK
Хотя в этом файле так же можно задать скорость соединения (насколько я понял, лучше ставить как можно больше, 57 600 или 115 200, поскольку это скорость соединения модема с машиной, а не с пользователем), уровень отладки, но мне удобнее такие параметры задать в /etc/inittab (см. ниже). Кстати, вспомните, что я говорил о «ATZ».
Следующий необходимый нам файл – login.config.
/AutoPPP/ - pppd /usr/sbin/pppd file /etc/ppp/options
* - - /bin/login @
Первая строка определяет, что делать с входящими ppp-соединениями. Вторая – как раз и есть аварийная консоль. Вызвать ее можно, установив соответственную галочку (в win32) о выводе терминала после соединения. Что мы и будем использовать для тестирования. Избавиться от этой консоли можно, указав вместо /bin/login что-нибудь ложное – /bin/fasle или /dev/null.
Как запускать mgetty? Те, кто использует единственную телефонную линию офиса, могут установить поднятие трубки с 5-6 звонка (будьте осторожны – этому есть предел) или поднимать mgetty в нерабочее время с помощью crond. Так же надо учесть, что после разрыва соединения процесс mgetty должен быть поднят заново. У меня сервер выделен отдельно, так и линии выделены спецом под dailin, следовательно, все работает круглосуточно. Получается, и mgetty надо держать поднятым круглосуточно. Для этого удобнее всего использовать initd. Он сам поднимет модемы при загрузке сервера и после разрыва соединения. Файл конфигурации /etc/inittab. Ниже приведены строки, относящиеся к модемам. Думаю, лучше всего их прописать после консолей.
D005:345:respawn:/usr/local/sbin/mgetty -s 57600 /dev/ttyD005 ttyD005
D006:345:respawn:/usr/local/sbin/mgetty -s 115200 /dev/ttyD006 ttyD006
Формат строк прост:
id:runlevels:action:process
Подробней – в man inittab. Первая строка относится к модему «Курьер», вторая – к стоечным «Зюксилям», у них разные скорости. В параметрах mgetty можно указать уровень отладки. Например, чтобы писались лог-файлы по каждому модему в отдельный файл, что удобно при отладке, добавьте «-x 5».
Да, и учтите, что у меня на борту есть мультипортовки. Т.е. если у вас нет мультипортовки и модем висит на Com2, скорее всего, строка будет выглядеть примерно так:
s1:12345:respawn:/usr/local/sbin/mgetty -s 57600 /dev/ttyS1 ttyS1
Тестирование