12 лет назад 17 октября 2006 в 12:27 79

Бедные, бедные обладатели модемов и кривослепленных российских телефонных линий… Сколько раз в день вы молитесь модемному богу, почти что младшему братцу злобно усердствующего редиски Локи, заламливаете ручонки и просите соединиться хотя бы на пятьдесят третий раз с сервером провайдера? Но дело-то, возможно, совсем и не в том, что, как вы думаете, провайдер ваш – редкая скотина, а вовсе даже в том, что сами вы сэкономили гриновый гривенничек и купили себе дешевенький модем, который даже сигнал “занято” толково распознать не в силах.

Если ваш модем сделан на чипсете Rockwell, имеющем команды для работы с ОЗУ, то вам повезло. Нашла я для вас замечательную программку – ModemPatcher (268 кб в архиве), с помощью которой можно скорректировать временные параметры Busy (“занято”) и Congest (“перегрузка”), уровень переключения цифрового фильтра и задержку между повторными наборами номера.

Как вы понимаете, временные параметры сигналов Busy и Congest, а также уровень переключения цифрового фильтра для наших АТС и телефонных линий подбираются экспериментальным путем, для начала же автор программы рекомендует установить следующие значения:
min max
Busy On, Off 0,26 0,46
Congest On, Off 0,12 0,23
Далее ему же (автору) слово.

“Уровень переключения цифрового фильтра рекомендуется устанавливать в диапазоне -40…-31 дБ. При малых значениях возможно ложное переключение из-за помех в линии, при больших значениях уровень сигнала в линии может быть не достаточен для переключения фильтра, что вызовет нестабильное определение сигналов.

При создании ярлыка на ModemPatcher можно указать иконку ярлыка и задать следующие параметры:
– Автоматическое исправление (ключ /f). Внесение изменений в параметры текущего модема и закрытие программы.
– Номер модема по списку (ключ /m). Задание текущего модема по номеру в списке модемов, установленных в Windows.
– Значения параметров (ключи /b /c /d /l). Задание значений корректируемых параметров для текущего модема.
– Файл содержащий ОЗУ модема (country-блок) (ключ /r “path”). Path – полный путь к файлу *.ram.

На некоторых внутренних модемах автоматически не определяется COM-порт, в этом случае порт указывается вручную. Многие модемы USR, IDC, HSP, Motorola, Conexant и пр. не имеют в своем наборе AT-команд команды для работы с ОЗУ модема, на таких модемах ModemPatcher будет выдавать сообщение “ОЗУ невозможно модифицировать”. Для проверки наличия такой команды нужно в любой “терминалке” дать команду AT!0000 ответом должно быть или ERROR (этой команды нет и ModemPatcher здесь бессилен), для выхода из этого режима нужно нажать пробел.

Все параметры, определяющие особенности страны (временные параметры сигналов, пауза между наборами номера и другие), сгруппированы в прошивке модема в определенной области, в так называемый country-блок. При инициализации модема большая часть country-блока копируется в ОЗУ модема. Если прошивка модема поддерживает команду AT!nnnn (работа с ОЗУ модема в интерактивном режиме, есть не во всех прошивках), то можно найти country-блок в ОЗУ (его начало находится где-то в районе адреса 0295h и может меняться в разных прошивках) и изменить необходимые временные параметры.

После этого модем нельзя инициализировать командой ATZ, так как она восстанавливает country-блок из ПЗУ модема и изменения придется вносить заново. При использовании функций TAPI, инициализация модема (командой ATZ) происходит перед каждым набора номера, поэтому нужно или изменить эту команду инициализации на другую (AT&F), или вносить изменения в ОЗУ перед каждым набором номера.
В режиме “Запуск ModemPatcher для внесения изменений в ОЗУ” ModemPatcher запускается после включения модема. Команда инициализации ATZ, хранится в реестре в параметрах модема, заменяется командой AT&F – восстановление заводских настроек, поэтому при необходимости нужно включить в строку инициализации модема команды необходимые для получения той же конфигурации что и в профиле 0.

При установке хотя бы одного флажка “Исправить” в параметрах модема автоматически устанавливается команда инициализации AT&F. При снятии всех флажков “Исправить” в параметрах модема автоматически устанавливается команда инициализации ATZ.
В режиме “Патч интегрирован в строку инициализации” запускать ModemPatcher после включения модема не нужно.

Изменения в ОЗУ модема вносятся через дополнительные строки инициализации, хранятся в реестре в параметрах модема, перед каждым набором номера, что несколько увеличит задержку между повторными наборами номера. Этот режим имеет недостаток: дополнительные строки инициализации ориентированы на работу только с таким модемом и только с таким содержимым ОЗУ в области расположения country-блока. Вызвано это тем, что в параметры модема необходимо добавить ответы модема на эти строки инициализации, если ответ модема не будет распознан, то Windows будет выдавать сообщения об ошибке.

Внимание: перед заменой модема или обновлением прошивки модема необходимо выключить режим интеграции патча для удаления из реестра дополнительных строк инициализации и ответов на них”.
Благодарим автора программы Антона Янишевкого (который, кстати, смело может писать письмо в редакцию и получать свой значок “Одобрено Upgrade”) за подробные объяснения и двигаемся дальше.

Никто не прокомментировал материал. Есть мысли?