| Главная > Компьютеры > Коммуникации > |
| Настройка программных HCF/HSF модемов на чипах Conexant [1/3] |
Настройка программных HCF/HSF модемов на чипах ConexantВведениеВ настоящий момент в мире выпускается большое количество программных модемов, причем наибольшую популярность завоевали те, которые собраны на чипсетах от именитых фирм. И в этом отношении нужно признать, что модемы на чипах от Conexant сегодня занимают едва ли не доминирующую позицию в продукции различных фирм - производителей. На территории СНГ наибольшее распространение получили модемы Acorp 56K PCI PIM (HCF) и Acorp 56K PCI IRW (HSF), но это не значит, что не используются и другие. Не вдаваясь в подробности этой популярности, заметим, что наряду с огромным количеством самых различных моделей, качество и количество документации сопровождения до сих пор продолжает оставаться на весьма низком уровне. Отметим, что это справедливо, когда речь идет об англоязычной документации. Если же говорить о документации на русском языке, то ее вообще можно пересчитать по пальцам. В итоге страдает конечный пользователь, который не хочет вдаваться в тонкости настройки модема, а хочет сразу же получить сверхскоростные результаты от своего модема. Именно по этой причине в различных конференциях, форумах, опросах зачастую бытует мнение о невозможности добиться каких-либо значимых результатов. "Мой модем никак нельзя заставить набирать номер пульсом", "Помогите, модем не ловит BUSY!", "Скажите, а как изменить уровень выходного сигнала" и т.д, и т.п - вот едва ли не самые часто задаваемые вопросы. Ответ на них не лежит на поверхности. Кроме того, если посмотреть на количество регистров и доступных команд из профиля модема, кажется, что более ограниченного в своих возможностях модема не найти. На самом деле это не так, и количественные и качественные характеристики намного богаче, чем у других, если только суметь к ним подобраться. И вот тут придется вооружиться терпением и опытом в правке реестра Windows. Если у Вас подобные качества отсутствуют, то есть только два выхода из положения - либо дочитать этот документ до конца и воспользоваться полученными знаниями, либо купить другой модем. Заранее предупреждаем, что стиль изложения и многочисленные термины, встречающиеся по ходу текста, рассчитаны на подготовленных пользователей. Впрочем, даже если вы пока новичок, вы все равно сможете сделать первые шаги в освоении подобных модемов. Многократное возвращение к нему поможет решить многие проблемы, и даже, вполне вероятно, позволит Вам в дальнейшем самостоятельно делать исправления не только реестра, но и файлов, входящих в состав драйверов модема - создавая собственные. Немного истории. В тот момент, когда готовился очередной обзор по программным модемам, в руки одного из авторов попался любопытный документ. В нем рассматривались ключевые положения по исправлению отдельных секций установочных файлов с расширениями .inf входящих в состав драйверов полностью программных HSF (host - based signal function) модемов. Внимательное изучение этого документа позволило сделать выводы о том, что его основные положения вполне пригодны для редактирования и правки основных управляющих секций .inf-файлов, входящих в состав бесконтроллерных HCF (host - based control function) модемов. Более того, благодаря данному файлу, общий взгляд на эти модемы изменился в позитивную сторону. Увы, первоисточник был написан на английском языке, и не все могут им активно пользоваться. Первоначально задумывался простой дословный перевод этого документа, но по мере его совершенствования он обрастал дополнительными комментариями, правкой допущенных технических ошибок, и собственными выводами, полученными от активной проработки наиболее интересных положений. В итоге, авторы склонны рассматривать его как самостоятельное руководство, да еще и с перспективой дальнейшего обновления. А вот насколько эффективно Вы, уважаемый читатель, сможете воспользоваться им, зависит только от Вас. Любые операции Вы будете вынуждены делать на свой страх и риск. "Кто предупрежден - тот вооружен". Итак, в путь! Реестр Windows, с точки зрения пользователя HCF/HSF модемаРеестр в OS Windows - это конфигурационный файл, в котором хранятся основные настройки программной оболочки. Также, в реестр заносятся конфигурационные профили некоторых программ, которые устанавливает пользователь. С точки зрения пользователя HSF/HCF модемов, секции реестра в грубом приближении можно рассматривать как набор основных параметров модема, которыми можно управлять для его настройки. Поэтому, чтобы иметь возможность правильно адаптировать эти типы модемов к конкретным условиям эксплуатации, необходимо научиться работать с реестром Windows. Правка реестра - дело кропотливое и требует внимания и терпения. Для этих целей существуют различные утилиты, но мы будем рассматривать только одну, а именно - REGEDIT (Registry Editor), которая входит в любой комплект OS Windows от Microsoft. Вызвать ее можно следующим образом: Нажать "Пуск" (Start), затем - "Выполнить" (Run). В появившемся поле набрать REGEDIT. После этого вы увидите следующее окно: нажимая на "+" мышкой, можно посмотреть вложенные папки. Все настройки для HSF/HCF модемов можно найти, открыв последовательно следующие папки (начиная с главной): Windows 9x: [HKEY _ LOCAL _ MACHINE\System\CurrentControlSet\Services\Class\Modem\xxxx\]Windows 2000 (Pro\Sever) [HKEY _ LOCAL _ MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96D-E325-11CE-BFC1-08002BE10318}\xxxx\]где xxxx - номер используемого модема *. Если Вы используете операционную систему Windows2000, необходимо проделать следующие операции:
Компьютер откроет порт и будет пытаться набрать номер. Можете разорвать связь. Все вышеуказанные операции необходимы для того, чтобы в разделе [HKEY _ LOCAL _ MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96D-E325-11CE-BFC1-08002BE10318}\xxxx\]появились необходимые подразделы. *- при первой установке драйвера xxxx обычно равно 0000, в случае использования 2-х и более модемов одновременно, переустановки драйвера или если Вы ставили модем в разные слоты, xxxx может принимать значения 0001, 0002 и т.д. Один раздел отвечает за один модем. Вам будет необходимо определить, к какому разделу (0000, 0001..) обращается система в данный момент. Для этого нужно сделать следующее: Откройте следующие папки на рабочем столе: Мой компьютер (My computer), Панель управления (Control panel), Система (System), далее найдите вкладку с устройствами (для Windows 9x она вторая слева, для Windows 2000 - Hardware/Device manager). После этого, откройте свойства модема и в открывшемся окне найдите ту вкладку, где есть поле для ввода строки инициализации (Extra Settings). Введите в этом поле AT#UG и нажмите "применить" (apply). После этого заходите в REGEDIT, в то место, где хранятся настройки для модема и перебирая по очереди вкладки 0000, 0001: ставим на них маркер и смотрим, когда в правой части появится в конце списка строчка "UserInit REG_GZ AT#UG" С той вкладкой, где эта строчка будет обнаружена, мы и будем работать. Если у Вас xxxx имеет только значение 0000, то вышеуказанные действия совершать не нужно - 0000 и есть искомая папка. Условные обозначенияПосле того, как вы найдете нужную папку, вы увидите следующую картинку: Все данные в каждом из разделов, имеют следующий формат: Название параметра | тип переменных | значение. Название параметра - тут объяснений не нужно. Тип переменных - показывает, в каком формате представлены значения. Бывают: А) reg_sz - формат данных: не что иное, как текстовая строка; Б) reg_dword - данные представлены в виде одного числа; В) reg_binary - данные представлены одним или несколькими числами. Все числа записываются в шестнадцатиричной системе исчисления. Стандартный калькулятор в Windows позволяет переводить числа в эту систему. В данном документе не рассматриваются данные для SmartHSF/SmartHCF режимов, поскольку на сегодняшний день нет точной документации по разделам, относящимся к SmartDAA. Для того, что бы в дальнейшем нам не запутаться, все папки, находящиеся в левой части окна, мы будем закрашивать в синий цвет, а названия папок в правой части - в красный. Папки будут рассматриваться сверху вниз. Основные настройки HCF/HSF модемов, хранящиеся в реестре1. Папка 0000 содержит папки:
Значения каждого байта приведены в следующей таблице:
1.4 EnableACPI (ON/OFF) - разрешает или запрещает совместимость драйвера с режимом ACPI (режим расширенного управления питанием компьютера). Работает не на всех версиях драйверов. 1.5 MaximumPortSpeed - максимальная скорость виртуального порта. 1.6 HW_Option (присутствует не во всех версиях драйверов) Восемь параметров, которые определяют специфические особенности модема, задаются в байтах, 01 - опция включена; 00 - выключена: 1 - СallerID - включение режима СallerID 2 - Handset - модем поддерживает управление вторым телефонным гнездом (в большинстве модемов оба входа соединены между собой, у некоторых есть система управления 2 гнездом). 3 - LCS 4 - VoiceRelay 5 - SPKR - модем поддерживает голосовые возможности. 6 - Mic - модем поддерживает работу микрофона. 7 - Ring1 8 - Ring2 Для модемов AcorpPIM и AcorpIRW - состояние по умолчанию: 01 01 01 01 01 01 01 01. 1.7 NVRamBody - Виртуальное ПЗУ модема. В него заносятся s-registers с ограничениями для выбранной страны, значения команды +MS и настройки некоторых команд. Это сохраненный профиль 0. Полную информацию о занесенных значениях можно узнать, набрав команду AT&V. 1.8 NVRamZBody - то же, что и NVRamBody, только профиль 1. 2. Answer - в этой папке определено, какую команду использовать при ответе модема на входящий звонок. По умолчанию ATA. Если команд несколько, их нужно заносить по номерам, начиная с 1. 3. ATPUD - после соединения сюда заносятся параметры линии, которые затем можно посмотреть командами AT#UD;AT#UG. 4. CloseHandset - указываются команды, которые должен выполнить модем, чтобы отключить телефонное устройство, воткнутое в параллельное с линией гнездо. 5. Country - одна из самых важных папок, содержащая много полезных настроек. Структура данной папки такова: Country - +---0000 +---0001 где Country - корневой каталог, а 0000, 0001: установки для разных стран. 5.1 CountryList - список кодов стран, доступных для выбора 5.2 Current - код текущей страны. 5.3 Previous - код предыдущей страны, которая была выбрана до указанной в Current. Для каждой страны имеются собственные настройки, которые расположены в подключах 0000, 0001 и т.д. Для примера возьмем страну: 6. 0000. Рассмотрим подробнее эти параметры: 6.1 BLACKLISTING - в России он не применяется. 6.2 CADENCE - Параметр, указывающий основные характеристики сигналов "занято", "линия свободна", "сигнал ответа модема","сигнал загруженности АТС". Любой сигнал имеет высокий и низкий уровень. Для большей наглядности рассмотрим приведенный выше рисунок. На нем изображен поступающий сигнал. Синим цветом изображен максимальный сигнал, который может послать станция, красным - минимальный. Первое расстояние между осью level и синим квадратом - минимальная пауза между сигналами; первое расстояние между синим и красным квадратом - максимальное время. В реестре Вы задаете все пределы для определения конкретного сигнала. Если сигнал от станции не укладывается в заданные рамки, модем просто не сможет его опознать. Подведя итог, можно сказать, что, задавая параметры, Вы должны указать границу так, чтобы параметры сигнала станции OFF/ON time попали бы между вашими min/max и не выступали бы за их границу. Ключ CADENCE содержит в себе 145 байт. Мы свели их в своеобразную таблицу:
6.3 CALLERID - определяет формат сигнала, содержащего информацию о звонящем к Вам абоненте. Функция CallerID позволяет делать запросы к базе данных, которую определяет сам абонент. В этой базе могут содержаться сведения не только о телефонном номере звонящего, но и его день рождения, номер банковского счета и т.п. Принцип действия CallerID в корне отличается от Российского Автоматического Определения Номера (АОН) звонящего вам абонента, и доступна очень небольшой группе пользователей современных цифровых АТС. 0 - запрет на определение звонящего абонента. 1 - выводить информацию о абоненте в форматированном варианте. Учитывается стандарт для США. 2 - выводить информацию о абоненте в форматированном варианте. Учитывается стандарт для Японии. 3 - выводить информацию о абоненте в форматированном варианте. Учитывается стандарт для Японии (универсальный). 4 - выводить информацию о абоненте в форматированном варианте. Учитывается стандарт для Франции. 5 - выводить информацию о абоненте в форматированном варианте. Учитывается стандарт для Англии. 6.4 DTMF - параметр имеет четыре байта в шестнадцатиричной системе исчисления. aa,bb,cc,dd, которые определяют следующие параметры тонового набора номера. bb,aa - продолжительность одного тонового сигнала, при наборе номера тоном. dd,cc - пауза между этими сигналами. 6.5 TONE - ключ, содержащий информацию о параметре сигнала "ответ станции", применяемых в данной стране. Используется также при работе с локальными АТС. Все параметры задаются побайтно:
Параметры сигнала DialTone, указываются в ключе - CADENCE. 6.6 FLAGS - ключ содержит четыре байта, в шестнадцатеричной системе исчисления. Каждый байт раскладывается побитно.
Прим.: Разрешает параметр бит установленный в 1, отменяет бит установленный в 0. 6.7 PULSE - ключ содержит параметры, определяющие пульсовый набор номера. 1 байт - выбор стандарта для пульсового набора. Чтобы понять значение этого параметра, необходимо вспомнить, что Вы слышите, когда набираете номер с помощью пульсового набора. В этот момент, в зависимости от набираемой цифры, количество "щелчков" разное - т.е. вы набрали "1" - слышите затем один "щелчок". В некоторых странах этот стандарт другой. Рассмотрим для примера следующую таблицу :
В таблице для каждого стандарта указано количество "щелчков", которое необходимо сделать, чтобы АТС распознала правильно набранную цифру. Для России используется 0 стандарт. 2 байт - определяется значение команды &P0 (см. АТ команды) 3 байт - определяется значение команды &P1 (см. АТ - команды) 4 байт - определяется значение команды &P2 (см. АТ - команды) 5 байт - определяется значение команды &P3 (см. АТ - команды) 6 байт - время в миллисекундах, которое будет прибавляться/вычитаться к общему времени закрытия реле при наборе номера. 7 байт - время в миллисекундах, которое будет прибавляться/вычитаться к общему времени открытия реле при наборе номера. 8 байт - время в миллисекундах, устанавливающее DAA в режим GPIO_ModemOffHook_PulseSetup (описание всех GPIO сигналов, находится в разделе RELAYS) 9 байт - время в миллисекундах, устанавливающее DAA в режим GPIO_ModemOffHook_PulseClear 10,11 байт - шестнадцатеричное число, указывающее время после набора одной цифры и началом набора другой. 11,12 байт - шестнадцатеричное число, указывающее время установки реле в режим OFFHOOK_PULSESETUP ((см. техническую документацию по GPIO). 6.8 RELAY (РЕЛЕ) - ключ указывает параметры, которые используются для управления чипом при различных режимах работы с дополнительными устройствами (реле, аудиочасть). Значения определяются в зависимости от модификации модема. Все команды двухбайтовые, записываются в шестнадцатеричном виде.
Страница 1 2 3 | Предыдущая | Следующая |
Главная Алфавитный индекс Справка Добавить FAQ E-mail |
Новости Поиск по сайту |
© УкрFAQ 2009 |