Для большинства домашних пользователей Интернет связан с модемом. Несмотря на то что различные компании-провайдеры пытаются дотянуть свои провода до жилых домов, пока еще проводной или радиовыход в Интернет — либо роскошь, либо редкий случай. Телефон же есть у подавляющего большинства, так что модем является очевидным решением для выхода в Сеть. Целью этой статьи является выяснение вопроса: всё ли мы используем из того, что предоставляет модем, и как сделать модемную связь быстрее?
Начнем, как обычно, издалека. Прежде чем что-то настраивать, это надо купить. Все дальнейшее изложение будет основываться на модеме 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 ни делал и как бы ни настраивал модем, последней командой будет его перезагрузка и активация ваших любимых параметров. Вот так!
Собственно, это все, что нужно знать о том, как разогнать модем. Попробуйте — возможно, вы пока используете свой модем не на полную катушку. Не следует мириться с качеством линий и АТС. Кое-что можно исправить, не выходя из дома.