Набор команд для Hayes-совместимых модемов Ниже приводится описание набора команд для Hayes-совместимых модемов. Большинство модемов поддерживают этот набор команд в достаточно большой степени. Если вы потеряли руководство по эксплуатации вашего модема (или если руководства не было), этот раздел может быть оказаться весьма полезным. К примеру, я определил, как отключать динамик моего модема: команда ATM0 -- наконец-таки тишина! Инициализационная строка модема являет собой последовательность команд. Она подготавливает модем к коммуникациям, задавая ему такие параметры как: режим дозвона, ожидание, определение сигнала Занято и многие другие установки. Современные коммуникационные программы создают строки инициализации сами, на основе выбранных вами опций меню, на основе включенных вами функций, и т. д. На протяжении многих лет Hayes-совместимые модемы являются промышленным стандартом. Несмотря на возросшее количество производителей модемов, большинство из них очень близки к стандарту Hayes-совместимых. Ниже приводится (частично) набор команд для Hayes- совместимых модемов. (Так называемые AT-команды). Набор команд для Hayes-совместимых модемов можно разделить на четыре группы: Основной набор команд Цифра после заглавной буквы. Например, M1. Расширенный набор команд Символ & (амперсант) с последующей заглавной буквой в сочетании с цифрой. Это расширение основного набора команд. К примеру, &M1. Обратите внимание на то, что команда M1 отлична от команды &M1. Частный набор команд Обычно начинающиеся с символа обратного слэша (\) или знака процента (%), эти команды очень различаются на разных моделях модемов. По этой причине ниже приведены только некоторые из них. Команды для управления регистрами Sr=n, где r означает номер регистра, значение которого нужно изменить, а n -- заменяющее значение. Регистр -- компьютерный термин, означающий некую физическую область памяти. Количество памяти в модемах мало. Этот четвертый набор команд используется для ввода значения в определенный регистр (область в памяти). Регистр хранит определенную переменную (алфавитно-цифровые данные), которые используются модемом и коммуникационным программным обеспечением. К примеру, команда S7=60 указывает компьютеру Установить значение регистра #7 равным 60. Кроме того, большинство команд определяются буквенно-цифровой комбинацией (L0, L1 и так далее), использование нуля является необязательным. К примеру, команда L0 аналогична команде L. Имейте это ввиду при ознакомлении с таблицей, приведенной ниже! Ниже приводятся некоторые из наиболее важных символов в строке инициализации модема. Как правило, изменение этих символов не требуется. AT Указывает модему, что последует набор команд. С этой команды начинаться каждая строка, содержащая команды. Z Сбросить установки модема в состояние по умолчанию , (запятая) задерживает выполнение программы на одну секунду. Допускается использование нескольких команд , в одном ряду. Например, команда ,,,, создаст задержку в 4 секунды. (Время паузы задается значением регистра S8. ^M Отправляет модему символ-прерывание Возврат каретки (CR). Этот управляющий код большая часть коммуникационных программ понимает как Carriage Return Основной набор команд Hayes В алфавитном порядке: Основной набор команд Hayes Команда Описание Комментарии A0 или A Ответить на входящий звонок A/ Повторить последнюю выполненную команду Не предварять командой AT. За этим, как правило, следует завершение сеанса. B0 или B Обработка входящих звонков Процедура ответа на входящий звонок - протокол V32/CCITT B1 Обработка входящих звонков Процедура ответа на входящий звонок - Bell 212A B2 Обработка входящих звонков Режим ответа на входящий звонок: Отчет/Без отчета D Дозвон Дозвониться по указанному номеру и выполнить процедуру приветствия. P Импульсный набор номера T Тоновый набор номера W Ожидать повторного зуммера , Выдержать паузу, заданную значением регистра S8 (обычно 2 секунды) ; После дозвона остаться в командном режиме ! Краткое прерывание линии (На полсекунды повесить трубку, как в случае перевода звонка. L Набрать последний набранный номер E0 или E Без эхо В компьютер не поступает эхо-команд E1 Эхо В компьютер поступает эхо-команда (отображаются набранные символы) H0 Состояние линии Линия используется - повесить трубку H1 Состояние линии Линия свободна - поднять трубку I0 или I Запрос на сведения Эта команда сильно зависит от модели модема. Обычно, команда I0 возвращает число или код, тогда как более высокие номера предоставляют намного более полезные сведения. L0 или L Громкость динамика модема. Эти опции отсутствуют у модемов с механической регулировкой. Громкость динамика модема в положении Тихо или Выключено L1 Громкость динамика модема в положении Тихо L2 Громкость динамика модема в положении Средне L3 Громкость динамика модема в положении Громко M0 или M Динамик модема выключен Команда M3 также встречается, но на разных моделях интерпретируется по-разному M1 Динамик включен, пока не определен удаленный носитель (т. е., пока не будет услышан другой модем) M2 Динамик модема всегда включен (после соединения слышны звуки передачи данных) N0 или N Скорость при приветствии Приветствовать только при скорости, указанной в регистре S37 N1 Приветствовать при наибольшей скорости, по значению превышающей значение регистра S37 O0 или O Вернуться в режим На связи Смотрите также X1, так как может быть включен режим определения наличия зуммера. O1 Вернуться в режим На связи после выполнения проверки эквалайзера Q0 или Q1 Тихий режим Выключено - отображаются коды ответов, пользователь видит ответы на команды (например, OK) Q1 Тихий режим Включено - коды ответов опускаются, пользователь их не видит. Sn? Запросить значение S-регистра n Sn=r Сохранить Сохранить значение r в S-регистре n V0 или V Режим отчета Цифровые коды ответов V1 Коды ответов на английском языке (к примеру, CONNECT, BUSY, NO CARRIER и так далее) X0 или X Smartmodem Коды ответов для модемов, совместимых с Hayes Smartmodem 300 X1 Добавляет скорость соединения к основному коду ответа (например CONNECT 1200 X2 Добавляет определение способа набора номера (предотвращает дозвон вслепую и иногда предотвращает выполнение команды AT0) X3 Добавляет определение сигнала Занято X4 Добавляет определение сигналов Занято и Тональный набор Z0 или Z Сброс Сбросить установки модема и загрузить сохраненную схему конфигурации. Используйте команды Z0, Z1, и т. д., если вы используете несколько схем. Эквивалент команды &F для загрузки заводских установок на модемах без NVRAM (non voltaile memory)
Расширенный набор команд HayesКоманды с амперсендом Расширенный набор команд Hayes Команда Описание Комментарии &B0 or &B Параметры повтора Выключить функцию автоповтора &B1 Параметры повтора Включить функцию автоповтора &B2 Параметры повтора Включить функцию автоповтора, но разъединиться, если состояние линии не улучшилось за период времени, заданный значением регистра S7 &C0 или &C1 Определение наличия связи Сигнал всегда включен &C1 Определение наличия связи Соответствует удаленному носителю (как правило, оставляйте без изменений) &D0 или &D DTR -- Готовность к передаче данных Сигнал игнорируется (Зависит от модема, сведения вы можете найти в руководстве по эксплуатации!) &D1 DTR -- Готовность к передаче данных Если DTR переключается из состояния Включено в Выключено, модем переходит в командный режим (только некоторые модели) &D2 DTR -- Готовность к передаче данных Некоторые модемы при изменении состояния DTR вешают трубку (Как правило, является установкой по умолчанию) &D3 DTR -- Готовность к передаче данных Повесить трубку, сбросить установки модема в начальное состояние и перейти в командный режим при сигнале DTR &F0 или &F Заводские установки Установки по умолчанию для Generic Hayes-совместимых модемов. Как правило, имеет смысл использовать эту команду в строке инициализации модема, так как команды &F1-&F3 могут по-разному быть поняты различными модемами, тем самым вызывая проблемы при соединении. (Никогда нельзя точно знать какие установки изменяет команда &F2.С другой стороны, бывает целесообразным использовать приведенные ниже опции; большинство проблем можно решить, заменив сложную строку инициализации простой командой &F2 или подобной. Тем не менее, если вы создаете строку инциализации, лучше начать ее простой командой &F, а не использовать измененные типы установок по умолчанию. &F1 Заводские установки Заводские установки, прошитые в IBM PC-совместимых модемах &F2 Заводские установки Заводские установки с программным приветствием (Макинтош) &F3 Заводские установки Заводские установки с аппаратным приветствием (Макинтош) &G0 or &G Защитные тоновые сигналы Выключить защитные тоновые сигналы &K0 или &K Локальное управление потоком Выключить локальное управление потоком &K1 Локальное управление потоком Включить локальное аппаратное управление потоком RTS/CTS &K2 Локальное управление потоком Включить локальное программное управление потоком XON/XOFF &K3 Локальное управление потоком Включить локальное аппаратное управление потоком RTS/CTS &K4 Локальное управление потоком Включить локальное программное управление потоком XON/XOFF &L0 или &L Режим дозвона Выбрать режим дозвона &M0 или &M Режим контроля ошибок Выбрать асинхронный не-EC режим (то же самое, что и команда &Q0) &P0 или &P Соотношение набор-пауза импульсного дозвона Импульсный дозвон с соотношением набор-пауза 39% / 61% (США/Канада) &P1 Соотношение набор-пауза импульсного дозвона Импульсный дозвон с соотношением набор-пауза 33% / 67% (Великобритания/Гонконг) &Q0 или &Q Режим контроля ошибок Асинхронный не-EC режим. Буферизация данных отключена. ASB отключено. &Q5 Режим контроля ошибок Выбрать операцию EC протокола V.42 (необходимо управление потоком) &Q6 Режим контроля ошибок Асинхронный режим с ASB (необходимо управление потоком) &Q8 Режим контроля ошибок Выбрать альтернативный протокол EC (MNP) &Q9 Режим контроля ошибок Условное сжатие данных: V.42bis = да, MNP5 = нет. &S0 или &S Выбор действия DSR Всегда в состоянии Включено (по умолчанию) &S1 Выбор действия DSR Следовать спецификации EIA (Включено слежение за тональным сигналом носителя, до потери связи.) &T0 или &T Самопроверка Самопроверка (у некоторых модемов, зависит от модели) &U0 или &U Решетчатая модуляция кода Включить протокол V.32 TCM &U1 Решетчатая модуляция кода Выключить протокол V.32 TCM &V0 или &V1 Просмотреть активную конфигурацию (и, зачастую, сохраненную) (то же, что и команда ATI4 &W0 или &W Сохранить схему В NVRAM (команды &W0, &W1, и т. д. для нескольких схем). Некоторые установки сохранению не подлежат. Они не выводятся в ответ на команду &V или же ATI4 &Y0 или &Y Выбрать конфигурацию, загружаемую при включении питания Загрузить схему 0 (по умолчанию) &Y1 Выбрать конфигурацию, загружаемую при включении питания Загрузить схему 1 &Zn=x Мягкий сброс установок и загрузка схемы номер n Заметьте, что содержимое командной строки после &Z будет проигнорировано
Команды Backslash (обратный слэш) и Percent (процент) Команды Backslash (обратный слэш) и Percent (процент) Команда Описание Комментарии \A0 или \A Максимальный размер блока MNP (в символах) 64 символа максимум \A1 Максимальный размер блока MNP (в символах) 128 симоволов максимум \A2 Максимальный размер блока MNP (в символах) 192 символа максимум \A3 Максимальный размер блока MNP (в символах) 256 символов максимум %C0 или %C Включить/Выключить режим сжатия данных Выключить %C1 Включить/Выключить режим сжатия данных Включить MNP5 %C2 Включить/Выключить режим сжатия данных Включить V.42bis (BTLZ) %C3 Включить/Выключить режим сжатия данных Включить MNP5 & V.42bis (BTLZ) %D0 или %D Сжатие данных Размер словаря 512 BLTZ %D1 Сжатие данных Размер словаря 1024 BLTZ %D2 Сжатие данных Размер словаря 2048 BLTZ %D3 Сжатие данных Размер словаря 4096 BLTZ %E0 или %E1 Метод Escape Выключить ESCAPE %E1 Метод Escape Метод +++AT (по умолчанию) %E2 Метод Escape Метод Break AT %E3 Метод Escape Включить оба метода %E4 Метод Escape Выключить получение отклика OK на команду +++ %E5 Метод Escape Включить получение отклика OK на команду +++ \J0 или \J Авторегулировка DTE Выключить \J1 Авторегулировка DTE Значение DTE приводится в соответствие со значением носителя. \N0 или \N Тип соединения Нормальное соединение (определение приведено ниже) \N1 Тип соединения Прямое соединение \N2 Тип соединения Соединение с надежной (с авторегулировкой) связью MNP \N3 Тип соединения Соединение с надежной (с авторегулировкой) связью \N4 Тип соединения Надежная связь протокола V.42bis с определением фазы \N5 Тип соединения Надежная (с авторегулировкой) связь протокола V.42bis с определением фазы \N6 Тип соединения Надежная связь протокола V.42 с определением фазы \N7 Тип соединения Надежная (с авторегулировкой) связь протокола V.42 с определением фазы
Прямое соединение -- это простое соединение без использования протоколов коррекции ошибок и сжатия данных. В этом случае скорости компьютер-модем и модем-модем должны быть идентичными. Нормальное соединение использует управление потоком (аппаратное или программное) для буферизации отправленных и полученных данных, таким образом, модем может передавать данные на скорости, отличной от скорости передачи компьютера. К примеру, компьютер может отправлять данные на скорости 57 Кб/с с использованием сжатия, а модем ведет передачу на скорости 28.8 Кб/с. Этот режим используется большинством модемов. Соединение с надежной связью подобно нормальному соединению; если по какой-либо причине не происходит сжатия данных или отключен режим коррекции ошибок, в таком случае произойдет разъединение. (В частности, такой модем проверяет все соединения на предмет надежности, в противном же случае вешает трубку.) Соединение с надежной (с авторегулировкой) связью является практически тем же самым, разве что модем будет пытаться соединиться заново для установления соединения с надежной связью. Большинство модемов используют этот режим.
S-регистры S-регистры Регистр Диапазон По умолчанию Функция S0 0-255 звонков 1-2 Ответить при определенном количестве звонков. Не отвечать при значении 0 S1 0-255 звонков 0 Если значение регистра S0 больше 0, этот регистр предназначен для подсчета входящих звонков. S2 0-127 ASCII 43 + Переход в командный режим симовлом ESC S2 >127 неприятие символа ESC S3 0-127 ASCII 13 CR Символ возврата каретки S4 0-127 ASCII 10 LF Символ перехода на новую строку S5 0-32, 127 ASCII 8 BS Символ забоя S6 2-255 секунд 2 Время ожидания зуммера (для набора номера вслепую смотрите Xn S7 1-255 секунд 30-60 Время ожидания ответа удаленного носителя S8 0-255 секунд 2 Время паузы при дозвоне S9 1-255 1/10-ых долей секунды 6 Время на определение наличия связи S10 1-255 1/10-ых долей секунды 7-14 Время между утратой связи и командой модему повесить трубку S11 50-255 миллисекунд 70-95 Продолжительность тоновых сигналов и интервал между ними при тональном наборе номера S12 0-255 1/50-ых долей секунды 50 Задержка при выполнении команды +++ S36 Возможные опции при невозможности устранить ошибки связи: 0 - Разъединить 1 - Установить прямое соединение 3 - Установить нормальное соединение 4 - Установить MNP-соединения при возможности, иначе разъединить 5 - Установить MNP-соединение при возможности, иначе установить прямое соединение. 7 - Установить MNP-соединение при возможности, иначе установить нормальное соединение 7 Обработка сбоев установления связи S37 1 = 300 bps 5 = 1200 bps 6 = 2400 bps 7 = 1200/75 bps (протокол v.23) 8 = 4800 bps 9 = 9600 bps 10 = 12000 bps 11 = 14400 bps 12 = 7200 bps 0 Начальная скорость (установление связи)
У многих модемов существуют десятки, даже сотни S-регистров, но стандартными являются только первые десять. Их значения изменяются командой ATSn=N, а проверяются командой ATSn? (например, команда AT S10 S1? укажет модему не вешать трубку в в течении семи секунд без ответа другого модема и вернет последнее зарегистрированное число звонков.)