Что такое Софтмодем и чем нам это грозит? Комментарий


Не задаваясь целью как дискредитации, так и обеления самой идеи софтмодема, хотелось бы подробнее рассмотреть некоторые моменты, либо являющиеся спорными, либо просто не соответствующими тематике материала "Что такое Софтмодем и чем нам это грозит?".

Начать следует, пожалуй, с мифов о невероятных требованиях к вычисительной мощности устройства (процессора), необходимых для реализации модемных протоколов связи, зародившихся еще во времена процессоров i8086. Как показывает реальная практика сегодняшнего дня — требования к ресурсам процессора составляют примерно 10% для процессора класса Pentium II 400 MHz и около 40% для процессора Pentium 200 MHz при полностью программном софтмодеме. HSP модемы с собственным DSP обеспечивают еще меньшую нагрузку. Таким образом, уже с появлением следующего поколения центральных процессоров эти цифры могут быть заметно снижены. Что касается утверждения о бОльших потенциальных возможностях аппаратных модемов в части реализации новых возможностей и протоколов — увы, практика показала иное — если владельцам модемов Courier удалось безболезненно проапгрейдить их для поддержки протокола V.90, (владельцам спортстеров пришлось доплатить некоторую сумму, в дополнение к уже уплаченной при покупке модема), то в большинстве случаев пользователь аппаратных модемов был вынужден покупать новое устройство, как это происходило, например, с достаточно дорогими модемами фирмы Zyxel при появлении протоколов V.32->V.34->V.34bis->V.90. При этом, у существующего модема могло не хватить всего лишь нескольких процентов вычислительной мощности, однако жесткая ограниченность аппаратного решения заставляла полностью отказываться от возможности апгрейда. Яркий пример — фирма Digicom Systems, выпустившая в свое время модем серии Connection 96. Перспективы обещали быть радужными — при первоначальной максимальной скорости в 9600bps через некоторое время вышла версия микропрограммы с поддержкой скорости 14400bps, обещалось светлое будущее в виде апгрейда до протокола V34. И вдруг все кончилось — вычислительной мощности ADSP2115 хватило лишь для реализации скорости 19200bps протокола V32Terbo. То есть сначала покупателя заманивают обещаниями апгрейдов и прочих приятных возможносей, затем все это оказывется блефом, приводящей к уплате очередной суммы денег за такой модем. Это наглядно показывает всю выгоду изготовления аппаратных модемов как для
производителей, так и для продавцов.

Поступающие в продажу в последнее время софтмодемы можно довольно четко разделить на две категории - полный софтмодем, не имеющий собственного полноценного DSP, и включающий в себя генератор полного набора частот, необходимых для реализации протоколов, включая V.90, и цифровой фильтр входных и выходных сигналов модема.

Примеры — модемы, собранные с использованием чипсетов STMicroelectronics 75xx, PCtel 1789N/W и Rockwell HCF/SoftK56, например, AZtech MSP3880.

Ко второй группе софтмодемов можно отнести DSP-based модели,имеющие полноценный DSP, но отсутствующий контроллер, занимающийся реализацией интерфейса AT-команд, и работой по управлению DSP и компрессии данных.

Требуемая производительность этого контроллера весьма незначительна, и может быть оценена примерно как 4-х кратная по отношению к процессору i8086, работающему на частоте 4.77 MHz.

Типичные примеры — модемы на чипсете Lucent 164x. Готовые модемы на их базе производят, например, фирмы Genius GM 56PCI-L, FIC GM56PCI, Paradise WaveCom 56K PCI.

Что касается вопроса об остающихся софтмодему недостаточных ресурсов при выполнении к примеру, приложений виртуальной Ява-машины — это не cовсем так, на самом деле, говорить здесь следует скорее об остающихся ресурсах процессора для выполнения приложений Win32 после того, как софтмодем уже отберет себе необходимую для работы часть процессорного времени, так как в отличие от этих приложений драйвер модема работает с приоритетом ядра системы и процессорного времени может не хватить, например самой программе, выполняющей прием данных от модема и сохраняющей их на диске в виде файла. Также разработчиками фирм Motorola и Smart Link предприняты и запатентованы некоторые методы для предотвращения возможных проблем с драйверами софтмодемов, более того - программисты Motorola утверждают, что им удалось добиться обработки критических событий модема в режиме реального времени. Так же считают и специалисты фирмы Rockwell, реализовавшие технологию Latency Guard. Правда, нельзя не отметить — такие способы требуют скорее подготовки хакера, чем системного программиста, однако это связано с недостатками самой системы Windows, и другого выхода здесь просто нет.

