Набор команд для 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/CCITTB1Обработка входящих звонковПроцедура ответа на входящий звонок - Bell 212AB2Обработка входящих звонковРежим ответа на входящий звонок: Отчет/Без отчета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Скорость при приветствииПриветствовать только при скорости, указанной в регистре S37N1Приветствовать при наибольшей скорости, по значению превышающей значение регистра S37O0 или OВернуться в режим На связиСмотрите также X1, так как может быть включен режим определения наличия зуммера.O1Вернуться в режим На связи после выполнения проверки эквалайзераQ0 или Q1Тихий режимВыключено - отображаются коды ответов, пользователь видит ответы на команды (например, OK)Q1Тихий режимВключено - коды ответов опускаются, пользователь их не видит.Sn?Запросить значение S-регистра nSn=rСохранитьСохранить значение r в S-регистре nV0 или VРежим отчетаЦифровые коды ответовV1Коды ответов на английском языке (к примеру, CONNECT, BUSY, NO CARRIER и так далее)X0 или XSmartmodemКоды ответов для модемов, совместимых с Hayes Smartmodem 300X1Добавляет скорость соединения к основному коду ответа (например CONNECT 1200X2Добавляет определение способа набора номера (предотвращает дозвон вслепую и иногда предотвращает выполнение команды AT0)X3Добавляет определение сигнала ЗанятоX4Добавляет определение сигналов Занято и Тональный наборZ0 или ZСбросСбросить установки модема и загрузить сохраненную схему конфигурации. Используйте команды Z0, Z1, и т. д., если вы используете несколько схем. Эквивалент команды &F для загрузки заводских установок на модемах без NVRAM (non voltaile memory)
Расширенный набор команд HayesКоманды с амперсендом
Расширенный набор команд HayesКомандаОписаниеКомментарии&B0 or &BПараметры повтораВыключить функцию автоповтора&B1Параметры повтораВключить функцию автоповтора&B2Параметры повтораВключить функцию автоповтора, но разъединиться, если состояние линии не улучшилось за период времени, заданный значением регистра S7&C0 или &C1Определение наличия связиСигнал всегда включен&C1Определение наличия связиСоответствует удаленному носителю (как правило, оставляйте без изменений)&D0 или &DDTR -- Готовность к передаче данныхСигнал игнорируется (Зависит от модема, сведения вы можете найти в руководстве по эксплуатации!)&D1DTR -- Готовность к передаче данныхЕсли DTR переключается из состояния Включено в Выключено, модем переходит в командный режим (только некоторые модели)&D2DTR -- Готовность к передаче данныхНекоторые модемы при изменении состояния DTR вешают трубку (Как правило, является установкой по умолчанию)&D3DTR -- Готовность к передаче данныхПовесить трубку, сбросить установки модема в начальное состояние и перейти в командный режим при сигнале 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Метод BreakAT%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-регистрыРегистрДиапазонПо умолчаниюФункцияS00-255 звонков1-2Ответить при определенном количестве звонков. Не отвечать при значении 0S10-255 звонков0Если значение регистра S0 больше 0, этот регистр предназначен для подсчета входящих звонков.S20-127 ASCII43 +Переход в командный режим симовлом ESCS2>127неприятие символа ESCS30-127 ASCII13 CRСимвол возврата кареткиS40-127 ASCII10 LFСимвол перехода на новую строкуS50-32, 127 ASCII8 BSСимвол забояS62-255 секунд2Время ожидания зуммера (для набора номера вслепую смотрите XnS71-255 секунд30-60Время ожидания ответа удаленного носителяS80-255 секунд2Время паузы при дозвонеS91-255 1/10-ых долей секунды6Время на определение наличия связи S101-255 1/10-ых долей секунды7-14Время между утратой связи и командой модему повесить трубкуS1150-255 миллисекунд70-95Продолжительность тоновых сигналов и интервал между ними при тональном наборе номераS120-255 1/50-ых долей секунды50Задержка при выполнении команды +++S36Возможные опции при невозможности устранить ошибки связи:0 - Разъединить1 - Установить прямое соединение3 - Установить нормальное соединение4 - Установить MNP-соединения при возможности, иначе разъединить5 - Установить MNP-соединение при возможности, иначе установить прямое соединение.7 - Установить MNP-соединение при возможности, иначе установить нормальное соединение7Обработка сбоев установления связиS371 = 300 bps5 = 1200 bps6 = 2400 bps7 = 1200/75 bps (протокол v.23)8 = 4800 bps9 = 9600 bps10 = 12000 bps11 = 14400 bps12 = 7200 bps0Начальная скорость (установление связи)
У многих модемов существуют десятки, даже сотни S-регистров, но стандартными являются только первые десять. Их значения изменяются командой ATSn=N, а проверяются командой ATSn? (например, команда ATS10S1? укажет модему не вешать трубку в в течении семи секунд без ответа другого модема и вернет последнее зарегистрированное число звонков.)