oldi

Разгони свой модем

Алексей Кошелев

Покупка и установка

Подготовка к эксперименту

Полный вперед!

От практики к анализу

Заключение, или Не забудьте сохранить сделанные изменения

 

Для большинства домашних пользователей Интернет связан с модемом. Несмотря на то что различные компании-провайдеры пытаются дотянуть свои провода до жилых домов, пока еще проводной или радиовыход в Интернет — либо роскошь, либо редкий случай. Телефон же есть у подавляющего большинства, так что модем является очевидным решением для выхода в Сеть. Целью этой статьи является выяснение вопроса: всё ли мы используем из того, что предоставляет модем, и как сделать модемную связь быстрее?

Начнем, как обычно, издалека. Прежде чем что-то настраивать, это надо купить. Все дальнейшее изложение будет основываться на модеме USR Courier V.Everything. Почему именно на нем? Ответ весьма банален. На сегодняшний день это один из самых распространенных у нас модемов, причем обладающий лучшим соотношением «цена/качество». Конечно, есть другие модемы фирмы USR, есть другие фирмы, но есть и беспристрастная статистика, которая не раз была представлена в разных журналах и в Интернете. Это уникальный по своим характеристикам модем, отлично работающий на линиях почти любого качества, допускающий круглосуточную работу, совместимый со всеми операционными системами и имеющий ряд других свойств, которые разберем ниже. Но даже эти модемы имеют две модификации: внутренний и внешний. Внутренний модем может хуже работать из-за наводок от платы и устройств, хотя определенной статистики, подтверждающей эту тенденцию, нет. Это, несомненно, в большой степени зависит от материнской платы и используемых плат. В любом случае внешний модем оказывается более гибким. Его, в конце концов, можно в случае необходимости быстро отключить физически или отсоединить от компьютера.

Покупка и установка

Итак, предположим, что вы решились и приобрели внешний Courier. Это не дешевое (порядка 170 долл.), но очень выгодное приобретение. Для его установки нужно подключить питание, соединить модем с последовательным портом компьютера и подключить телефонный провод. Первое и второе очевидно, а вот на последнем, то есть на подключении телефонного провода, нужно остановиться поподробнее. На модеме на задней панели два телефонных разъема (по-научному — RJ-11). В описании сказано, что в первый нужно подключить провод телефонной линии, а во второй — телефон, но не объяснено почему. Ответ прост. Телефонная линия представляет собой электрическую цепь (более точно в радиотехнике это называется двухпроводная линия). Поэтому если между АТС и модемом есть еще и телефон, то он является, даже в выключенном состоянии, неким устройством, подключенным к линии. Это создает дополнительный шум, что не улучшает работу. Наиболее критичным для связи является, во-первых, снятие трубки на таком телефоне, а во-вторых, наличие у этого телефона определителя номера. Если же телефон включен через модем, то при наборе номера на модеме выход на телефон автоматически блокируется, убирая тем самым возможные лишние помехи. Таким образом, совет можно окончательно сформулировать так: модем должен быть первым устройством, подключенным к телефонному проводу, входящему в вашу квартиру. Все остальные телефоны должны быть подключены после модема. Еще один момент — розетка. Если у вас старый дом и телефон проведен давно, то вероятнее всего и телефонная розетка тоже старая. Откройте ее и рассмотрите. В ней вы можете обнаружить конденсаторы. Я, честно говоря, с трудом понимаю их глубинный смысл, но если их убрать, то будет только лучше — как для качества разговора, так и модема. Короче говоря, их нужно убрать или купить новую розетку.

После того как все соединено, модем нужно включить и загрузить компьютер. Windows при запуске опознает модем (если он включен, конечно) и предложит установить драйвер. Это стандартно. Далее, для работы с Сетью у вас должны быть установлены DialUp Networking и DialUp Scripting Tool, а для настройки модема должен быть HyperTerminal. Предположим, что вы все сделали для подключения к Сети, то есть выполнили Internet connection Wizard, и указали правильно все параметры. Тогда в окне DialUp Networking кроме значка Make New Connection (который также можно использовать для создания модемного подключения) появляется новый значок, олицетворяющий только что созданное соединение. Теперь для соединения вам нужно просто выполнить connect, ввести имя и пароль, после чего модем начнет звонить и устанавливать связь. Это стандартное описание из книги типа Getting started. При этом предполагается, что все проходит идеально, то есть не только нет ошибок в параметрах, но и линия хорошая, и провайдер качественный, и т.д.