Таким образом — сложности с падением скорости передачи данных при обычной работе с компьютером являются скорее надуманными, чем имеют под собой реальную основу. Что касается экстремального случая с возможным монопольным захватом ресурсов центрального процессора некорректно написанной программой — это, конечно же, приведет к разрыву связи софтмодемом, а аппаратный модем приостановит процесс приема-передачи данных. Кстати, при длительных задержках в этом процессе аппаратный модем связь конечно не разорвет, но вот сбои в протоколах верхнего уровня (например TCP/IP) не исключены — что также вполне может привести к необходимости повторного установления соединения. В связи с этим хочется обратить внимание вот на что: аппаратные модемы обеспечивают более высокую скорость передачи данных, чем софтмодемы, в том числе и из-за сравнительно неотработанных драйверов для последних, и разрыв может достигать в отдельных случаях сотен CPS. И здесь возникает еще одна проблема, близкая Российскому пользователю, работающему с повременной оплатой услуг Internet — при достаточно длительной работе с софтмодемом (месяцы, годы) экономия на его покупке может оказаться мнимой — если пользователь в основном занимается приемом/передачей файлов значительных обьемов, разница в оплате услуг интернет-провайдера при работе с аппаратным и софтмодемом может составить значительную сумму денег — и не в пользу последнего.

Теперь по поводу якобы имеющейся у аппаратных модемов "адаптации" к Российским телефонным линиям. Увы, за исключением разве что модемов фирмы INPRO, никаких доработок другими производителями модемов не производится, да и специалистами INPRO производится лишь серьезная доработка кода супервизора, и не предпринимается никаких шагов для усиления аналоговой части, все также рассчитанной на качественные западные линии. Что касается модемов фирм Zyxel и 3COM — добавления АОН в прошивку в первом случае нельзя считать какой-либо доработкой, направленной на улучшение функционирования модема, а во втором случае — по-прежнему, поставляемые в Россию фирмой 3Com модемы не имеют никакой адаптации.

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

Касательно не всегда корректной рекламы — хотелось бы привести еще и такой пример — в качестве одного из преимуществ софтмодемов для переносных ПК, выполненных в виде PC CARD или MDC (Mobile Daughter Card) преподносится и существенная экономия энергоресурсов, связанная с тем, что у таких модемов ток потребления действительно чрезвычайно мал — это связано прежде всего с минимальной степенью интеграции применяемых в этом случае чипов. Однако скромно умалчивается о том, что для выполнения загрузки файлов аппаратному модему могут потребоваться лишь минимальные ресурсы процессора — к примеру, работающий в режиме энергосбережения на частоте 8MHz процессор ноутбука вполне справится с этой задачей, в то время как для нормальной работы софтмодема потребуется примерно пятикратное ее увеличение — в результате вместо экономии энергии получим ее повышенный расход.

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

Можно предположить, что наиболее привлекательными могли бы стать софтмодемы с собственным DSP — например, на чипсетах производства Lucent "Mars" и "Apollo" — к примеру, они имеют собствекнный NVRAM (если производитель конкретного модема не сэкономил на этом). Что это значит? Не секрет, что разработчики микропрограмм, так или иначе адаптирующих их для Российских условий, активно пользуются возможностью сохранения своей информации в этой памяти для защиты микропрограммы. В качестве примера приведу Российскую версию микропрограммы для модемов Courier В.Додонова — после нескольких лет успешной продажи защита все же была сломана пиратами — однако лишь сравнительно недавно. То же касается и модемов Украинской фирмы "Вектор" на чипсете Rockwell — насколько мне известно, до сих пор пиратских версий микропрограммы не появилось, хотя в качестве защиты применен именно такой способ. В случае же действительно удачной и качественной разработки можно задуматься и о применении, например, собственного ключа защиты — при достаточно продуманной разработке ПО и массовом производстве стоимость такого ключа не превысит нескольких долларов, обеспечив при этом приемлемый уровень защиты. Ну, а в дальнейшем можно и задуматься о заказном варианте разводки платы и применении дополнительных элементов на ней — как это упоминалось в статье применительно к модемам Proxyma.

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

