<para>Ниже приводится описание набора команд для Hayes-совместимых модемов. Большинство модемов поддерживают этот набор команд в достаточно большой степени. Если вы потеряли руководство по эксплуатации вашего модема (или если руководства не было), этот раздел может быть оказаться весьма полезным. К примеру, я определил, как отключать динамик моего модема: команда <command>ATM0</command> -- наконец-таки тишина!</para>
<para>Инициализационная строка модема являет собой последовательность команд. Она подготавливает модем к коммуникациям, задавая ему такие параметры как: режим дозвона, ожидание, определение сигнала Занято и многие другие установки. Современные коммуникационные программы создают строки инициализации сами, на основе выбранных вами опций меню, на основе включенных вами функций, и т. д.</para>
<para>На протяжении многих лет Hayes-совместимые модемы являются промышленным стандартом. Несмотря на возросшее количество производителей модемов, большинство из них очень близки к стандарту Hayes-совместимых. Ниже приводится (частично) набор команд для Hayes- совместимых модемов. (Так называемые <quote>AT</quote>-команды). Набор команд для Hayes-совместимых модемов можно разделить на четыре группы:</para>
<listitem><para>Символ <quote>&</quote> (амперсант) с последующей заглавной буквой в сочетании с цифрой. Это расширение основного набора команд. К примеру, <command>&M1</command>. Обратите внимание на то, что команда <command>M1</command> отлична от команды <command>&M1</command>.</para></listitem>
<listitem><para>Обычно начинающиеся с символа обратного слэша (<quote>\</quote>) или знака процента (<quote>%</quote>), эти команды очень различаются на разных моделях модемов. По этой причине ниже приведены только некоторые из них.</para></listitem>
<listitem><para><command>S<replaceable>r</replaceable>=<replaceable>n</replaceable></command>, где <replaceable>r</replaceable> означает номер регистра, значение которого нужно изменить, а <replaceable>n</replaceable> -- заменяющее значение.</para>
<para><quote>Регистр</quote> -- компьютерный термин, означающий некую физическую область памяти. Количество памяти в модемах мало. Этот четвертый набор команд используется для ввода значения в определенный регистр (область в памяти). Регистр хранит определенную <quote>переменную</quote> (алфавитно-цифровые данные), которые используются модемом и коммуникационным программным обеспечением. К примеру, команда <command>S7=60</command> указывает компьютеру <quote>Установить значение регистра #7 равным 60</quote>.</para></listitem>
<note><para>Кроме того, большинство команд определяются буквенно-цифровой комбинацией (<command>L0</command>, <command>L1</command> и так далее), использование нуля является необязательным. К примеру, команда <command>L0</command> аналогична команде <command>L</command>. Имейте это ввиду при ознакомлении с таблицей, приведенной ниже!</para></note>
<listitem><para>задерживает выполнение программы на одну секунду. Допускается использование нескольких команд <command>,</command> в одном ряду. Например, команда <command>,,,,</command> создаст задержку в 4 секунды. (Время паузы задается значением регистра <varname>S8</varname>.</para></listitem>
<listitem><para>Отправляет модему символ-прерывание Возврат каретки (CR). Этот управляющий код большая часть коммуникационных программ понимает как <quote>Carriage Return</quote></para></listitem></varlistentry>
<entry><command>E0</command> или <command>E</command></entry>
<entry>Без эхо</entry>
<entry>В компьютер не поступает эхо-команд</entry>
</row>
<row>
<entry><command>E1</command></entry>
<entry>Эхо</entry>
<entry>В компьютер поступает эхо-команда (отображаются набранные символы)</entry>
</row>
<row>
<entry><command>H0</command></entry>
<entry>Состояние линии</entry>
<entry>Линия используется - повесить трубку</entry>
</row>
<row>
<entry><command>H1</command></entry>
<entry>Состояние линии</entry>
<entry>Линия свободна - поднять трубку</entry>
</row>
<row>
<entry><command>I0</command> или <command>I</command></entry>
<entry>Запрос на сведения</entry>
<entry>Эта команда сильно зависит от модели модема. Обычно, команда <command>I0</command> возвращает число или код, тогда как более высокие номера предоставляют намного более полезные сведения.</entry>
</row>
<row>
<entry><command>L0</command> или <command>L</command></entry>
<entry>Громкость динамика модема. Эти опции отсутствуют у модемов с механической регулировкой.</entry>
<entry>Громкость динамика модема в положении Тихо или Выключено</entry>
</row>
<row>
<entry><command>L1</command></entry>
<entry></entry>
<entry>Громкость динамика модема в положении Тихо</entry>
</row>
<row>
<entry><command>L2</command></entry>
<entry></entry>
<entry>Громкость динамика модема в положении Средне</entry>
</row>
<row>
<entry><command>L3</command></entry>
<entry></entry>
<entry>Громкость динамика модема в положении Громко</entry>
</row>
<row>
<entry><command>M0</command> или <command>M</command></entry>
<entry>Динамик модема выключен</entry>
<entry>Команда <command>M3</command> также встречается, но на разных моделях интерпретируется по-разному</entry>
</row>
<row>
<entry><command>M1</command></entry>
<entry></entry>
<entry>Динамик включен, пока не определен удаленный носитель (т. е., пока не будет услышан другой модем)</entry>
</row>
<row>
<entry><command>M2</command></entry>
<entry></entry>
<entry>Динамик модема всегда включен (после соединения слышны звуки передачи данных)</entry>
</row>
<row>
<entry><command>N0</command> или <command>N</command></entry>
<entry>Скорость при приветствии</entry>
<entry>Приветствовать только при скорости, указанной в регистре <link linkend="hayes-s37"><varname>S37</varname></link></entry>
</row>
<row>
<entry><command>N1</command></entry>
<entry></entry>
<entry>Приветствовать при наибольшей скорости, по значению превышающей значение регистра <link linkend="hayes-s37"><varname>S37</varname></link></entry>
</row>
<row>
<entry><command>O0</command> или <command>O</command></entry>
<entry>Вернуться в режим На связи</entry>
<entry>Смотрите также <link linkend="hayes-basic-x1"><command>X1</command></link>, так как может быть включен режим определения наличия зуммера.</entry>
</row>
<row>
<entry><command>O1</command></entry>
<entry></entry>
<entry>Вернуться в режим На связи после выполнения проверки эквалайзера</entry>
</row>
<row>
<entry><command>Q0</command> или <command>Q1</command></entry>
<entry>Тихий режим</entry>
<entry>Выключено - отображаются коды ответов, пользователь видит ответы на команды (например, <computeroutput>OK</computeroutput>)</entry>
</row>
<row>
<entry><command>Q1</command></entry>
<entry>Тихий режим</entry>
<entry>Включено - коды ответов опускаются, пользователь их не видит.</entry>
<entry>Сохранить значение <replaceable>r</replaceable> в S-регистре <replaceable>n</replaceable></entry>
</row>
<row>
<entry><command>V0</command> или <command>V</command></entry>
<entry>Режим отчета</entry>
<entry>Цифровые коды ответов</entry>
</row>
<row>
<entry><command>V1</command></entry>
<entry></entry>
<entry>Коды ответов на английском языке (к примеру, <computeroutput>CONNECT</computeroutput>, <computeroutput>BUSY</computeroutput>, <computeroutput>NO CARRIER</computeroutput> и так далее)</entry>
</row>
<row>
<entry><command>X0</command> или <command>X</command></entry>
<entry>Smartmodem</entry>
<entry>Коды ответов для модемов, совместимых с Hayes Smartmodem 300</entry>
<entry>Добавляет скорость соединения к основному коду ответа (например <computeroutput>CONNECT 1200</computeroutput></entry>
</row>
<row>
<entry><command>X2</command></entry>
<entry></entry>
<entry>Добавляет определение способа набора номера (предотвращает дозвон вслепую и иногда предотвращает выполнение команды <command>AT0</command>)</entry>
</row>
<row>
<entry><command>X3</command></entry>
<entry></entry>
<entry>Добавляет определение сигнала Занято</entry>
</row>
<row>
<entry><command>X4</command></entry>
<entry></entry>
<entry>Добавляет определение сигналов Занято и Тональный набор</entry>
</row>
<row>
<entry><command>Z0</command> или <command>Z</command></entry>
<entry>Сброс</entry>
<entry>Сбросить установки модема и загрузить сохраненную схему конфигурации. Используйте команды <command>Z0</command>, <command>Z1</command>, и т. д., если вы используете несколько схем. Эквивалент команды <command>&F</command> для загрузки заводских установок на модемах без <acronym>NVRAM</acronym> (non voltaile memory)</entry>
<entry><command>&B0</command> or <command>&B</command></entry>
<entry>Параметры повтора</entry>
<entry>Выключить функцию автоповтора</entry>
</row>
<row>
<entry><command>&B1</command></entry>
<entry>Параметры повтора</entry>
<entry>Включить функцию автоповтора</entry>
</row>
<row>
<entry><command>&B2</command></entry>
<entry>Параметры повтора</entry>
<entry>Включить функцию автоповтора, но разъединиться, если состояние линии не улучшилось за период времени, заданный значением регистра <link linkend="hayes-s7"><varname>S7</varname></link></entry>
<entry><command>&C0</command> или <command>&C1</command></entry>
<entry>Определение наличия связи</entry>
<entry>Сигнал всегда включен</entry>
</row>
<row>
<entry><command>&C1</command></entry>
<entry>Определение наличия связи</entry>
<entry>Соответствует удаленному носителю (как правило, оставляйте без изменений)</entry>
</row>
<row>
<entry><command>&D0</command> или <command>&D</command></entry>
<entry><acronym>DTR</acronym> -- Готовность к передаче данных</entry>
<entry>Сигнал игнорируется (Зависит от модема, сведения вы можете найти в руководстве по эксплуатации!)</entry>
</row>
<row>
<entry><command>&D1</command></entry>
<entry><acronym>DTR</acronym> -- Готовность к передаче данных</entry>
<entry>Если <acronym>DTR</acronym> переключается из состояния Включено в Выключено, модем переходит в командный режим (только некоторые модели)</entry>
</row>
<row>
<entry><command>&D2</command></entry>
<entry><acronym>DTR</acronym> -- Готовность к передаче данных</entry>
<entry>Некоторые модемы при изменении состояния <acronym>DTR</acronym> вешают трубку (Как правило, является установкой по умолчанию)</entry>
</row>
<row>
<entry><command>&D3</command></entry>
<entry><acronym>DTR</acronym> -- Готовность к передаче данных</entry>
<entry>Повесить трубку, сбросить установки модема в начальное состояние и перейти в командный режим при сигнале <acronym>DTR</acronym></entry>
</row>
<row>
<entry><command>&F0</command> или <command>&F</command></entry>
<entry>Заводские установки</entry>
<entry><para>Установки по умолчанию для Generic Hayes-совместимых модемов. </para><para>Как правило, имеет смысл использовать эту команду в строке инициализации модема, так как команды <command>&F1</command>-<command>&F3</command> могут по-разному быть поняты различными модемами, тем самым вызывая проблемы при соединении. (Никогда нельзя точно знать какие установки изменяет команда <command>&F2</command>.</para><para>С другой стороны, бывает целесообразным использовать приведенные ниже опции; большинство проблем можно решить, заменив сложную строку инициализации простой командой <command>&F2</command> или подобной. Тем не менее, если вы создаете строку инциализации, лучше начать ее простой командой <command>&F</command>, а не использовать <quote>измененные</quote> типы установок по умолчанию.</para></entry>
</row>
<row>
<entry><command>&F1</command></entry>
<entry>Заводские установки</entry>
<entry>Заводские установки, прошитые в IBM <acronym>PC</acronym>-совместимых модемах</entry>
</row>
<row>
<entry><command>&F2</command></entry>
<entry>Заводские установки</entry>
<entry>Заводские установки с программным приветствием (Макинтош)</entry>
</row>
<row>
<entry><command>&F3</command></entry>
<entry>Заводские установки</entry>
<entry>Заводские установки с аппаратным приветствием (Макинтош)</entry>
</row>
<row>
<entry><command>&G0</command> or <command>&G</command></entry>
<entry>Защитные тоновые сигналы</entry>
<entry>Выключить защитные тоновые сигналы</entry>
</row>
<row>
<entry><command>&K0</command> или <command>&K</command></entry>
<entry>Локальное управление потоком</entry>
<entry>Выключить локальное управление потоком</entry>
</row>
<row>
<entry><command>&K1</command></entry>
<entry>Локальное управление потоком</entry>
<entry>Включить локальное аппаратное управление потоком RTS/CTS</entry>
</row>
<row>
<entry><command>&K2</command></entry>
<entry>Локальное управление потоком</entry>
<entry>Включить локальное программное управление потоком XON/XOFF</entry>
</row>
<row>
<entry><command>&K3</command></entry>
<entry>Локальное управление потоком</entry>
<entry>Включить локальное аппаратное управление потоком RTS/CTS</entry>
</row>
<row>
<entry><command>&K4</command></entry>
<entry>Локальное управление потоком</entry>
<entry>Включить локальное программное управление потоком XON/XOFF</entry>
</row>
<row>
<entry><command>&L0</command> или <command>&L</command></entry>
<entry>Режим дозвона</entry>
<entry>Выбрать режим дозвона</entry>
</row>
<row>
<entry><command>&M0</command> или <command>&M</command></entry>
<entry>Режим контроля ошибок</entry>
<entry>Выбрать асинхронный не-<acronym>EC</acronym> режим (то же самое, что и команда <command>&Q0</command>)</entry>
</row>
<row>
<entry><command>&P0</command> или <command>&P</command></entry>
<entry><command>&V0</command> или <command>&V1</command></entry>
<entry>Просмотреть активную конфигурацию</entry>
<entry>(и, зачастую, сохраненную) (то же, что и команда <command>ATI4</command></entry>
</row>
<row>
<entry><command>&W0</command> или <command>&W</command></entry>
<entry>Сохранить схему</entry>
<entry>В <acronym>NVRAM</acronym> (команды <command>&W0</command>, <command>&W1</command>, и т. д. для нескольких схем). Некоторые установки сохранению не подлежат. Они не выводятся в ответ на команду <command>&V</command> или же <command>ATI4</command></entry>
</row>
<row>
<entry><command>&Y0</command> или <command>&Y</command></entry>
<entry>Выбрать конфигурацию, загружаемую при включении питания</entry>
<entry>Загрузить схему 0 (по умолчанию)</entry>
</row>
<row>
<entry><command>&Y1</command></entry>
<entry>Выбрать конфигурацию, загружаемую при включении питания</entry>
<para>Прямое соединение -- это простое соединение без использования протоколов коррекции ошибок и сжатия данных. В этом случае скорости компьютер-модем и модем-модем должны быть идентичными.</para>
<para>Нормальное соединение использует управление потоком (аппаратное или программное) для буферизации отправленных и полученных данных, таким образом, модем может передавать данные на скорости, отличной от скорости передачи компьютера. К примеру, компьютер может отправлять данные на скорости 57 Кб/сс использованием сжатия, а модем ведет передачу на скорости 28.8 Кб/с. Этот режим используется большинством модемов.</para>
<para>Соединение с надежной связью подобно нормальному соединению; если по какой-либо причине не происходит сжатия данных или отключен режим коррекции ошибок, в таком случае произойдет разъединение. (В частности, такой модем проверяет все соединения на предмет надежности, в противном же случае вешает трубку.)</para>
<para>Соединение с надежной (с авторегулировкой) связью является практически тем же самым, разве что модем будет пытаться соединиться заново для установления соединения с надежной связью. Большинство модемов используют этот режим.</para>
<entry>Ответить при определенном количестве звонков. Не отвечать при значении 0</entry>
</row>
<row>
<entry><varname>S1</varname></entry>
<entry>0-255 звонков</entry>
<entry>0</entry>
<entry>Если значение регистра <varname>S0</varname> больше <returnvalue>0</returnvalue>, этот регистр предназначен для подсчета входящих звонков.</entry>
<para>У многих модемов существуют десятки, даже сотни S-регистров, но стандартными являются только первые десять. Их значения изменяются командой <command>ATS<replaceable>n</replaceable>=<replaceable>N</replaceable></command>, а проверяются командой <command>ATS<replaceable>n</replaceable>?</command> (например, команда <userinput><command>AT</command> <command>S10</command><option>=70</option> <command>S1?</command></userinput> укажет модему не вешать трубку в в течении семи секунд без ответа другого модема и вернет последнее зарегистрированное число звонков.)</para>