Все об протоколе HST! Пояснения: так и должно быть по задумке USR. Понятие Dual Standard означает, что модем поддерживает оба стандарта V.32 и HST. Поскольку для него они равноправны, то один из модемов должен указать, на каком из них работать. Если не указано ни на одном, то будет V.32. Я думаю, ты не обидишься, если техническую часть этого письма я отфорваржу в Ru.Usr, так как много кто спрашивает, как происходит коннект. Итак: *** Краткое описание коннекта на HST *** Рекомендуется заинтересованным лицам это письмо сохранить, положить на BBS, в FAQ, или еще куда, так как вопрос возникает регулярно. Все это относится к модемам USR HST DS 14400/16800/21600. Когда отвечающий модем снимает трубку, если не запрещено V.32, он начинает ответ первым тоном, с периодическим разворотом фазы, что на слух воспринимается как щелчки. Если запрещено V.32 (установка B1), то эта фаза пропускается. Звонящий модем, услышав этот тон, если задано B0 и не запрещено V.32, выставляет несущую V.32, что вызывает немедленный переход на коннект V.32. Если V.32 запрещен, и установлено B0, то звонящий модем ждет второй фазы. Если стоит B1, то звонящий модем выставляет тон 375 герц, что заставляет отвечающий модем немедленно прекратить первую фазу и перейти ко второй. В этой процедуре фирмой USR была допущена ошибка, и ранние звонящие курьеры "забывали", что они только что заставили отвечающий модем перейти ко второй фазе, и чрезмерно долго затягивали начало коннекта. В результате, если с отвечающей стороны стоит адаптивный факсовый ответ, коннект на HST вообще не успевал начаться. В Русском Курьере есть багфикс на это дело - маска 1 в регистре +X01. Итак, если не было перехода на V.32, и принудительного прекращения первой фазы, то отвечающий модем переходит ко второй фазе, что на слух звучит как более высокий тон. Hа этой фазе происходит коннект на 2400 и ниже, а так же коннект на HST. Если фаза 2 не перешла в коннект на 2400 и ниже, то отвечающий модем, если не запрещено V.32, переходит в третью фазу, которая представляет собой непрерывное чередование состояний V.32 (то ли AC, то ли CA, не помню на память), что выглядит как две частоты - 600 и вроде 2300 герц (опять же не помню на память), а на слух - звук низкого тона. В это время некоторые типы модемов начинают коннект на V.32. Если фаза 3 не закончилась коннектом, то модем через пару секунд переходит в режим ответа факсом, или, для Русского Курьера - еще и голосом. Если первое и второе запрещено, то он так и будет висеть в этой фазе до тайматута. Таким образом, в случае успеха, в режиме с B1 с любой стороны, мы получаем коннект на 2400. Сразу за этим следует обычная процедура установки протоколов коррекции, и, если это успешно, модемы договариваются о наличии у них HST. Если таковое происходит, то звук выключается, и следует переход в режим HST на скорости 9600 (а не 16800, как часто ошибочно полагают), но в строке коннекта выдается максимально возможная скорость коннекта, то есть 16800 или 21600. Если протокол коррекции на 2400 установить не удалось, то модемы и остаются на 2400, при этом разумеется /NONE. В случае моделей 14400/16800, и, в частности RC-16800, такая ситуация наблюдается чаще ожидаемого, из-за ошибки USR с ретрейнами на 2400: первый же ретрейн приводит практически к их бесконечному повторению. Эта ошибка исправлена только в моделях 28800 (оригинальных), и в RC-21600 (после апгрейда, разумеется). Встречается она относительно редко, так как ретрейны на 2400 - редкость сама по себе. Итак, коннект на HST установлен на скорости 9600, причем скоростной канал развернут от отвечающего к вызывающему. Затем, если позволяет качество связи, модем автоматически поднимает скорость до максимально эффективной, причем делается это по запросом приемной стороны. Модели 14400/16800, в том числе и RC-16800, делают это постепенно, перебирая все скорости. Это повышает устойчивость связи, так как уменьшает погрешности при расчете рекомендуемой скорости, но снижает среднюю производительность (CPS), поскольку выполняется довольно медленно (несколько секунд). Модемы 28800 выставляют конечную скорость после первого же переключения, проскакивая промежуточные, а RC-21600 делает это, если задано в регистре +X6. Дополнительно, RC-21600 имеет настройку того времени, в течение которого аккумулируется и усредняется рекомендуемая скорость, что позволяет эффективно бороться с импульсными помехами. По любому ретрейну скорость на HST сваливается обратно на 9600, и процесс повторяется заново. Здесь фирмой USR была допущена еще одна ошибка, известная под названием "мотоцикл", которая проявляется в моделях 28800, и состоит в том, что они забыли про одно свойство прошивки DSP, когда добавляли CELLULAR поверх существующего кода, в результате чего первый же ретрейн, при стечении некоторых обстоятельств, оказывается вечным. Я сознательно пишу только в общих словах, поскольку точная информация, чего именно и где было забыто, представляет коммерческую ценность. Поскольку обратный канал во много раз медленнее прямого, протокол коррекции вынужден посылать пакеты в несколько раз большего размера, чем на двунаправленных протоколах, чтобы снизить поток подтверждений о приеме, посылаемых принимающим модемом. Это вызывает существенное снижение общей производительности (CPS) на линиях, где часты короткие одиночные помехи. Hа таких линиях часто бывает выгоднее использовать двунаправленные протоколы, типа V.32. С другой стороны, разнесение каналов по спектрам частот позволяет не использовать эхогашение собственного сигнала. Именно это свойство обуславливает высокую помехоустойчивость HST, так как любой сбой синхронизации на V.32 запускает процедуру ретрейна с настройкой эхогашения, которая к тому же во всех модемах USR, кроме RC-21600, реализована с ошибками, из-за одной из которых время ретрейна чрезмерно затянуто, а из-за другой - вместо поиска корреляции с отраженным сигналом происходит "поиск" корреляции со случайными фрагментами собственного сегмента кода. Таким образом, если помехи идут чаще, чем раз в 8 секунд, то связь на двунаправленном протоколе принципиально не сможет работать, в то время как на HST будет CPS около 900-1000. USR сделала попытку обойти это при помощи ASL, который кроме всего прочего умеет проводить быстрые ретрейны, без подстройки эхогашения, но в результате допущенной ошибки первый же длинный ретрейн начисто отрубает такую возможность. К сожалению, это не может быть устранено с сохранением совместимости с существующими моделями. Кроме того, вместо использования более устойчивого нелинейного кодирования, в следствии ошибки при проектировании супервизора модемы USR используют его только на скоростях выше 14400, за исключением RC-21600, который при коннекте с себе подобным использует этот способ кодирования на всех скоростях. Еще одна полезная возможность - подъем высоких частот - из-за ошибки USR в коде сигнального процессора полностью не работает, за исключением опять-таки RC-21600, где эта возможность действительно управляется битом в регистре S15. Михаил Лихачев.