Что касается перспектив шины ISA — здесь явно ощущается прессинг, причем с двух сторон — как производителей чипсетов (Intel) так и операционных систем. Насколько мне известно — в версии OC Microsoft Millennium2000 поддержка шины ISA просто не предусмотрена — да и будут ли производители материнских плат в течении длительного времени идти на дополнительные затраты для установки недешевого моста PCI/ISA — сказать однозначно нельзя. Сегодня при принятии решения о покупке внутреннего модема на шине ISA покупателю следует весьма серьезно задуматься об оправданности такого шага, и в первую очередь рассмотреть возможные альтернативы.

Если посмотреть на имеющие на рынке модемные чипсеты для аппаратных модемов на шине PCI, то можно заметить, что их производством занимаются как минимум 3 фирмы — Rockwell, Cirrus Logic и Lucent. А вот что касается предлагаемых к продаже готовых модемов — налицо лидерство именно софтмодемов для этой шины. В то же время — наблюдается буквально навязывание производителям в принудительной форме (Intel, VIA) установки на материнские платы аудио-кодека и AMR-слота, то есть, намерение производителей все же увеличить интеграцию системы и стремление "продавить" так или иначе технологию софтмодемов — налицо.

О необходимости драйверов для софтмодемов — на мой взгляд,не стоит заострять на этом внимания, и не следует рассматривать как что-то экстраординарное — софтмодем такое же устройство, как например звуковая или видеокарта, и, по многочисленным откликам людей, использующих софтмодемы — те же звуковые карты, выпущенные сравнительно недавно, создают не меньше проблем, связанных с совместимостью и устойчивостью работы системы в целом. Возвращаясь же к надежности аппаратных модемов — из-за ошибок firmware они могут иногда просто зависать, и если для внешних модемов проблема решалась повторным включением питания — для возобновления работы внутренних моделей приходилось уже выключать весь ПК, что нередко случалось, например, с ранними версиями модемов USR Sportster на базе TMS.

Подводя черту, хотелось бы попытаться ответить на многочисленные вопросы пользователей "Cтоит ли покупать софтмодем"?

1. Если пользователь, решившийся на такое приобретение, представляет себе разницу между отдельными "подвидами" софтмодемов, следует обратить внимание на модемы с собственным DSP — например с чипсетом от фирмы Lucent 1646, которые фигурируют в прайслистах торгующих фирм обычно как "Lucent 56K PCI Modem", стоимостью около $23–25 в OEM-варианте.

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

2. Необходим осторожный подход при выборе полных софтмодемов, например, на чипах SiLabs, STMicroelectronics (драйверы фирмы Smart Link) — эти модемы могут создать неоправданные трудности как при установлении связи, так и при работе на линиях невысокого качества, а также отсутствием реализованной в настоящее время в драйверах упомянутой фирмы эмуляции COM-порта для работы в окне DOS операционной системы Windows.

3. Пользователь должен быть готов к возможным конфликтам оборудования при установке таких модемов и знать пути их решения — как показывают отклики читателей — наиболее частые проблемы - конфликты со звуковой картой при неверном распределении IRQ в системе, проблемы при конфигурации как адреса, так и прерывания модема для работы на необходимом COM-порту, установка модема в соседний с AGP слот PCI, отсутствие установленной поддержки PCI IRQ для не-Intel чипсетов (VIA, SiS, и т.п.) либо устаревшая версия драйверов для самого модема.

4. В некоторых случаях, в поставку с модемами в OEM-исполнении могут не входить, например, драйверы для OC Windows NT, как это бывает в случае с модемами Zoltrix Phantom. Это также требует от пользователя некоторых знаний для самостоятельного получения свежих версий ПО с сайта производителя.

В противном случае, весьма вероятно разочарование как от плохой работы приобретенного устройства, так и от возможной неудачной попытки заставить его работать без конфликтов с остальным оборудованием.

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

Полезные ссылки:

  • Драйверы для софтмодемов на чипсетах Agere (Lucent)
  • Драйверы для софтмодемов на чипсетах PCtel
  • Поиск драйверов для модемов на чипсетах Conexant (Rockwell)

 




Дополнительно

Нашли ошибку на сайте? Выделите текст и нажмите Shift+Enter

Код для блога бета

Выделите HTML-код в поле, скопируйте его в буфер и вставьте в свой блог.