На самом деле все, как правило, гораздо печальнее: связь есть и она держится (ведь мы имеем дело с Courier!), но не быстрая. Случается даже, что она разрывается. А иногда наоборот: связь отличная, 33 600, но соседи говорят, что у них все 42 666. В чем причина?

Давайте разбираться. Начнем с драйвера. Что значит установить драйвер модема? Это значит (для системы) скопировать с дискеты .inf-файл, в котором будут описаны команды модема для различных ситуаций, то есть что делать при звонке, перед звонком, после звонка и т.д. Это не какой-то птичий язык, а вполне понятные команды, которые мы будем описывать ниже. Если же вы осуществляете соединение с провайдером, выполняется некоторая вполне определенная последовательность команд модема. Некоторые вещи можно изменить. Для этого нужно в DialUp Netwroking на любом соединении (настройки модема идентичны для всех соединений, что неудобно) выбрать свойства, а в панели свойств под названием модема нажать кнопку Configure. Это уже будет конфигурация модема. Параметры связи устанавливаются в панели Connection. Там также есть кнопка Advanced — это еще некоторые дополнительные настройки. Если их все пересчитать, то окажется, что из Windows можно поправить не более 20 параметров, а их у Courier (да и у любого другого модема) порядка сотни. Однако в дополнительных параметрах есть поле Extra Settings, куда можно вписать все что угодно. Давайте посмотрим, как этой возможностью можно воспользоваться. Для этого придется разобраться, собственно говоря, почти со всем нижеследующим.

В начало В начало

Подготовка к эксперименту

Модем (в нашем случае Courier, так как некоторые вещи для него специфичны) является вполне самостоятельным устройством. Он имеет процессор и память, а также средства общения с миром, причем как с компьютером, так и с телефонной линией. Более того, память есть постоянная, а есть перезаписываемая. У модема имеется свой язык, в котором более 100 команд и их вариаций, а также регистры, то есть ячейки памяти, в которых хранится служебная информация. Всем этим можно пользоваться, если у вас есть программа Terminal. В Windows это HyperTerminal. Она предназначена для общения с модемом. Давайте ее запустим, так как в ней можно будет испробовать все описанные ниже команды. Описывать будем не полный набор, а только то, что нам реально понадобится для настройки и разгона модема. Но вначале поговорим о том, откуда этот набор команд берется.

