# Тонкости работы с модемом

Этот раздел предназначен для того, чтобы дать представление об искусстве работы с модемом. Все команды, которые здесь описываются, относятся к стандарту Hayes AT и к стандартному Hayes-совместимому модему. Однако не все модемы одинаковы, и ваш случай может отличаться от изложенного.

## Сеанс связи с модемом

В модемном сеансе вы работаете с модемом непосредственно. Вы набираете команды -- модем отвечает. Для начала сеанса связи с модемом нажмите на кнопку Настройка. В открывшемся диалоге перейдите на вкладку Модем и нажмите кнопку Терминал . Откроется окно интерактивной настройки модема. Наберите команду ``ATZ`` (она сбрасывает установки модема). Модем должен отозваться и ответить OK. Используйте Файл Закрыть для завершения сеанса.

## Схемы настроек модема

Вы можете захотеть сохранить различные схемы настроек модема, а не вводить команды заново при каждом соединении. Это можно осуществить, записав их в память модема, и именно для этого вам понадобится работать непосредственно в сеансе связи с модемом. У модема может быть несколько сохраненных схем под номерами 0, 1 и т.д. Командой `AT&V` вы можете просмотреть их все. Обычно схема по умолчанию -- это 0 (ее можно изменить командой `AT&Y`). Текущая схема, с которой работает модем, называется активной.

Когда вы меняете настройку, активная схема изменяется. Команда `ATZ` сбрасывает настройки модема и восстанавливает схему настроек модема по умолчанию (#0), при этом не сохраняются сделанные вами изменения. Для сохранения изменений загрузите схему, которую вы хотите изменить, командой `ATZ`n`` (где `n` -- номер схемы). Сделайте необходимые изменения, а затем сохраните ее командой `AT&W`n``. Чтобы использовать нужную схему, измените строку инициализации модема (Настройка Модем Команды модема Строка инициализации). К примеру, команда `ATZ1` сбросит настройки модема и загрузит сохраненную схему #1.

Если вы хотите сбросить установки модема в некоторое начальное состояние, выполните команду `AT&F&W`, которая восстановит заводские настройки модема и сохранит их в качестве схемы по умолчанию.

Примеры изменения схемы модема см. в следующем разделе.

## Как заставить модем повесить трубку

Может случиться так, что модем никак не хочет вешать трубку. Это чаще всего происходит из-за несоответствия настроек &kppp; и модема. У стандартного модема есть два метода повесить трубку: Командный и DTR. В командном методе модему отправляется ESC-последовательность, которая переводит модем в командный режим, а затем выполняется команда повесить трубку (`ATH`).

Если вы настраиваете демон ppp вручную, не используя &kppp;, чаще всего имеет смысл использовать командный метод для завершения терминального сеанса и запуска демона ppp. В других случаях более подходит метод DTR, так как он проще.

### Метод DTR (`AT&Dn`)

В методе DTRмодем вешает трубку, как только &kppp; завершает использование модема. Если в сеансе связи с модемом вы опрашиваете модем командой `AT&V` и в настройках активной схемы видите `&D0`, это значит, что метод DTR отключен. Чтобы включить метод DTR, нажмите на кнопку Терминал для начала сеанса связи с модемом, а затем наберите:

    ATZ # сбросить установки в схему по умолчанию
    AT&D2  # Установить состояние Повесить трубку при выходе из DTR
    AT&W  # Записать в схему по умолчанию

#### Как работает метод DTR

Всякий раз, когда сигнал Data Terminal Ready (DTR) на линии между компьютером и модемом возрастает выше определённого предела, модем вешает трубку. Когда &kppp; открывает последовательный порт, сигнал DTR понижается, и на внешнем модеме вы можете видеть, как зажигается лампочка DTR (или TR). Когда лампочка TR гаснет, поскольку &kppp; закрыл последовательный порт (или по еще более худшей причине), модем вешает трубку.

### Командный метод

Модем, находящийся в режиме соединения, можно также заставить повесить трубку (если `AT&D`n`` `n` не равно 2), переведя его в командный режим и отправив ему команду на выполнение. Чтобы корректно повесить трубку, откройте сеанс связи с модемом и установите короткую задержку, например:

    ATZ
    ATS12=5
    AT&W

Используйте ползунок Защитный интервал в разделе Команды модема для установки значения регистра `S12` равным 5. После этого модем будет вешать трубку корректно.

#### Как работает командный метод

Когда локальный модем подключен к удаленному модему, он находится в режиме соединения (connect) и передает все получаемые им символы удаленному модему. Для того, чтобы модем воспринял символы как команду себе, его нужно перевести в командный режим. Это осуществляется ESC-кодом.

ESC-код - это три сигнала, длительность которых задается регистром `S12` (в пятидесятых долях секунды).

- отсутствие сигнала в течение времени дольше, чем `S12`/50 сек

- три подряд символа ESC (который задаётся в регистре `S2`, значение по умолчанию -- +), повторенные с интервалами менее `S12`/50 с каждый.

- отсутствие сигнала в течение времени дольше, чем `S12`/50 сек

Как только модем войдет в командный режим, вы можете отправлять ему команды. Для того, чтобы повесить трубку, отправьте команду `ATH`. ЕSC-коды и команда модему повесить трубку, используемые в &kppp;, указываются в диалоге Команды модема. Они должны соответствовать вашему модему.

## Как ускорить режим тонального набора номера

В тональном режиме время набора задается регистром `S11`. В нем записывается длительность (в сотых долях секунды) отправки каждого тонального сигнала во время дозвона. Значением по умолчанию, как правило, является 95 (почти секунда). Быстрота набора номера зависит от качества телефонного коммутатора на вашей телефонной станции. Минимальное значение - 50, почти в два раза быстрее, и часто оно срабатывает.

    ATZ        # восстановить установки схемы по умолчанию
    ATS11=50   # самый быстрый дозвон (используйте большие значения, если возникнут проблемы)
    AT&W   # записать в схему по умолчанию