Страница 239 из 256
Если качество связи с АТС низкое, то попробуйте поэкспериментировать со значениями регистров S9 и S10 Вашего модема. Этими регистрами задаются временные параметры захвата несущей. В каждом из этих регистров может быть записано число от 0 до 255, которое показывает время, измеряемое в десятых долях секунды. Если несущая на линии пропадает на время большее, чем значение S10 (например, из-за помех или плохого контакта), то связь разрывается. Если несущая появилась на линии, то прежде, чем модем её захватит, должно пройти время, определяемое регистром S9. По умолчанию значения этих регистров составляют: S9=6, S10=7. Чтобы вообще запретить разрыв связи, из-за потери несущей, можно записать в регистр S10 значение 255 (команда: AT S10=255).
Многие так и делают, но при этом возникает один неприятный момент: модем будет "зависать" на линии, пока его не сбросишь вручную (например, выключением питания). Мы советуем следующие значения для этих регистров: S9=30, S10=80 или даже S9=40, S10=100. С этими значениями, полученными для России экспериментальным путём, модем будет хорошо держаться на линии, но в то же время не будет "зависать" в случае, если удалённый модем на самом деле уже разорвал связь. Команда для установки этих значений: AT S9=40 S10=100.
Кроме того, если Ваш модем — USRobotics Sportster или Courier, можно попробовать искусственно снизить скорость соединения командами &N и &U. Первая устанавливает максимальную скорость соединения, вторая — минимальную.
Например, команда для ограничения скорости между 19200 и 26400 выглядит так: AT &U10 &N13.
Вышеуказанные команды можно прописать в строке инициализации модема в Панели управления Windows: Модемы — Свойства — Установка связи — Дополнительно. Туда же следует поместить другие полезные вам команды, например, АТ МО для отключения динамика модема. Все команды обычно объединяются в одну строку, и префикс АТ пишется только один раз в её начале.
В строке инициализации префикс АТ указывать не обязательно, так как он автоматически пишется туда системой.
Основные настройки модема АТ-командами
АТ-команды записываются в строке инициализации модема в его свойствах в Панели управления. В отладочном режиме их можно вводить вручную непосредственно перед установкой соединения, если в свойствах соединения отметить галочкой опцию "Открыть окно терминала перед набором номера".
Орфографию команд применительно к каждому конкретному модему легко уточнить в руководстве (если в печатной версии о командах ничего нет, то почти всегда полное руководство прилагается на компакт-диске, и уж совсем всегда, его можно найти на сайте изготовителя или технической поддержки).
1. Связь будет устанавливаться быстрее и надёжнее, если заблокировать скорости и протоколы, на которых ваш модем всё равно не может работать из-за условий на линии. К примеру, на пути к провайдеру сигнал коммутируется больше одного раза (АТС не связана цифровым каналом с провайдером), поэтому протокол v.90 (и скорости выше 33,6 Кбит/с) недоступен. Большинство современных модемов настраивается через команду AT+MS (формат параметров для неё слегка отличается у разных модемов; почти всегда предусмотрены отдельные команды, которыми можно лимитировать скорости), посредством которой можно ограничить как верхний, так и нижний пороги соединения. Нижнее значение тоже полезно ограничить, чтобы случайная ошибка на этапе соединения не привела к пустой трате времени на скорости 9600 бит/с и ниже.
2. Категорически рекомендую поиграть с мощностью выходного сигнала! Высок шанс, что, перейдя на оптимальную мощность, вам удастся на ступеньку-другую повысить скорость соединения. Значение по умолчанию — в пределах -9-15 дБм (большее число соответствует ослаблению сигнала). Причём совсем не обязательно, что мощность придётся повышать, поэкспериментируйте в обе стороны. Стандартно мощность (без знака) хранится в регистре S91, но бывают и варианты, например, у модемов ZyXel Omni в S17 (у этих модемов её также можно регулировать командой АТ*Р<значение уровня>). Встречаются модемы, у которых мощность фиксирована, либо перед настройкой требуется сменить код страны (например, на Japan). При соединении с цифровыми модемами мощность сигнала может автоматически сбрасываться до какого-то фиксированного значения (10–17 дБм), и если оно вас не устраивает, поищите команду, запрещающую модему изменять мощность сигнала (например, для ZyXel Omni — ATS92=128). Так называемый Power Drop (снижение мощности передатчика во время сеанса связи) полезно запретить в тех случаях, когда связь часто рвётся. Удалённый модем считает сигнал слишком громким (а шумы тихими), просит о снижении мощности, а через какое-то время посторонний шум в линии возрастает, и модемы друг друга уже не могут расслышать.
3. Можно заставить модем соединяться на скорости, превышающей ту, которую он определяет автоматически. Для этого в отдельных модемах с развитыми настройками предусмотрен коэффициент агрессивности (например, регистр S118 у модемов InPro IDC). Впрочем, в этом случае велик риск, что связь будет рваться.
4. Непременно включите SREJ (ATS202=128 в том же InPro IDC), если, конечно, он реализован в модеме, — это очень полезное расширение стандартного протокола LAPM. SREJ — селективный запрос на повторную передачу, позволяющий избежать повторной отправки всей порции отосланных данных в момент, когда обнаруживается искажение одного из блоков (кадров). Он организует запрос только дефектного кадра.
5. Просмотрев модемный журнал, можно выяснить, каким протоколом пользуется модем. Если окажется, что модем соединяется по протоколу MNP, можно попробовать временно заблокировать его (команда ATN4 для большинства модемов). Возможно, модем перейдёт на более экономный и эффективный LAPM.
6. Если модем много времени тратит на перетренировки и пересогласования скоростей, вы можете ограничить ему свободу (команда АТ%Е для модемов на чипах Rockwell/Conexant), хотя куда лучше избавляться от них косвенно, настраивая мощность сигнала и ограничивая доступные протоколы.
7. Иногда проблемы возникают из-за протокола v.8bis: если в ответ на призывное шипение вашего модема ответная сторона откликается короткими гудками или вешает трубку, то поищите команду для его отключения (у модемов IDC для этого предусмотрена дивная комбинация АТ+А8Е=,0).
Указание страны в настройках модема
Если новый модем после набора номера не получает сигнала от удалённого компьютера, то, возможно, в его настройках указана не та страна (регион). Откройте в Панели управления свойства модема и, если там есть список стран, выберите Россию. Если в списке Россия отсутствует, то выбирайте Финляндию. Всё должно заработать. Просто при выборе страны модем выдаёт в линию звуковые сигналы другой мощности, тональности и длительности, которые могут не понять местные АТС.
Также правильный выбор страны может помочь решить проблему с распознаванием модемом сигнала "занято", так как для этого сигнала в разных странах используются несколько разные интенсивность, частота и длительность.
Страну в настройках модема можно определить, выдав в терминальной программе команду ATI7. Для модемов U.S. Robotics можно дать команду ATY14, и если модем вернёт всего одно число, соответствующее коду страны, тогда вам крупно повезло и страну можно сразу изменить с помощью команды АТС10=хх, где хх — код страны:
0 ∙ USA/ CANADA
1 ∙ Japan
2 ∙ Finland
3 ∙ Sweden
4 ∙ UK
5 ∙ Norway
6 ∙ Switzerland
7 ∙ Netherland
8 ∙ South Africa
9 ∙ Italy
10 ∙ New Zeland
11 ∙ Czech/Slovakia
12 ∙ Belgium
13 ∙ Denmark
14 ∙ Australia
15 ∙ France
16 ∙ Germany
17 ∙ International