Настройка программных 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 _ MACHINESystemCurrentControlSetServicesClassModemxxxx]

Windows 2000 (ProSever)[HKEY _ LOCAL _ MACHINESYSTEMCurrentControlSetControlClass{4D36E96D-E325-11CE-BFC1-08002BE10318}xxxx]

где xxxx — номер используемого модема *.

Если Вы используете операционную систему Windows2000, необходимо проделать следующие операции:

  1. Создать удаленное соединение с интернетом, можете даже не указывать номер телефона;
  2. Позвонить с помощью удаленного соединения.

Компьютер откроет порт и будет пытаться набрать номер. Можете разорвать связь. Все вышеуказанные операции необходимы для того, чтобы в разделе [HKEY _ LOCAL _ MACHINESYSTEMCurrentControlSetControlClass{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. AbortPlay — Прерывает передачу данных;
  2. AttachedTo - указывает, какой номер com-порта эмулировать;
  3. BondOption: Режимы, поддерживаемые модемом. В этом разделе хранится два байта, которые раскладывается раздельно по битам. Если бит равен 1 — это означает включенное состояние того режима, за который он отвечает; 0 — выключенное состояние. Первый байт содержит 8-15 биты, второй байт 0-7 биты.

Значения каждого байта приведены в следующей таблице:

BitEnables
0 Включает протокол V.34
1Модем поддерживает Full duplex V34, VFC, V32, V22
228Mhz/22Mhz
3V.34Fax
4Voice — режим указывает, что модем обладает голосовыми возможностями
5SpeakerPhone — чип, установленный на модеме, поддерживает работу внешних звуковых устройств
6V.FC — разрешить использование протокола V.FC. Протокол V.FC включается автоматически, если оба модема поддерживают данный режим работы
7Разрешить использовать K56flex
8-15Для модема hsf , ввести первые три бита равные 1 (h07), для включения v92, v44 и TX speed =48000 — недокументированный параметр. Применяется в драйверах, выпущенных в 2000 и 2001 году

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 байт. Мы свели их в своеобразную таблицу:

N байтовОписание
1Количество фаз, из которых состоит один период сигнала
Описание сигнала "Dialtone" — сигнал станции, для России не применимо
2,3,4,5Minimum ON time (ms); (1 фаза)
6,7,8,9Maximum ON time (ms);(1 фаза)
10,11,12,13Minimum OFF time (ms);(1 фаза)
14,15,16,17Maximum OFF time (ms);(1 фаза)
18,19,20,21Minimum ON time (ms); (2фаза)
22,23,24,25Maximum ON time (ms);(2фаза)
26,27,28,29Minimum OFF time (ms);(2фаза)
30,31,32,33Maximum OFF time (ms);(2фаза)
34,35,36,37Number of cycles needed for detection — количество циклов, необходимых для детектирования сигнала
Описание сигнала "BUSY" — сигнал "занято"
38,39,40,41Minimum ON time (ms); (1 фаза)
42,43,44,45Maximum ON time (ms);(1 фаза)
46,47,48,49Minimum OFF time (ms);(1 фаза)
50,51,52,53Maximum OFF time (ms);(1 фаза)
54,55,56,57Minimum ON time (ms); (2фаза)
58,59,60,61Maximum ON time (ms);(2фаза)
62,63,64,65Minimum OFF time (ms);(2фаза)
66,67,68,69Maximum OFF time (ms);(2фаза)
70,71,72,73Number of cycles needed for detection — количество циклов, необходимых для детектирования сигнала
Описание сигнала "RINGBACK" — сигнал "ответ модема"
74,75,76,77Minimum ON time (ms); (1 фаза)
78,79,80,81Maximum ON time (ms);(1 фаза)
82,83,84,85Minimum OFF time (ms);(1 фаза)
86,87,88,89Maximum OFF time (ms);(1 фаза)
90,91,92,93Minimum ON time (ms); (2фаза)
94,95,96,97Maximum ON time (ms);(2фаза)
98,99,100,101Minimum OFF time (ms);(2фаза)
102,103,104,105Maximum OFF time (ms);(2фаза)
106,107,108,109Number of cycles needed for detection — количество циклов, необходимых для детектирования сигнала
Описание сигнала "Congestion" — сигнал "станция загружена". Этот сигнал появляется, когда АТС загружена и не может предоставить абоненту линию
110,111,112,113Minimum ON time (ms); (1 фаза)
114,115,116,117Maximum ON time (ms);(1 фаза)
118,119,120,121Minimum OFF time (ms);(1 фаза)
122,123,124,125Maximum OFF time (ms);(1 фаза)
126,127,128,129Minimum ON time (ms); (2фаза)
130,131,132,133Maximum ON time (ms);(2фаза)
134,135,136,137Minimum OFF time (ms);(2фаза)
138,139,140,141Maximum OFF time (ms);(2фаза)
142,143,144,145Number of cycles needed for detection — количество циклов, необходимых для детектирования сигнала

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 — ключ, содержащий информацию о параметре сигнала "ответ станции", применяемых в данной стране. Используется также при работе с локальными АТС.

Все параметры задаются побайтно:

N байтаЗначение
1,2Указывается время определения сигнала DialTone
3,4Указывается время определения сигнала DialTone после паузы, например после команды W
5,6 Недокументированы
7,8Указывается время определения сигнала DialTone перед слепым набором

Параметры сигнала DialTone, указываются в ключе — CADENCE.

6.6 FLAGS — ключ содержит четыре байта, в шестнадцатеричной системе исчисления. Каждый байт раскладывается побитно.

БайтБитЗначение бита
1 0Использовать дополнительный фильтр вместо основного для определения сигнала "ответ АТС". Задается в ключе TONEPARAMS
1Использовать дополнительный фильтр вместо основного для определения call progress. Задается в ключе TONEPARAMS
2Использовать дополнительный фильтр вместо основного для определения сигнала "второй ответ АТС". Задается в ключе TONEPARAMS. Это нужно, например, если вы выходите на дополнительную линию с помощью промежуточных АТС. Иногда, позывные разных станций отличаются
3Использовать дополнительный фильтр вместо основного для определения сигнала "второй ответ АТС" после набора кода выхода на линию. Задается в ключе TONEPARAMS
4..7Недокументированы

2

0Определять сигнал "ответ АТС" принудительно. Все команды включающие "слепой" набор игнорируются
1Включить режим посылки сигнала "передача данных" принудительно
2Включить подачу 1800 Гц защитного тона в линию. Все отключающие данный режим команды — игнорируются
3Включить определение сигнала "Занято". Все отключающие данный режим команды — игнорируются
4Использовать значение s-регистра S7 как длительность паузы, для команды W
5Повесить трубку, если обнаружен сигнал "Ожидание звонка", применяется в SmartDAA технологии
6..7Недокументированы
30Запретить команду АТH1
1Запретить смешанный (пульсовый и тоновый одновременно) набор номера
2Включить пульсовый набор
3Включить в тоновый набор символы А,B,C и т.д
4Включить использование черного списка. Для России не используется
5Разрешить определять "длинный гудок", как сигнал "занято". Интересный параметр, может помочь в тяжелых случаях для определения сигнала "занято". Введен для того, что бы модем не принимал короткие сигналы удаленного аппарата за "сигнал АТС — линия занята"
6Использовать режим U-Law, вместо А-Law. В России используется стандарт А-Law
7Выключить Bell режимы
40Игнорировать все запятые до первой цифры в набираемом номере
1Разрешить использование ключа DTMF_COMP_LEVEL
2..7Недокументированы

Прим.: Разрешает параметр бит установленный в 1, отменяет бит установленный в 0.

6.7 PULSE — ключ содержит параметры, определяющие пульсовый набор номера.

1 байт — выбор стандарта для пульсового набора. Чтобы понять значение этого параметра, необходимо вспомнить, что Вы слышите, когда набираете номер с помощью пульсового набора. В этот момент, в зависимости от набираемой цифры, количество "щелчков" разное — т.е. вы набрали "1" — слышите затем один "щелчок". В некоторых странах этот стандарт другой. Рассмотрим для примера следующую таблицу :

Набираемая цифра Пульсовый стандарт
012
1192
2283
3374
4465
5556
6647
7738
8829
99110
010101

В таблице для каждого стандарта указано количество "щелчков", которое необходимо сделать, чтобы АТС распознала правильно набранную цифру. Для России используется 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 (РЕЛЕ) — ключ указывает параметры, которые используются для управления чипом при различных режимах работы с дополнительными устройствами (реле, аудиочасть). Значения определяются в зависимости от модификации модема.

Все команды двухбайтовые, записываются в шестнадцатеричном виде.

N байтаОписание
1,2Значение раскладывается побитно и определяет, какие из GPIO сигналов доступны, а какие нет. Применяется для совместимости драйвера с различными типами модемов и чипов. Нумерация — самый младший бит — начальный GPIO
3,4Значение раскладывается побитно и определяет, какие из GPIO сигналов разрешают контроль состояния входного сигнала линии
5,6Значение раскладывается побитно и определяет, какие из GPIO сигналов переводят модем в состояние : "трубка снята, дополнительное гнездо используется для подключения телефона"
7,8Значение раскладывается побитно и определяет, какие из GPIO сигналов переводят модем в состояние : "трубка снята, дополнительное гнездо отключено"
9,10Значение раскладывается побитно и определяет, какие из GPIO сигналов переводят модем в состояние : "трубка положена, дополнительное гнездо используется для подключения телефона, контроль сигнала CID включен"
11,12Значение раскладывается побитно и определяет, какие из GPIO сигналов переводят модем в состояние : "трубка положена, дополнительное гнездо используется для подключения телефона, контроль сигнала CID отключен"
13,14Значение раскладывается побитно и определяет, какие из GPIO сигналов переводят модем в состояние : "трубка положена, дополнительное гнездо отключено, контроль сигнала CID включен"
15,16Значение раскладывается побитно и определяет, какие из GPIO сигналов переводят модем в состояние : "трубка положена, дополнительное гнездо отключено, контроль сигнала CID выключен"
17,18Значение раскладывается побитно и определяет, какие из GPIO сигналов переводят модем в состояние : "трубка снята, начинает подаваться пульсовый импульс"
19,20Значение раскладывается побитно и определяет, какие из GPIO сигналов переводят модем в состояние : "трубка снята, заканчивает подаваться пульсовый импульс "
21,22Значение раскладывается побитно и определяет, какие из GPIO сигналов переводят модем в состояние : "трубка снята, определяется значение следующего пульсового импульса"
23,24Значение раскладывается побитно и определяет, какие из GPIO сигналов переводят модем в состояние : "трубка снята, сбрасывается значение предыдущего пульсового импульса"

6.9 RING — значения, определяющие параметры входного сигнала "вызов станции". Параметры задаются побайтно, в шестнадцатеричной системе исчисления.

N байтаОписание
1Максимальная частота, с которой может передаваться сигнал "вызов станции". Задается в ГЦ
2Минимальная частота, с которой может передаваться сигнал "вызов станции". Задается в ГЦ
3,4Время в миллисекундах, определяющее общую продолжительность одного сигнала "вызов станции"
5,6Время в миллисекундах, определяющее отрезок времени между обнаружением сигнала "вызов станции" и поднятием трубки для совершения дальнейших действий
7,8Время в миллисекундах, определяющее минимальный отрезок времени между обнаружением первого и второго сигнала "вызов станции"
9,10Время в миллисекундах, определяющее максимальный отрезок времени между обнаружением первого и второго сигнала "вызов станции"

6.10 SPEEDADJUST — Раздел, содержащий 3 байта, которые указывают модему, как себя "вести" на конкретной линии. 1 байт отвечает за соединение по протоколу V.90, второй — по протоколу k56, третий — v34. В разных версиях драйверов возможна разная реализация этого параметра. Это безразмерный коэффициент, определяющий поведение модема.

Значение высчитывается по формуле Чтобы понять, как заносить это значение в реестр, разложим обычное число побитно: 76543210. Первые 4 бита (3210) обозначают число M, последние 4 бита (7654) обозначают степень S. Например, число 100 в десятичной системе исчисления, можно разложить побитно: 110 0100. Очевидно, что M=0100 , S=110, переведем эти числа в десятичный вариант и подставим в формулу:

.

Нетрудно заметить, что минимальное значение — 00011111(h1F), максимальное — 11110000(hF0). Значение этого параметра можно определить исключительно практическим путем, в зависимости от линии. Conexant относит этот параметр к разряду ненормируемых и рекомендует выбирать значения самим, методом проб и ошибок. На практике это может выглядеть так:

Выставляем blers=f0 xx xx и соединяемся по протоколу V.90, со скоростью на прием 44000; выставляем blers=64 и скорость падает до 40000; ставим blers=1f и модем вообще будет соединятся по протоколу V.34. Из многолетней практики удалось вывести лишь такое определение этому параметру: чем меньше значение, тем модем увереннее держится на плохих линиях и оптимальнее выбирает режимы работы.

6.11 SREG — Ограничения s-register для данной страны. В некоторых странах имеются специфические особенности при работе с телефонными линиями. Поэтому некоторые значения S-регистров не подходят. Данный раздел указывает, какие s-регистры следует изменить в зависимости от используемой страны. Значения задаются побайтно и группами.

Группа состоит из 4 байт:

1-й байт — номер s-регистра

2-й байт — минимальное значение этого s-регистра

3-й байт — максимальное значение этого s-регистра

4-й байт — установленное по умолчанию значение этого s-регистра

Допускается использовать до 10 групп.

6.12 T35code — внутренний код страны. Т.е., в этом значении указывается, что вся вкладка 0000(0001 и т.д.) имеет внутренний номер, который используется выбора страны в ключе Country-Current.

6.13 TIMING — значения задаются побайтно, в шестнадцатиричной системе исчисления. Единицы измерения — миллисекунды.

N байтаОписание
1,2Время между обрывом соединения и звонком по этому же номеру
3,4Время между обрывом соединения и звонком по другому номеру
5,6Время, через которое модем может поднять трубку после входящего звонка
7,8Время между поднятием трубки модемом и ответом на входящий звонок

6.14 TONEPARAMS (только для модемов HSF) — данный ключ содержит информацию о параметрах сигнального фильтра, который используется для распознавания сигналов.

Значения задаются побайтно, в шестнадцатиричном виде:

N байтаОписание
PRIMARY TONE A — параметры сигнала tone
1,2Средняя частота сигнала, обнаруживаемая primary tone детектором, задается в ГЦ
3,4Ширина полосы пропускания частоты сигнала. Сигналы будут распознаваться в диапазоне от (центр. частота - ширина) до (центр. частота + ширина). Задается в ГЦ
5,6,7,8Время распознавания сигнала в миллисекундах. Типичные значения для разных стран 10, 22, 35, 70 мс
9,10Мощность сигнала "tone", задается в dBm, если сигнал превысил это значение, то автоматически включается "Режим распознавания тона". Значение переписывается из вкладки THRESHOLD
11,12Мощность сигнала "tone", задается в dBm, если сигнал отклонился ниже этого значения, то автоматически включается "Режим распознавания тона". Значение переписывается из вкладки THRESHOLD
13-16Недокументированы
17-20Время распознавания в миллисекундах, за которое модем должен определить "ToneON" состояние
21-24Время распознавания в миллисекундах, за которое модем должен определить "ToneOFF" состояние
ALTERNATIVE TONE A — параметры сигнала дополнительный тон
25,26Средняя частота сигнала, обнаруживаемая alternative tone детектором, задается в ГЦ
27,28 Ширина полосы пропускания. Сигналы будут распознаваться в диапазоне от (центр. частота — ширина) до (центр. частота + ширина). Задается в ГЦ
29-32Время распознавания сигнала в миллисекундах. Типичные значения для разных стран 10, 22, 35, 70 мс
33,34Мощность сигнала, задается в dBm, если сигнал превысил это значение, то автоматически включается "Режим распознавания дополнительного тона". Значение переписывается из вкладки THRESHOLD
35,36Мощность сигнала, задается в dBm, если сигнал отклонился ниже этого значения, то автоматически включается "Режим распознавания дополнительного тона". Значение переписывается из вкладки THRESHOLD
37,38Недокументированы
39-42Время распознавания в миллисекундах, за которое модем должен определить состояние — "дополнительный тон включен"
43-46Время распознавания в миллисекундах, за которое модем должен определить состояние — "дополнительный тон выключен"
Voice Call Progress Tone A — параметры голосового ответа
25,26Средняя частота сигнала, обнаруживаемая primary tone детектором, задается в ГЦ
27,28Ширина полосы пропускания. Сигналы будут распознаваться в диапазоне от (центр. частота — ширина) до (центр. частота + ширина). Задается в ГЦ
29-32Время распознавания сигнала в миллисекундах. Типичные значения для разных стран 10, 22, 35, 70 мс
33,34Мощность сигнала (задается в dBm) Если сигнал отклонился ниже этого значения, то автоматически включается "Режим распознавания гол. ответа". Значение переписывается из вкладки THRESHOLD
35,36Мощность сигнала (задается в dBm) Если сигнал превысил это значение, то автоматически включается "Режим распознавания гол. ответа". Значение переписывается из вкладки THRESHOLD
37,38Недокументированы
39-42Время распознавания в миллисекундах, за которое модем должен определить состояние — "дополнительный тон включен"
43-46Время распознавания в миллисекундах, за которое модем должен определить состояние — "дополнительный тон выключен"

6.15 Txlevel — уровень выходного сигнала для различных режимов работы модема.

Задается в байтах, в шестнадцатиричной системе исчисления.

N байтаОписание
Режим передачи данных
1 Нижний предел уровня выходного сигнала, задается в dB
2Верхний предел уровня выходного сигнала, задается в dB
3Уровень сигнала, установленный по умолчанию, задается в dB. Значение должно входить в рамки, указанные в 1 и 2 байтах
Режим передачи факса
4Нижний предел уровня выходного сигнала, задается в dB
5Верхний предел уровня выходного сигнала, задается в dB
6Уровень сигнала, установленный по умолчанию, задается в dB. Значение должно входить в рамки, указанные в 4 и 5 байтах
Голосовой режим передачи
7Нижний предел уровня выходного сигнала, задается в dB
8Верхний предел уровня выходного сигнала, задается в dB
9Уровень сигнала, установленный по умолчанию, задается в dB. Значение должно входить в рамки, указанные в 7 и 8 байтах
10Поправка уровня выходного сигнала. В некоторых модемах, из-за специфических особенностей, наблюдается отклонение в уровне вых. сигнала. Подробно об этом должны информировать производители модемов.

Параметр изменяется от +127 до -127. Смысловая нагрузка такова — этим параметром определяется, чему равен 0-й уровень для отсчета. Более понятно это выглядит так: по умолчанию Txlevel, равный 10 dB будет определять громкость в 10 dB выходного сигнала. Если 10-й байт сделать равным 2 (-dB), то при выставленном Txlevel 10, на выходе будет 12 dB
11Параметр, определяющий низкий уровень мощности тонового набора (dBm)
12Параметр, определяющий высокий уровень мощности тонового набора (dBm)

В случае использования некоторых протоколов, например V.90, уровень сигнала будет выставляться удаленным оборудованием при помощи процедуры Power Drop. Если сигнал слишком громкий, на некоторых версиях драйверов имеется возможность уйти от некорректной обработки запросов на выполнение Power Drop путем задания значения 1, 2, 3 байтов ниже -15Дб.

7. DSPINFOFILTERS - недокументированный раздел.

8. EnableCallerID — раздел, содержащий описание команды для включения режима CallerID.

9.Fax Class1 AdaptiveAnswer AnswerCommand - описание команд, которые должен выполнить модем для принятияотправки факса.

10. GenerateDigit — Описание команды, служащей для формирования тонового сигнала.

11.HandsetSetPlayFormat — Этот раздел указывает, какую команду модема использовать при включении сжатия в голосовом режиме работы при воспроизведении звука через модем с помощью дополнительного гнезда.

12.HandsetSetRecordFormat — Этот раздел указывает, какую команду модема использовать при включении сжатия в голосовом режиме работы при записи звука через модем с помощью дополнительного гнезда.

13.HangUp — Описание команды, которая будет выполняться по запросу "положить трубку".

14.Init — описание строки инициализации. Если команд несколько, и они не могут быть записаны в одну строку, создаются несколько подключей, с порядковыми номерами. Первая строка должна иметь 1 номер. Например:

1 REG_SZ AT

2 REG_SZ AT&F

15.LineSetPlayFormat — Этот раздел содержит команду, указывающую метод компрессии при воспроизведении звука в голосовом режиме работы через модем, с помощью главного телефонного гнезда.

16.LineSetRecordFormat — Этот раздел содержит команду, указывающую метод компрессии при записи звука в голосовом режиме работы через модем, с помощью главного телефонного гнезда.

17.Monitor — Описание команды, которая устанавливает параметры мониторинга линии. Обычно это ATS0=0. Модем регистрирует звонки, но не отвечает на них.

18.OEM — Раздел, содержащий описание основных настроек модема для работы в режиме передачи данных.

Часть настроек имеет прямую связь с AT-командами, поэтому описание смотрите в соответствующем документе.

Ключи:

КлючБайтАТ командаОписание/Значения
18.1 AT_MISC_DEF1..4ATWxДиапазон от 0 до 3
5..8АТ+FAE0,1
9..12 0 — протокол V90 выключен, 1 — V90 включен
13..16 Не документированы
18.2 AT+MS 1..4AT+MS=xxxx протокол, заданный в шестнадцатеричном виде. Т.е V90 соотв. Число 90 или 5A. 5A заносится в реестр
5..8AT+MS=,xxАвтоматический выбор протокола
9..12AT+MS=,,xxМинимальная скорость на передачу
13..16AT+MS=,,,xxМаксимальная скорость на передачу
17..20AT+MS=,,,,xxМинимальная скорость на прием
21..24AT+MS=,,,,,xxМаксимальная скорость на прием
18,3 AT+MSSTRTeкстПротокол, установленный по умолчанию. Сейчас V.92
18.4 AUDIO_AECОписание параметров для настройки DSP при работе с спикерфоном
18.5 CADENCE1Количество фаз, для идентификации сигнала Определение сигнала факса. Параметр имеет те же смысловые настройки, как и в случае ключа Cadence в папке Country.
2,3,4,5Minimum ON time (ms); (1 фаза)
6,7,8,9Maximum ON time (ms);(1 фаза)
10,11,12,13Minimum OFF time (ms);(1 фаза)
14,15,16,17Maximum OFF time (ms);(1 фаза)
18,19,20,21Minimum ON time (ms); (2фаза)
22,23,24,25Maximum ON time (ms);(2фаза)
26,27,28,29Minimum OFF time (ms);(2фаза)
30,31,32,33Maximum OFF time (ms);(2фаза)
34,35,36,37Number of cycles needed for detection — количество циклов, необходимых для детектирования сигнала
38,39,40,41Таймер факс-сигнала 
18.6 CONSTTONEPARAMSОписание настроек для определения различных тональных посылок

Tone ATBel
1,2Средняя частота сигнала, обнаруживаемая детектором, задается в ГЦ
3,4Ширина полосы пропускания. Сигналы будут распознаваться в диапазоне от (центр. частота — ширина) до (центр. частота + ширина). Задается в ГЦ
5..8Время распознавания сигнала в миллисекундах. Для одной страны должно оставаться одинаковым. Типичные значения для разных стран 10, 22, 35, 70 мс
9,10Мощность сигнала (задается в dBm). Если сигнал отклонился ниже этого значения, то автоматически включается "Режим распознавания тона". Значение переписывается из вкладки THRESHOLD
11,12Мощность сигнала (задается в dBm). Если сигнал превысил это значение, то автоматически включается "Режим распознавания тона". Значение переписывается из вкладки THRESHOLD
13..16Недокументированы
17..20Время распознавания в миллисекундах, за которое модем должен определить состояние — "тон включен"
21..24Время распознавания в миллисекундах, за которое модем должен определить состояние — "тон выключен"

Далее в той же последовательности, но для разных сигналов:

23..48Параметры AtV25
49..72Параметры CI Center Frequency
73..96Параметры Tone CI Side Band
97..120Параметры ToneC 2912
121..144Параметры ToneB 2312
145..168Параметры ToneB 2750
169..192Параметры ToneB 2130
193..216Параметры ToneA Not ST
217..240Параметры ToneC 1650
241..264Параметры Tone 1270
265..288Параметры Tone CReSEG1 2002

18.7 DAAType — Тип DAA:

0 — стандартый, 1 — Smart, 2 — программный

DAA — параметр, который указывает драйверу модема, какая аналоговая схема установлена в модеме.

0 — стандартный набор — аналоговая часть и трансформаторная развязка.

1 — smart — перед трансформатором схема содержит набор специальных микросхем, которые позволяют расширить возможности модема. Например, более точное управление уровнями выходного и входного сигнала.

2 — программный — применяется в том случае, если не используется питание телефонной сети — например нуль-модемное соединение.

18.8 FLAGS, недокументированные биты опускаются

БайтБитЗначение бита
1 1Включить внешний динамик
2Включить режим Telephone Answering Machine*
3Включить режим Voice View* — это позволяет использовать расширенные возможности команд +FCLASS=8, +FCLASS=80
4Включить LCS
5Схема запитывается 3.3v напряжением* — интересный параметр, при его включении в статистике Txlevel прежний, а Rxlevel увеличивается на 5db. По практическим результатам, заметно влияние только на TX уровень. Т.е. если этот параметр включен - удаленный модем начинает хуже слышать
6Определять режим "на удаленном телефоне, трубка положена"*
7Выключение динамика на уровне аналоговой схемы.*
20 Текущая страна определяется драйвером
1Включить режим совместимости с модемами на чипе ACF
2Включить режим PME
3Включить режим PME с прерыванием
5Полярность динамика. 1 — высокий уровень, 0 — низкий
6Включить настройку динамика. 1 — соотв. макс. громкости динамика, 0 — уст. по умолчанию
7Разрешить использовать команды VGS, VGM. В случае отказа, используются данные для DSVD
31Продолжать использовать протокол LAMP, если невозможен V8b на протоколе V90
2Игнорировать панель DOS support и выключить этот режим
3Пользователь выбирает, есть поддержка DOS или нет
4Определять подключение устройств в дополнительное гнездо, средствами аналоговой части
5Перестроить драйвер для работы с LAN модемом
6Не отключаться от линии, при закрытии порта
40Доступ ко всем GPIO сигналам
1Поддержка режима D3 с помощью DAA
2Включить режим "линия занята", когда снята трубка на устройстве, подключенном в дополнительное гнездо. Режим LCS должен быть включен
3Нелимитированная скорость порта

18.9 MISC_VOICE_PARMS — В этой вкладке хранятся основные параметры для управления голосовыми настройками. Описание +VGS, +VGM команд смотрите в руководстве по АТ командам.

N байтаОписание
Режим DSVD, команда +VGS
1,2,3,4Минимальное значение
5,6,7,8Максимальное значение
9,10,11,12Значение по умолчанию
Режим DSVD, команда +VGM
13,14,15,16Минимальное значение
17,18,19,20Максимальное значение
21,22,23,24Значение по умолчанию
Режим FDSP команда +VGS
25,26,27,28Минимальное значение
29,30,31,32Максимальное значение
33,34,35,36Значение по умолчанию
Режим FDSP, команда +VGM
37,38,39,40Минимальное значение
41,42,43,44Максимальное значение
45,46,47,48Значение по умолчанию
Режим FDSP, команда +VGR
49Минимальное значение
50Максимальное значение
51Значение по умолчанию
Режим TAM, команда +VGR
52Минимальное значение
53Максимальное значение
54Значение по умолчанию
55Минимальный уровень передачи голоса
56Telout limit
57Voice Line Rx Gain Bias in dB units -усиление передачи в линию голоса
58SpeakerPhone Line Rx Gain Bias — уровень усиления динамика
59SpeakerPhone Mic Rx Gain Bias — уровень усиления микрофона (внешнего)
60Voice Codec Mic gain in dB units — уровень усиления сигнала, полученного с микрофона звуковой платы

18.10 MOD_THRESHOLD — пороговые значения модуляции.

Параметры задаются группами. Каждая группа состоит из 4 байт и отвечает за один протокол.

Первые два байта в группе отвечают за пороговую мощность при приеме, вторые два — за пороговую мощность при ответе.

N байтаОписание
1,2,3,4V21
5,6,7,8V21Fax
9,10,11,12V23
13,14,15,16V22
17,18,19,20V22b
21,22,23,24V32
25,26,27,28V32b
29,30,31,32V34
33,34,35,36K56
37,38,39,40V90
41,42,43,44V27
45,46,47,48V29
49,50,51,52V17

18.11 SREGS — s-регистры (0-39). Здесь хранятся заводские значения s-регистров. Инициализация в разных версиях работает по разному. Обычно это происходит так:

При установке драйвера данные значения переносятся в главную ветку, в раздел Nvram. Далее, в зависимости от выбранной страны, считываются ограничивающие регистры и записываются их значения поверх стандартных в Nvram.

18.12 V25ter. Раздел, содержащий описание основных команд.

N байтаКомандаПараметр команды/описание
1,2,3,4+IPR 
5,6,7,8+ILRR 
9,10,11,12+MR 
13,14,15,16+ESR 
17,18,19,20+EFCS 
21,22,23,24+ER 
25,26,27,28+DR 
291-Разрешает менять
параметры команд A8x
 
30Недокументировано 
31,32,33,34 A8E V8o
35,36,37,38V8a
39,40,41,42V8cf
43,44,45,468vb
47,48,49,50
51,52,53,54
55,56,57,58
59,60,61,62
63,64,65,66
Cfrange
67,68,69,70
71,72,73,74
75,76,77,76
77,78,79,80
81,82,83,84
Protrange
85,86,87,88 +DS Direction
89,90,91,92Comp_neg
93,94,95,96Max_dic
97,98,99,100Max_string
101,102,103,104 +EB Break_selection
105,106,107,108Timed
109,110,111,112Default_length
113,114,115,116 +ES Orig_rqst
117,118,119,120Orig_fbk
121,122,123,124Ans_fbk
125,126,127,128 +ESA Trans_idle
129,130,131,132Framed_idle
133,134,135,136Framed_un_ov
137,138,139,140Hd_auto
141,142,143,144Crc_type
145,146,147,148 
149,150,151,152 +ETBM Pending_TD
153,154,155,156Pending_RD
157,158,159,160Timer
160,161,162,163 +FIT Time
164,165,166,167Action
168,169,170,171 +ICF Char format
172,173,174,175Char parity
176,177,178,179 +IFC Modem_by_DTE
180,181,182,183DTE_by_modem
184,185,186,187 +ITF Off
188,189,190,191On
192,193,194,195Report_period
196E 
197Q
198V
199T
200&D
201&C
202L
203M
204X
205&T
206%E
207&G
208&P
209&R

18.13 Hwdata — параметры задаются побитно:

БитыНазначениеКомментарии
0Голосовой кодек0 — Модем не имеет голосового кодека
1 — Голосовой кодек присутствует
[1-3]Усиление микрофона0 — 0 dB 1 — 10 dB
2 — 15 dB
3 — 20 dB
[4]Понижение приемника микрофона0 — Выключить 4 dB понижение уровня микрофона
1 — Включить 4 dB понижение уровня микрофона
[5-7]Уровень интерполяции0 — Выключено
1 — Уровень 1
2 — Уровень 2
3 — Уровень 3
[8]Вывод звука на наушники или наушники0 — Звук выводится с использованием TX фильтра, звукового кодека модема
1 — Звук выводится напрямую с линии
[9]Режим работы тактового генератора0 — Всегда работает
1 — Работает тогда, когда это необходимо
[11]Активизация по входящему звонку, когда модемный порт закрыт0 — Выключить
1 — Включить
[12]Режим обработки прерываний0 — Включен
1 — Выключен
[13]Включение режима Charlemagne (только для поддерживающих этот режим модемов)0 — Модем не имеет Charlemagne handset
1 — Модем не имеет Charlemagne handset
[15]Специальное включение режима #PME через FET c использованием управляющего сигнала GPIO140 — GPIO14 Выключен
1 — GPIO14 Включен

В новых разработках появилось еще несколько новых ключей. К сожалению, на сегодняшний день неизвестно, какие именно биты отведены под каждый из них. Поэтому мы приводим только общий список:

DC_ADJAST

Mute by analog speaker

NT4 port open

External filter

CHURCHILL

UpdateConfigSpace

ExternalIA

EnableAudioGPI

MoonWOR

SonyVioThrottle

MoonDmaWatchdog

DisableSpeedStep

HadsetExlusive

19 OpenHandset — Команда, определяющая подключение дополнительного гнезда модема

20. Settings — раздел содержащий определения основных команд модема:

20.1."Prefix" - префикс набора, по умолчанию "AT"

20.2."Terminator" — обозначение ввода команды, по умолчанию""

20.3."DialPrefix"- символ, обозначающий импульсный набор , по умолчанию "D"

20.4."DialSuffix" - суффикс, по умолчанию ";"

20.5."SpeakerVolume_Low" - уровень внешнего динамика минимален, по умолчанию "L0"

20.6."SpeakerVolume_Med" - уровень внешнего динамика средний, по умолчанию "L2"

20.7."SpeakerVolume_High" - уровень внешнего динамика максимален , по умолчанию "L3"

20.8."SpeakerMode_Off" — выключить внешний динамик, по умолчанию "M0"

20.9."SpeakerMode_Dial" - включить внешний динамик на время набора, по умолчанию "M1"

20.10."SpeakerMode_On" — внешний динамик не выключается, по умолчанию "M2"

20.11."SpeakerMode_Setup" - выбранный режим работы внешнего динамика, по умолчанию "M3"

20.12."FlowControl_Off" - контроль потока выключен, по умолчанию "+IFC=0,0;"

20.13."FlowControl_Hard" — контроль потока стандартный CTS/RTS, по умолчанию "+IFC=2,2;"

20.14."FlowControl_Soft" — контроль потока программный XON/XOFF, по умолчанию "+IFC=1,1;"

20.15."Pulse" — префикс импульсного набора, по умолчанию"P"

20.16."Tone" — префикс тонового набора, по умолчанию "T"

20.17."Blind_Off" - слепой набор выключен, по умолчанию "X4"

20.18."Blind_On" — слепой набор включен, по умолчанию "X3"

20.19."CallSetupFailTimer" — определяет команду таймера ожидания соединения "S7=<#>"

20.20."ErrorControl_On" - стандартный режим коррекции ошибок, по умолчанию "+ES=3,0,2;"

20.21."ErrorControl_Off" - режим коррекции ошибок выключен"+ES=1,0,1;"

20.22."ErrorControl_Forced" - расширенный режим коррекции ошибок"+ES=3,2,4;"

20.23."Compression_On" - включить компрессию"+DS=3;"

20.24."Compression_Off" - выключить компрессию"+DS=0;"

21.SpeakerPhoneDisable — Описание команды, определяющей выключение динамика

22.SpeakerPhoneEnable — Описание команды, определяющей включение динамика

23.SpeakerPhoneMute — Описание режима: Минимальный уровень выходного сигнала динамика

24.SpeakerPhoneSetVolumeGain — Раздел определяет команды для регулирования уровня сигналов передаваемых/принимаемых speakerphone блоком.

25.SpeakerPhoneUnMute — Описание режима: динамик включается, уровень выходного сигнала динамика такой, какой был до команды SpeakerPhoneMute

26.StartPlay — Описание режима: начать проигрывание в линию

27.StartRecord — Описание режима: начать запись.

28.StopPlay — Описание режима: прекратить проигрывание.

29.StopRecord - Описание режима: прекратить запись.

30.VoiceAnswer — Описание режима: голосовой ответ.

"1"="at+fclass=8"

"2"="at+vtd=10"

"3"="at+vsm=130,8000,0,0"

"4"="at+vit=6"

"5"="at+vls=1"

31.VoiceDialNumberSetup - Описание режима: набор номера голосом.

"1"="at+fclass=8"

"2"="at+vls=0"

"3"="at+vrn=0"

"4"="at+vtd=10"

"5"="at+vsm=130,8000,0,0"

"6"="at+vit=6"

31. VoiceToDataAnswer — Описание режима: переход в режим передачи данных и включение ответа на входящий звонок

Заключение

Так уж сложилось, что жизнь не стоит на месте, и фирма Conexant продолжает свои работы по совершенствованию драйверов. В зависимости от той или иной версии драйверов, некоторые параметры могут присутствовать, а другие отсутствовать. Кроме того, Вы сами убедились, что некоторые из них до сих пор не расшифрованы. Также, может изменяться содержимое папок. Поэтому, после установки любого нового драйвера, мы рекомендуем тщательно проверить все настройки, которые должны соответствовать вашему модему и линии, а к исправлению параметров подходить вдумчиво и творчески.

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

Авторы не дают своего согласия на использование данного документа (или любых его частей) в коммерческих "бумажных" СМИ. Распространение в рамках глобальных компьютерных сетей, может производиться только после разрешения авторов. Не возбраняются и приветствуются ссылки, а также цитирование отдельных положений этой статьи в технических конференциях сети FIDO и форумах Интернета, с обязательным указанием на первоисточник.

От редакции: Авторы данного материала занимаются также самостоятельной адаптацией и доработкой драйверов, причем бесплатно и без компенсации за счет сторонних фирм. Такая работа проводится на чистом энтузиазме, без каких-либо гарантий и технической поддержки. Поэтому мы будем весьма признательны тем, кто поможет обнаружить допущенные ошибки или найдет ключи для решения еще не раскрытых задач, с целью дальнейшего совершенствования этого документа. Последние версии драйверов для этих модемов можно найти на российском сайте компании Acorp .

 




7 марта 2002 Г.

HCF/HSF CONEXANT

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, :

  1. , ;
  2. .

. . ,

[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. AbortPlay <h10><h03> — ;
  2. AttachedTo - , com- ;
  3. BondOption: , . , . 1 — , ; 0 — . 8-15 , 0-7 .

:

Bit Enables
0 V.34
1 Full duplex V34, VFC, V32, V22
2 28Mhz/22Mhz
3 V.34Fax
4 Voice — ,
5 SpeakerPhone — , ,
6 V.FC — V.FC. V.FC ,
7 K56flex
8-15 hsf , 1 (h07), v92, v44 TX speed =48000 — . , 2000 2001

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 . :

N
1 ,
"Dialtone" — ,
2,3,4,5 Minimum ON time (ms); (1 )
6,7,8,9 Maximum ON time (ms);(1 )
10,11,12,13 Minimum OFF time (ms);(1 )
14,15,16,17 Maximum OFF time (ms);(1 )
18,19,20,21 Minimum ON time (ms); (2)
22,23,24,25 Maximum ON time (ms);(2)
26,27,28,29 Minimum OFF time (ms);(2)
30,31,32,33 Maximum OFF time (ms);(2)
34,35,36,37 Number of cycles needed for detection — ,
"BUSY" — ""
38,39,40,41 Minimum ON time (ms); (1 )
42,43,44,45 Maximum ON time (ms);(1 )
46,47,48,49 Minimum OFF time (ms);(1 )
50,51,52,53 Maximum OFF time (ms);(1 )
54,55,56,57 Minimum ON time (ms); (2)
58,59,60,61 Maximum ON time (ms);(2)
62,63,64,65 Minimum OFF time (ms);(2)
66,67,68,69 Maximum OFF time (ms);(2)
70,71,72,73 Number of cycles needed for detection — ,
"RINGBACK" — " "
74,75,76,77 Minimum ON time (ms); (1 )
78,79,80,81 Maximum ON time (ms);(1 )
82,83,84,85 Minimum OFF time (ms);(1 )
86,87,88,89 Maximum OFF time (ms);(1 )
90,91,92,93 Minimum ON time (ms); (2)
94,95,96,97 Maximum ON time (ms);(2)
98,99,100,101 Minimum OFF time (ms);(2)
102,103,104,105 Maximum OFF time (ms);(2)
106,107,108,109 Number of cycles needed for detection — ,
"Congestion" — " ". ,
110,111,112,113 Minimum ON time (ms); (1 )
114,115,116,117 Maximum ON time (ms);(1 )
118,119,120,121 Minimum OFF time (ms);(1 )
122,123,124,125 Maximum OFF time (ms);(1 )
126,127,128,129 Minimum ON time (ms); (2)
130,131,132,133 Maximum ON time (ms);(2)
134,135,136,137 Minimum OFF time (ms);(2)
138,139,140,141 Maximum OFF time (ms);(2)
142,143,144,145 Number of cycles needed for detection — ,

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 — , " ", . .

:

N
1,2 DialTone
3,4 DialTone , W
5,6
7,8 DialTone

DialTone, — CADENCE.

6.6 FLAGS — , . .

1 0 " ". TONEPARAMS
1 call progress. TONEPARAMS
2 " ". TONEPARAMS. , , . ,
3 " " . TONEPARAMS
4..7

2

0 " " . ""
1 " "
2 1800 . —
3 "". —
4 s- S7 , W
5 , " ", SmartDAA
6..7
3 0 H1
1 ( )
2
3 ,B,C .
4 .
5 " ", "". , "". , " — "
6 U-Law, -Law. -Law
7 Bell
4 0
1 DTMF_COMP_LEVEL
2..7

.: 1, 0.

6.7 PULSE — , .

1 — . , , , . , , "" — .. "1" — "". . :

0 1 2
1 1 9 2
2 2 8 3
3 3 7 4
4 4 6 5
5 5 5 6
6 6 4 7
7 7 3 8
8 8 2 9
9 9 1 10
0 10 10 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 () — , (, ). .

, .

N
1,2 , GPIO , . . — — GPIO
3,4 , GPIO
5,6 , GPIO : " , "
7,8 , GPIO : " , "
9,10 , GPIO : " , , CID "
11,12 , GPIO : " , , CID "
13,14 , GPIO : " , , CID "
15,16 , GPIO : " , , CID "
17,18 , GPIO : " , "
19,20 , GPIO : " , "
21,22 , GPIO : " , "
23,24 , GPIO : " , "

6.9 RING — , " ". , .

N
1 , " ".
2 , " ".
3,4 , " "
5,6 , " "
7,8 , " "
9,10 , " "

6.10 SPEEDADJUST — , 3 , , "" . 1 V.90, — k56, — v34. . , .

, , : 76543210. 4 (3210) M, 4 (7654) S. , 100 , : 110 0100. , M=0100 , S=110, :

.

, — 00011111(h1F), — 11110000(hF0). , . Conexant , . :

blers=f0 xx xx V.90, 44000; blers=64 40000; blers=1f V.34. : , .

6.11 SREG — s-register . . S- . , s- . .

4 :

1- — s-

2- — s-

3- — s-

4- — s-

10 .

6.12 T35code — . .., , 0000(0001 ..) , Country-Current.

6.13 TIMING — , . — .

N
1,2
3,4
5,6 ,
7,8

6.14 TONEPARAMS ( HSF) — , .

, :

N
PRIMARY TONE A — tone
1,2 , primary tone ,
3,4 . (. - ) (. + ).
5,6,7,8 . 10, 22, 35, 70
9,10 "tone", dBm, , " ". THRESHOLD
11,12 "tone", dBm, , " ". THRESHOLD
13-16
17-20 , "ToneON"
21-24 , "ToneOFF"
ALTERNATIVE TONE A —
25,26 , alternative tone ,
27,28 . (. — ) (. + ).
29-32 . 10, 22, 35, 70
33,34 , dBm, , " ". THRESHOLD
35,36 , dBm, , " ". THRESHOLD
37,38
39-42 , — " "
43-46 , — " "
Voice Call Progress Tone A
25,26 , primary tone ,
27,28 . (. — ) (. + ).
29-32 . 10, 22, 35, 70
33,34 ( dBm) , " . ". THRESHOLD
35,36 ( dBm) , " . ". THRESHOLD
37,38
39-42 , — " "
43-46 , — " "

6.15 Txlevel — .

, .

N
1 , dB
2 , dB
3 , , dB. , 1 2
4 , dB
5 , dB
6 , , dB. , 4 5
7 , dB
8 , dB
9 , , dB. , 7 8
10 . , - , . . .

+127 -127. — , 0- . : Txlevel, 10 dB 10 dB . 10- 2 (-dB), Txlevel 10, 12 dB
11 , (dBm)
12 , (dBm)

, V.90, Power Drop. , Power Drop 1, 2, 3 -15.

7. DSPINFO\FILTERS - .

8. EnableCallerID — , CallerID.

9.Fax\ Class1\ AdaptiveAnswer\ AnswerCommand - , \ .

10. GenerateDigit — , .

11.HandsetSetPlayFormat — , .

12.HandsetSetRecordFormat — , .

13.HangUp — , " ".

14.Init — . , , , . 1 . :

1 REG_SZ AT

2 REG_SZ AT&F

15.LineSetPlayFormat — , , .

16.LineSetRecordFormat — , , .

17.Monitor — , . ATS0=0. , .

18.OEM — , .

AT-, .

:

/
18.1 AT_MISC_DEF 1..4 ATWx 0 3
5..8 +FAE 0,1
9..12   0 — V90 , 1 — V90
13..16  
18.2 AT+MS 1..4 AT+MS=xx xx , . . V90 . 90 5A. 5A
5..8 AT+MS=,xx
9..12 AT+MS=,,xx
13..16 AT+MS=,,,xx
17..20 AT+MS=,,,,xx
21..24 AT+MS=,,,,,xx
18,3 AT+MSSTR Te , . V.92
18.4 AUDIO_AEC DSP
18.5 CADENCE 1 , . , Cadence Country.
2,3,4,5 Minimum ON time (ms); (1 )
6,7,8,9 Maximum ON time (ms);(1 )
10,11,12,13 Minimum OFF time (ms);(1 )
14,15,16,17 Maximum OFF time (ms);(1 )
18,19,20,21 Minimum ON time (ms); (2)
22,23,24,25 Maximum ON time (ms);(2)
26,27,28,29 Minimum OFF time (ms);(2)
30,31,32,33 Maximum OFF time (ms);(2)
34,35,36,37 Number of cycles needed for detection — ,
38,39,40,41 -  
18.6 CONSTTONEPARAMS

Tone ATBel
1,2 , ,
3,4 . (. — ) (. + ).
5..8 . . 10, 22, 35, 70
9,10 ( dBm). , " ". THRESHOLD
11,12 ( dBm). , " ". THRESHOLD
13..16
17..20 , — " "
21..24 , — " "

, :

23..48 AtV25
49..72 CI Center Frequency
73..96 Tone CI Side Band
97..120 ToneC 2912
121..144 ToneB 2312
145..168 ToneB 2750
169..192 ToneB 2130
193..216 ToneA Not ST
217..240 ToneC 1650
241..264 Tone 1270
265..288 Tone CReSEG1 2002

18.7 DAAType — DAA:

0 — , 1 — Smart, 2 —

DAA — , , .

0 — — .

1 — smart — , . , .

2 — — , — - .

18.8 FLAGS,

1 1
2 Telephone Answering Machine*
3 Voice View* — +FCLASS=8, +FCLASS=80
4 LCS
5 3.3v * — , Txlevel , Rxlevel 5db. , TX . .. -
6 " , "*
7 .*
2 0
1 ACF
2 PME
3 PME
5 . 1 — , 0 —
6 . 1 — . . , 0 — .
7 VGS, VGM. , DSVD
3 1 LAMP, V8b V90
2 DOS support
3 , DOS
4 ,
5 LAN
6 ,
4 0 GPIO
1 D3 DAA
2 " ", , . LCS
3

18.9 MISC_VOICE_PARMS — . +VGS, +VGM .

N
DSVD, +VGS
1,2,3,4
5,6,7,8
9,10,11,12
DSVD, +VGM
13,14,15,16
17,18,19,20
21,22,23,24
FDSP +VGS
25,26,27,28
29,30,31,32
33,34,35,36
FDSP, +VGM
37,38,39,40
41,42,43,44
45,46,47,48
FDSP, +VGR
49
50
51
TAM, +VGR
52
53
54
55
56 Telout limit
57 Voice Line Rx Gain Bias in dB units -
58 SpeakerPhone Line Rx Gain Bias —
59 SpeakerPhone Mic Rx Gain Bias — ()
60 Voice Codec Mic gain in dB units — ,

18.10 MOD_THRESHOLD — .

. 4 .

, — .

N
1,2,3,4 V21
5,6,7,8 V21Fax
9,10,11,12 V23
13,14,15,16 V22
17,18,19,20 V22b
21,22,23,24 V32
25,26,27,28 V32b
29,30,31,32 V34
33,34,35,36 K56
37,38,39,40 V90
41,42,43,44 V27
45,46,47,48 V29
49,50,51,52 V17

18.11 SREGS — s- (0-39). s-. . :

, Nvram. , , Nvram.

18.12 V25ter. , .

N /
1,2,3,4 +IPR  
5,6,7,8 +ILRR  
9,10,11,12 +MR  
13,14,15,16 +ESR  
17,18,19,20 +EFCS  
21,22,23,24 +ER  
25,26,27,28 +DR  
29 1-
A8x
 
30  
31,32,33,34 A8E V8o
35,36,37,38 V8a
39,40,41,42 V8cf
43,44,45,46 8vb
47,48,49,50
51,52,53,54
55,56,57,58
59,60,61,62
63,64,65,66
Cfrange
67,68,69,70
71,72,73,74
75,76,77,76
77,78,79,80
81,82,83,84
Protrange
85,86,87,88 +DS Direction
89,90,91,92 Comp_neg
93,94,95,96 Max_dic
97,98,99,100 Max_string
101,102,103,104 +EB Break_selection
105,106,107,108 Timed
109,110,111,112 Default_length
113,114,115,116 +ES Orig_rqst
117,118,119,120 Orig_fbk
121,122,123,124 Ans_fbk
125,126,127,128 +ESA Trans_idle
129,130,131,132 Framed_idle
133,134,135,136 Framed_un_ov
137,138,139,140 Hd_auto
141,142,143,144 Crc_type
145,146,147,148  
149,150,151,152 +ETBM Pending_TD
153,154,155,156 Pending_RD
157,158,159,160 Timer
160,161,162,163 +FIT Time
164,165,166,167 Action
168,169,170,171 +ICF Char format
172,173,174,175 Char parity
176,177,178,179 +IFC Modem_by_DTE
180,181,182,183 DTE_by_modem
184,185,186,187 +ITF Off
188,189,190,191 On
192,193,194,195 Report_period
196 E  
197 Q
198 V
199 T
200 &D
201 &C
202 L
203 M
204 X
205 &T
206 %E
207 &G
208 &P
209 &R

18.13 Hwdata — :

0 0 —
1 —
[1-3] 0 — 0 dB 1 — 10 dB
2 — 15 dB
3 — 20 dB
[4] 0 — 4 dB
1 — 4 dB
[5-7] 0 —
1 — 1
2 — 2
3 — 3
[8] 0 — TX ,
1 —
[9] 0 —
1 — ,
[11] , 0 —
1 —
[12] 0 —
1 —
[13] Charlemagne ( ) 0 — Charlemagne handset
1 — Charlemagne handset
[15] #PME FET c GPIO14 0 — GPIO14
1 — GPIO14

. , , . :

DC_ADJAST

Mute by analog speaker

NT4 port open

External filter

CHURCHILL

UpdateConfigSpace

ExternalIA

EnableAudioGPI

MoonWOR

SonyVioThrottle

MoonDmaWatchdog

DisableSpeedStep

HadsetExlusive

19 OpenHandset — ,

20. Settings — :

20.1."Prefix" - , "AT"

20.2."Terminator" — , "<cr>"

20.3."DialPrefix"- , , "D"

20.4."DialSuffix" - , ";"

20.5."SpeakerVolume_Low" - , "L0"

20.6."SpeakerVolume_Med" - , "L2"

20.7."SpeakerVolume_High" - , "L3"

20.8."SpeakerMode_Off" — , "M0"

20.9."SpeakerMode_Dial" - , "M1"

20.10."SpeakerMode_On" — , "M2"

20.11."SpeakerMode_Setup" - , "M3"

20.12."FlowControl_Off" - , "+IFC=0,0;"

20.13."FlowControl_Hard" — CTS/RTS, "+IFC=2,2;"

20.14."FlowControl_Soft" — XON/XOFF, "+IFC=1,1;"

20.15."Pulse" — , "P"

20.16."Tone" — , "T"

20.17."Blind_Off" - , "X4"

20.18."Blind_On" — , "X3"

20.19."CallSetupFailTimer" — "S7=<#>"

20.20."ErrorControl_On" - , "+ES=3,0,2;"

20.21."ErrorControl_Off" - "+ES=1,0,1;"

20.22."ErrorControl_Forced" - "+ES=3,2,4;"

20.23."Compression_On" - "+DS=3;"

20.24."Compression_Off" - "+DS=0;"

21.SpeakerPhoneDisable — ,

22.SpeakerPhoneEnable — ,

23.SpeakerPhoneMute — :

24.SpeakerPhoneSetVolumeGain — / speakerphone .

25.SpeakerPhoneUnMute — : , , SpeakerPhoneMute

26.StartPlay — :

27.StartRecord — : .

28.StopPlay — : .

29.StopRecord - : .

30.VoiceAnswer — : .

"1"="at+fclass=8<cr>"

"2"="at+vtd=10<cr>"

"3"="at+vsm=130,8000,0,0<cr>"

"4"="at+vit=6<cr>"

"5"="at+vls=1<cr>"

31.VoiceDialNumberSetup - : .

"1"="at+fclass=8<cr>"

"2"="at+vls=0<cr>"

"3"="at+vrn=0<cr>"

"4"="at+vtd=10<cr>"

"5"="at+vsm=130,8000,0,0<cr>"

"6"="at+vit=6<cr>"

31. VoiceToDataAnswer — :

, , Conexant . , , . , , . , . , , , , .

, (FAQ) . .

( ) "" . , . , FIDO , .

: , . , - . , , . Acorp .