В памяти модема находится программа, или, говоря техническом языком, код прошивки, или просто прошивка, которая управляет работой модема. В этой самой прошивке и зашит набор команд и регистров. Более того, это перезаписываемая память типа flash, то есть она не уничтожается при отключении питания, но ее содержимое может быть изменено. Таким образом, в зависимости от наших потребностей мы можем использовать разные прошивки, лишь бы они были. Выбор невелик, но все же это не только стандартная прошивка от USR. Начнем с того, что многие модемы Courier продаются со старой фирменной прошивкой, которая поддерживает скорости только до 33 600. Сейчас есть более свежие фирменные прошивки, которые поддерживают скорости до 57 333. Но, самое главное, существуют прошивки, сделанные российскими программистами, которые постарались учесть наше телефонное «бездорожье». Одна из наиболее популярных — прошивка Игоря Дягилева. (Найти прошивки и вообще всё о модемах USR можно на русскоязычном сайте http://www.usrsupport.ru.) Чем различаются прошивки? Естественно, качеством и набором пользовательских команд. Однако если качество почти везде одинаково хорошее, то вот наборы команд могут быть разными. Российские прошивки хороши тем, что они дают доступ к большему количеству функций, которые в фирменной прошивке скрыты. К сожалению, это результат не только того, что мы умные и хотим все знать. Основная причина  — качество наших телефонных линий и АТС. У них, на Западе, таких проблем просто нет. Например, у меня один дешевый модем никогда не мог опознать сигнал «Занято» и честно пытался соединиться. Но даже недешевый Sportser, и тот иногда «Занято» пытался распознать как сигнал carrier. Поэтому если вы понимаете, что линия плохая и хотите большего контроля над системой, то вам нужна российская прошивка. Далее я буду говорить уже конкретно о том, что можно сделать с помощью настроек модема, и опираться буду на прошивку Дягилева, отмечая, где нужно, что какая-то функция специфична именно для нее и не имеет аналогов в фирменной прошивке.

Для начала немного технической информации. Когда один модем звонит другому, то при снятии трубки они начинают договариваться, что по-английски называется negotiation. Они обмениваются сигналами для определения наиболее быстрого из возможных протоколов. Протоколы бывают следующие (наиболее распространенные):

  • V.90 — протокол, обеспечивающий скорости до 57 333;
  • X2 — протокол, обеспечивающий скорости до 57 333 на прием и скорости из диапазона V.34 для передачи;
  • V.34 — протокол, обеспечивающий скорости от 4800 до 33 600 (использует TCM, trellis code modulation);
  • V.FC — протокол, обеспечивающий скорости от 14 400 до 28 800 (использует TCM);
  • V.32 — протокол, обеспечивающий скорости 14 400 и 9600 (использует TCM или QAM, quadrature amplitude modulation);
  • V.22 — протокол, обеспечивающий скорость 2400 (модуляция типа QAM);
  • V.terbo — протокол, обеспечивающий скорости от 4800 до 21 600. На этом протоколе могут соединяться только два модема Courier (использует обе модуляции);
  • HST — протокол, обеспечивающий скорости от 7200 до 16 800 (использует обе модуляции, однонаправленный).

Есть и другие протоколы, но они работают с еще меньшими скоростями.

Каждый из этих протоколов сопровождается при работе модема протоколом для контроля ошибок. Из вышеперечисленных только HST содержит внутри себя контроль ошибок. Остальные же протоколы работают совместно с V.42 или MNP, которые как раз и корректируют ошибки. Конечно, не все можно исправить, но многое удается.

Итак, при снятии трубки модемы пытаются установить самый быстрый протокол и наибольшую скорость. Ясно, что чем больше скорость, тем качественнее должна быть линия. Что же касается протоколов V.90 и X2, то с ними еще сложнее. Чтобы они работали, нужно, во-первых, чтобы с одного из концов был серверный модем, который работает в цифровом режиме, во-вторых, с другого конца был модем, поддерживающий V.90 или X2, а в-третьих, поскольку провода у нас медные, а информация не цифровая, должен быть аналого-цифровой преобразователь, но только один. Если их три, пять или более на пути сигнала, то связь на таком протоколе не устанавливается. Наиболее часто используется протокол V.34. Реже бывает, что на плохих линиях модемы соединяются по протоколу V.FC. В совсем безнадежных случаях нужен HST или V.22. После того как связь установлена, модемы будут работать на этом протоколе. В каждом протоколе несколько скоростей, и связь устанавливается на максимально возможной из них. Нужно иметь в виду, что это значение битовой скорости — количество бит, передающихся за секунду. Однако есть еще понятие символьной скорости — количество символов или байт, передающихся за секунду. Чем больше символьная скорость, тем меньше места остается для контрольной информации. Эти понятия не нужно путать, они понадобятся нам в дальнейшем. При работе модема может изменяться как символьная скорость, так и битовая, но не может измениться протокол. Поэтому если связь стала хуже, чем допускает данный протокол, связь обрывается.

В начало В начало

Полный вперед!

Итак, вооружившись знаниями о протоколах и о контроле ошибок, пытаемся решить следующую задачу: имеются модем и телефон провайдера и необходимо сделать наиболее быстрое соединение. Сразу первая оговорка. Как бы вы ни старались, Courier всегда будет делать не столько быстрое, сколько надежное соединение, то есть обеспечивать непрерывную работу, хоть на 2400. Теперь забудем о красивых окнах и запустим какой-нибудь терминал. В нем нужно указать, к какому порту подключен модем, и включить программное эхо. Последнее означает, что нужно включить отображение набираемых символов. Просто когда вы работаете с модемом в терминале, то, нажимая кнопку на клавиатуре, вы передаете символ программе терминала, а она передает ее модему. В модеме есть команда ATEn: если n равно 1, то модем принимает сигнал и возвращает символ, который программа терминала неминуемо отобразит на экране; если n равно 0, то символ не возвращается. Устанавливая же программное эхо, вы просите саму программу терминала отображать ваш ввод. Конечно, если включить эхо везде, то символы будут дублироваться, но мне кажется, что лучше потом одно из них выключить, чем мучиться вопросом, почему символов нет вообще. Еще пара замечаний: все команды начинаются на AT и нет различия регистра букв.

Итак, мы в терминальном режиме. Первым делом дадим команду ATZ, которая перезагрузит модем так, как будто его выключили и включили. В ответ модем ответит: OK. Вообще, ответов на команды два: OK или ERROR. Теперь перед нами то состояние модема, в котором он пребывает сразу после включения, без каких-либо дополнительных действий. Заметим, что не нужно слишком уж бояться что-нибудь изменить. Даже если вы что-то серьезно подпортили, то всегда есть команда AT&F, которая загружает заводские установки из неперезаписываемой памяти. Однако предупреждаем сразу, даже не объяснив, как это делать: не нужно изменять значения регистров, если о них ясно сказано, что они служебные, и вы не уверены в том, что делаете. Непоправимого ничего не произойдет, но может получиться так, что обычными средствами модем запустить уже будет невозможно. Чтобы не возвращаться к этому вопросу в дальнейшем, скажем сразу, что регистры изменяются командой ATSn=m, где n — это номер регистра, а m — присваиваемое значение. Все стандартные регистры имеют 8 бит. В прошивке Дягилева есть регистры по 16 бит. Все нестандартные регистры имеют имя +s, то есть дается команда типа AT+S12=4. Также можно установить некий бит в регистре, дав команду ATSn.b=m, где b — номер бита от 0 до 7.

Перед тем как что-то менять, полезно посмотреть, что уже есть. Для этого существуют информационные команды ATIn. Ниже приведен вывод команды ATI3, дающей название модема (в нашем случае вы должны увидеть что это Courier, иначе что-то не так):

ati3  
USRobotics Courier V.Everything  
   
OK  

Команда ATI4 показывает настройки модема, которые он использует.

ati4  
USRobotics Courier V.Everything Settings...  
   
   B0  C1  E1  F1  M3  Q0  V1  X7  
   BAUD=115200 PARITY=N  WORDLEN=8  
   DIAL=PULSE  ON HOOK   TIMER  
   
   &A3  &B1  &C1  &D2  &G0  &H1  &I0  &K1  &L0  &M4  &N0  
   &P0  &R2  &S0  &T5  &U0  &X0  &Y1  %N6  
   
   S00=000  S01=000  S02=043  S03=013  S04=010  S05=008  S06=002  S07=060  
   S08=002  S09=006  S10=014  S11=070  S12=050  S13=000  S14=000  S15=000  
   S16=000  S17=000  S18=000  S19=000  S20=000  S21=010  S22=017  S23=019  
   S24=150  S25=005  S26=001  S27=000  S28=008  S29=020  S30=000  S31=000  
   S32=020  S33=000  S34=000  S35=000  S36=000  S37=000  S38=000  S39=008  
   S40=000  S41=000  S42=126  S43=200  S44=015  S45=000  S46=000  S47=000  
   S48=000  S49=000  S50=000  S51=000  S52=000  S53=000  S54=064  S55=000  
   S56=000  S57=000  S58=000  S59=000  S60=000  S61=000  S62=000  S63=000  
   S64=000  S65=000  S66=000  S67=000  S68=000  S69=000  
   
   LAST DIALED #:  
   
OK  

Давайте попробуем разобраться в приведенном выше тексте. Обозначения типа b0, c1, x7 означают, что по умолчанию используется режим, заданный командой atb0, atc1, atx7 и т.д. Аналогично — для обозначений со значками & и %. Все, что начинается с S, показывает значение соответствующего регистра. Команды без & не имеют отношения к скорости и качеству соединения, поэтому их рассмотрение опустим. Из команд с & нас интересуют &K, &M, &U, &N. Команда &K задает способ компрессии данных, а команда &M — метод обработки ошибок. Приведенные выше значения являются, на мой взгляд, оптимальными и дают модему наибольшую свободу, то есть модем сам в большинстве случаев решает, какой метод оптимален для данной ситуации. А вот команды &U и &N более хитрые: &U задает нижний предел скорости, а &N — верхний. Значения 0 говорят о том, что выбирается оптимальное значение, но здесь есть некоторая тонкость. Если &U равно 0, а &N не равно 0, то соединение производится только на скорости, которой соответствует значение &N, а не от минимальной до &N, как могло бы показаться. Если значение &N окажется меньше, чем &U, то результат непредсказуем. Таким образом, можно пытаться использовать эти команды для того, чтобы принудительно заставить модем использовать более низкие или более высокие скорости, например запретить соединяться, если скорость меньше 28 000, или, наоборот, для улучшения связи запретить превышение установленной скорости (то есть сознательно занизить верхний предел).

Теперь посмотрим на значения регистров. Их много, но опять же нас интересует лишь несколько:

  • регистр 6 — время ожидания сигнала в линии перед набором номера (в секундах). Это значение должно быть мало, но не 0, иначе модем просто будет набирать номер даже при отсутствии сигнала;
  • регистр 7 — время, в течение которого ожидается появление сигнала carrier (в секундах). Вообще, carrier — это, на техническом языке, несущая, то есть базовый сигнал. Именно его появление на некоторой частоте означает возможность дальнейшего общения модемов. В нашем примере мы даем модему минуту, чтобы договориться с другим модемом о появлении такого сигнала;
  • регистр 9 — время, в течение которого сигнал carrier должен быть распознан именно как carrier (в десятых долях секунды). Конечно, можно уменьшить значение этого регистра, и тогда почти любой сигнал будет для модема, что называется, родным, и формально он будет находить связь, но не сможет ее удержать;
  • регистр 10 — время отсутствия сигнала carrier, после которого связь будет считаться разорванной. Если поставить 0, то связь вообще не будет разрываться (как понимаем, формально).

Теперь, если эти регистры установлены правильно (то есть разумные, а не их экстремально малые или большие значения), можно начать решение поставленной задачи. Нам необходимо самое быстрое соединение. Пока мы ничего не сделали для его ускорения, а лишь создали нормальные условия, и это уже немало.

Чтобы понять, все ли в порядке, нужно позвонить, куда мы хотим, то есть к провайдеру. Ясно, что выхода в Интернет мы не получим, но наш модем пообщается с модемом провайдера, а мы получим информацию об этом общении. Для звонка набираем ATDP и номер телефона, например так:

atdpxxxxxxx (номер не приводим, чтобы не расстраивать провайдера)

CONNECT 26400/ARQ/V34/LAPM/V42BIS

После этого вариантов может быть несколько (наш показан строчкой выше).

Первый и самый благоприятный: модем соединился, причем скорость больше 33 600 (естественно, мы подразумеваем, что прошивка у нас допускает V.90 или X2). В этом случае нам не о чем беспокоиться. На плохих линиях таких скоростей просто не будет. Конечно, 57 333 вряд ли следует ожидать, но до 48 000 дойти можно. Может быть, что связь будет стабильно устанавливаться на 33 600. Тогда убедитесь, что протоколы V.90 и X2 не запрещены в регистре 58. Установка 0-го бита в 1 запрещает X2, а 5-го бита — V.90. Если протоколы разрешены, то вспомните о трех условиях установления связи на этих протоколах. Если у провайдера модемы тоже аналоговые, то, как мы помним, 33 600 — это максимум. И если у вас скорость больше 28 800, то вы просто обладатель отличной телефонной линии.

Второй вариант более прозаичный, но тоже неплохой. Связь есть, но скорость от раза к разу изменяется, причем редко достигает 28 800. Тут имеет смысл посмотреть на характеристики соединения. Они отображаются командами ATI6, ATI11 и ATY16 (последняя только в прошивке Дягилева). Вот возможный вывод команды ATI6:

ati6  
USRobotics Courier V.Everything Link Diagnostics...  
   
Chars sent                   17      Chars Received              383  
Chars lost                    0  
Octets sent                  17      Octets Received             356  
Blocks sent                  11      Blocks Received              12  
Blocks resent                 0  
   
Retrains Requested            0      Retrains Granted              1  
Line Reversals                0      Blers                         1  
Link Timeouts                 0      Link Naks                     0  
   
Data Compression       V42BIS 2048/32  
Equalization           Long  
Fallback               Enabled  
Protocol               LAPM 244/15  
Speed                  21600/14400  
Last Call              00:00:36  
   
Disconnect Reason is DISC Received  
OK  

Здесь необходимо обратить внимание на поле Blers. Это так называемые блоковые ошибки, которые, правда, удалось исправить. Конечно лучше, если их нет, однако и так ничего. Поля Retrains показывают, сколько раз модем (наш или удаленный) пытался изменить скорость, чтобы не потерять связь. Также интересно поле Speed. Здесь показана скорость на передачу и на прием. Скажем прямо, результат неважный, но такова жизнь.

Теперь посмотрим на вывод команды ati11 (это более полная и технически насыщенная статистика):

ati11  
USRobotics Courier V.Everything Link Diagnostics...  
   
Modulation               V.34+  
Carrier Freq    ( Hz )   1800/1800  
Symbol Rate              2400/2400  
Trellis Code             64S-4D/16S-4D  
Nonlinear Encoding       ON/OFF  
Precoding                OFF/OFF  
Shaping                  ON/OFF  
Preemphasis Index        1/1  
Recv/Xmit Level (-dBm)   22.0/11.9  
SNR             ( dB )   36.8  
Near Echo Loss  ( dB )   16.5  
Far Echo Loss   ( dB )   34.1  
Roundtrip Delay (msec)   3  
Timing Offset   ( ppm)   -960  
Carrier Offset  ( ppm)   229  
RX Upshifts              0  
RX Downshifts            0  
TX Speedshifts           0  
V.90 Status              00EF  
   
OK  

Здесь показаны наиболее важные параметры: протокол, символьная скорость, уровень входного и выходного сигнала, SNR (отношение «сигнал/шум»), потери ближнего и дальнего эха.

Команда aty16 дает амплитудно-частотную характеристику сигнала. Ее примерный вид таков:

aty16  
 -20  . X X X X X X X x x x . . . . . . . . . . . . . .   1  
 -22  . X X X X X X X X X X X X X x x . . . . . . . . .   3  
 -24  X X X X X X X X X X X X X X X X X X X x x x . . .   5  
 -26  X X X X X X X X X X X X X X X X X X X X X X X . .   7  
 -28  X X X X X X X X X X X X X X X X X X X X X X X X .   9  
 -30  X X X X X X X X X X X X X X X X X X X X X X X X x  11  
Level --------------------Frequency-------------------- Attn  
      0 0 0 0 0 0 1 1 1 1 1 1 1 2 2 2 2 2 2 3 3 3 3 3 3  
      1 3 4 6 7 9 0 2 3 5 6 8 9 1 2 4 5 7 8 0 1 3 4 6 7  
      5 0 5 0 5 0 5 0 5 0 5 0 5 0 5 0 5 0 5 0 5 0 5 0 5  
      0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0  
   
OK  
В начало В начало

От практики к анализу

Теперь давайте проанализируем получаемые данные, но не обязательно эти конкретные, а вообще: что должно получиться, почему получается иначе и как с этим бороться. Можно увидеть, что соединение было на высокой скорости, однако в итоговом отчете скорость на отправку всего 21 600, а на прием вообще только 14 400. Значит, изначально модем переоценил линию. Это часто случается. Беда не в модеме, а в наших линиях. Данная проблема у обладателей Courier известна как синдром 21 600, который может появиться в двух случаях. Прежде всего этот синдром возникает на хороших линиях. Модем пытается соединиться на большой битовой и символьной скорости (3429). В силу наличия шума эта связь не устанавливается. Тогда модем пытается установить соединение на более низкой символьной скорости, попутно снижая битовую. В результате происходит соединение на символьной скорости 2400, а для нее максимальная битовая скорость 21 600. Как этого избежать? Нужно запретить модему использовать высшие символьные скорости. Для этого нужно установить соответствующие значения в регистр 54. Установка 5-го бита запрещает символьную скорость 3429, а 4-го бита — 3200. Если это сделать, то модем не будет пытаться соединиться на этих символьных скоростях и, возможно, будет более стабильно соединяться на скоростях около 24 000 или 26 400, а может, и 28 800. К сожалению, на этом кончаются все известные возможности стандартной прошивки. Этот же синдром возникает и на плохих линиях и связан с тем, что кроме обычных помех очень высок уровень дальнего эха. По-простому — это отраженный сигнал. В прошивке есть алгоритмы эхоподавления, но они не всегда эффективны. В этом случае нужно использовать специфические возможности прошивки Дягилева. Первая — это установка уровня выходного сигнала в 39-м регистре: 1 — максимум, 29 — минимум. Вторая — усиление или ослабление входного сигнала регистром +s18. Всего может быть три значения: 1 — понижение на 6 дБ, 2 — нормальный уровень, 3 — усиление на 6 дБ. Ясно, что чем меньше уровень выходного сигнала, тем меньше эхо. Однако чем сильнее сигнал на входе, тем больше можно получить, но сюда же придет и эхо. Сказать однозначно, что нужно поставить в одном регистре 8, а в другом 2, нельзя, но при этих цифрах модем довольно устойчиво работает на наших линиях. Это тонкая игра, причем все зависит от конкретной линии и оконечных устройств. Предлагаем пользователю перебрать варианты этих значений. Комбинаций не так и много. Отметим лишь, что для чистоты эксперимента нужно поставить 1 в первом бите 56-го регистра. Это запретит модему изменять уровень сигнала, так как вообще модемы типа Courier слышат хорошо и не любят, когда их оглушают. Далее нужно собрать статистику, то есть сделать несколько звонков при наиболее понравившихся вам параметрах. Это исключит случайные факторы и даст более-менее объективный результат. В результате эксперимента можно добиться минимальных значений потерь в результате эха, максимального отношения «сигнал/шум», ну и как следствие, минимума блоковых ошибок.

Возможен еще один вариант: модемы не соединяются. Здесь можно предложить три рецепта. Поставьте скорость 2400 при помощи команды &n3, разрешите только протокол HST, что можно сделать командой +ssh (в прошивке Дягилева), или отремонтируйте свою АТС. К сожалению, такие случаи встречаются, и это нужно предвидеть.

Что еще можно улучшить в модеме, особенно если у вас не фирменная прошивка? Можно ускорить набор номера, задав параметры работы генератора импульсов, можно настроить определитель номера, а также просто отрегулировать заложенные параметры гудков, чтобы всегда правильно распознавался сигнал линии: занято или свободно.

В начало В начало

Заключение, или Не забудьте сохранить сделанные изменения

А теперь расскажем, как заставить Windows работать со всем этим многообразием. Для этого настройте все в терминале, как вам нравится, запишите все параметры в память модема командой at&w, а в поле Extra settings в дополнительных настройках соединения модема в Windows поставьте просто z. Тогда, что бы Windows ни делал и как бы ни настраивал модем, последней командой будет его перезагрузка и активация ваших любимых параметров. Вот так!

Собственно, это все, что нужно знать о том, как разогнать модем. Попробуйте — возможно, вы пока используете свой модем не на полную катушку. Не следует мириться с качеством линий и АТС. Кое-что можно исправить, не выходя из дома.

КомпьютерПресс 8'2001