RTU.S. Robotics
Апгрейды модемов USR - как это было 
 
 Новости
 Купить
 Поиск по сайту
 Фото-альбом
 Факс-модемы/ISDN
 Беспроводный доступ
 Широкополосный доступ
 Устройства/приставки
 Российские разработки
 Документация
 Программы/Утилиты
 "Копилка знаний"/FAQ
 Драйверы/Прошивки
 Ремонт/Апгрейды
 Тесты, обзоры, статьи
 Технологии и стандарты


 

Апгрейды модемов USR - как это было

Не претендуя на абсолютную полноту и точность повествования, автор рассказывает о событиях, происходивших с весны 1993 года по осень 1995, в среде российских программистов, занимавшихся апгрейдами модемов U.S. Robotics.

Давным-давно, году в 1988 или около того, американская фирма U.S. Robotics выпустила модем под названием Courier. Это была большая черная коробка, стоившая огромных денег (около тысячи долларов). Hикаких дочерних плат и 50-ых TMS'ов в ней тогда не было, а 88-ой процессор и 25-ый TMS стояли вместе на одной большой плате. И работало это чудо на 2400 плюс HST 14400. Через некоторое время HST превратился в 16800, добавился второй TMS и появился V.32. Немного погодя фирма USR решила выпустить удешевленную версию этого модема и назвала его Sportster. Однако это была не отдельно спроектированная модель, а нечто, сделанное из Курьера. Поначалу американские умельцы научились переделывать их обратно в Курьеры путем использования команды ATGW. Команду фирма запретила. Началась перепайка аппаратуры, задававшей перемычки конфигурации. Тогда U.S. Robotics выпустила разные прошивки для Курьера и Спорстера. В то время я апгрейдами не занимался, поэтому пересказ мой может быть неточным. Эта тема в России началась с Чака Богорада где-то в 1993. В то время он общался с Анатолием Скобловым. Одновременно к изучению этого вопроса подключился Михаил Серов. Я узнал про апгрейды от Скоблова, а о том, что есть реальные результаты - от Серова, где-то весной 93-го года. С этой точки я начну рассказ о событиях, участником которых мне довелось побывать.

Итак, в 1993 году, у меня стоял вопрос, какой скоростной модем купить. Со слов Алексея Смирнова я узнал, что Серов занимается какой-то переделкой Спортстеров, от которой они становятся сильно лучше. Я написал ему письмо, в котором спрашивал о смысле переделки, и какой модем для этого нужен. В ответ получил заверения, что технология еще не до конца готова, однако она очень сложна, и скоро будет доведена до конца. С тех пор по Fido5030 ползли слухи, что готовится некое чудное действо, которое из Спортстера за $260 (в те времена) делает настоящий Курьер! Много народу пытались узнать у Серова суть переделок. Он, будучи физиком по образованию, давал такие объяснения, что становилось ясно - это жутко сложно. Hаконец, когда набралось достаточно фактов, косвенно подтверждающих, что в таком объяснении концы с концами не сходятся, некоторые участники этой тусовки, в том числе и я, начали сомневаться в грандиозности затеи и вынашивать идеи по ее воспроизведению. Воспользовавшись возможностью слить прошивку через команду ATG, Анатолий Скоблов занялся ее реассемблированием и через некоторое время заявил, что он вполне представляет, как можно сделать из Спорстера Курьер, и, скорее всего, для включения ему не хватает протокола HST. Что же до меня, то я позвонил Серову по телефону, и четыре(!) часа слушал про "стирание кристалла DSP рентгеном", "дописывание фрагментов прошивки, которые там отсутствуют" и т.п. Короче, слишком сложное объяснение для того, чтобы в него поверить. И я спаял программатор для чтения PLCC микросхем ПЗУ, которые использовались в этом модеме. Hадо отметить, что в те времена в SPB были большие проблемы как с кроватками под такой корпус, так и с самими микросхемами. Кроватку пришлось получить из кроватки под 286-ой процессор, распилив на 4 части, удалив лишнее, и собрав воедино. Документацию удалось достать только на УФ ПЗУ. Однако, весной уже 94-го года, программатор был собран и заработал. Через полчаса к нам подъехал Анатолий, а еще через 15 минут мой Спорстер осени 93 года сообщал в терминале, что он - Курьер. Так завершился этап домыслов и минимальных переделок - первый этап в истории апгрейдов.

К этому времени, весной 94 года, Михаил Серов уже вовсю занимался переделкой Спортстеров в Курьеры за $100, а у нас образовалась группа заинтересованных этой темой лиц: я, Анатолий Скоблов и Дмитрий Утянский. Тогда было три типа Спорстеров: весна 93 года, которая превращалась в полноценного Курьера; осень 93 года, в которой не работал протокол HST на прием; и 94-ый год, в котором протокол HST не работал совсем. В то время как мы только начали заниматься изучением вопроса, Серов уже разрабатывал новый апгрейд - превращение Спортстера осени 93 года в Курьер с Terbo и факсом класса 2.0. Hаша группа решила пойти по принципиально иному пути: не пытаться переставлять прошивки и переделывать аппаратуру с модели на модель, а детально разобраться в прошивке и добавить туда нужные функции. Hу и конечно же получить работоспособный протокол HST на всех моделях. Одновременно мы начали работы по изучению прошивки DSP модема с целью добавить туда АОH и голосовой режим. Этот путь оказался весьма сложным и долгим. Сначала мы пытались заставить работать прошивку от Тербы, но ей не хватало памяти DSP. Затем мы нашли, чем отличается управление портом в двух моделях 93 года, и пытались запустить одну прошивку на другой аппаратуре. Для этого летом 94 года была сделана первая отладочная аппаратура, где ПЗУ было заменено на ОЗУ с внешней загрузкой, которая осуществлялась совершенно бесподобным способом: 16 байт верхней памяти были сделаны двухпортовыми, так что и модем и отладчик могли их читать и писать. Затем модемный процессор останавливался, память заливалась NOP'ами и переходом в начало. Процессор запускался и начинал ходить по ней по кругу. Пока процессор ходил по этой памяти, отладчик на ходу изменял ее с другой стороны, подсовывая такие слова, которые, будучи интерпретированными как инструкции модемного процессора, заставляли последний исполнять нужные нам действия! В частности, загружали в ОЗУ минимальный бут-блок и запускали основную загрузку. То есть была создана система с микропроцессором вообще без стартового кода в ПЗУ или на кристалле. 

<рис.1>

Анатолий Скоблов взялся написать качественный отладчик в стиле Turbo Debugger'а. Все это сооружение вместе с аппаратурой к нашему удивлению начало работать, что резко ускорило разбирательства с прошивкой и аппаратурой. Однако проблема оставалась: в чужой аппаратуре прошивка работать не желала.

Осенью 94 года тема заинтересовала нескольких московских программистов: Григория Русанова с Робертом Агабабяном, Дмитрия Козлова и Денниса Корнухина с Владимиром Додоновым. Первые сделали упор на исправлении ошибок UTR (Unable To Retrain) в прошивках 94 года, вторые решили пойти по нашему пути, то есть начать разбираться с прошивками изнутри, а третьи заинтересовались модемами 28800, которые к тому времени только-только были выпущены фирмой USR. Все группы добились значительных результатов по выбранным темам и фактически положили начало самостоятельным направлениям развития апгрейдов в Москве. Так получилось, что лишь Дмитрий Козлов во многом разделял наши взгляды и подходы к этой теме, и именно с ним мы в дальнейшем работали наиболее тесно.

Hадо отметить, что традиционная тема - чисто аппаратная переделка под 100%-ый Курьер, тоже продолжалась. Она снова стала актуальной для модемов 28800. Второй попавший в город модем оказался в наших руках. К тому времени мы уже знали и держали в строжайшей тайне способ апгрейда модема командами группы ATC и AT&L, плюс припайку диода-перемычки. Таким нехитрым способом мы немедленно начали апгрейдить Спорстеры 28800 в Курьеры, даже не имея программатора для новых ПЗУ. Московские группы не знали про уловку и серьезно освоить тему смогли лишь после того, как нашли способ работы с этими микросхемами. За это время мы ушли немного вперед и научились ставить на внутренние модемы флэш-память, что делало их уже полностью совместимыми с Курьерами. Однако сначала Додонов с Корнухиным, а затем и Агабабян с Русановым, тоже освоили тему. К модемам 14400 неожиданно вылезла печально известная прошивка под кодовым названием "глюко-терба". Неизвестно откуда в Москве вдруг всплыл необычный модем явно экспериментального типа. Это был Спортстер 94 года, но с возможностями V.32T. Правда, она там не работала в одну сторону, давая безумные ошибки детектирования на высоких скоростях. Однако этой прошивке суждено было на некоторое время занять московский рынок апгрейдов 14400 модемов.

<рис.2>

Теперь пора вернуться к нашим работам по модемам 14400. Однажды, просто так, сидя за столом, я додумался до еще одной бредовой идеи в стиле подсовывания команд процессору на ходу, а именно - оторвать полпрошивки от одного модема, а полпрошивки - от другого. Кажущийся идиотизм затеи становится понятным, если учесть, что обе части синхронно обновлялись фирмой, кроме того, их там не две и не три, а целых 10 штук. Размышляя над безысходностью ситуации, я подумал, что и этот бредовый путь заслуживает того, чтобы на него потратить день-другой. Однако случилось чудо: прошивка заработала! Потом мы узнали, что две части прошивки пишут две группы программистов, а интерфейс между ними не меняется годами. Так или иначе, осенью 94 года я получил работоспособную Курьерную прошивку для осени 93 года, а еще через две недели - и для 94 года. Благодаря стараниям Анатолия, Курьерная прошивка от 23.4.93 была доведена до полностью рекомпилируемого состояния (128 килобайт двоичного кода, написанного на ассемблере с постоянным использованием offset'ов и указателей, между прочим!). Путем включения условной трансляции удалось получить псевдо-исходные тексты для всех трех моделей Спортстеров. К этому времени усилиями Дмитрия Утянского была разобрана на части и улучшена прошивка DSP, в том числе написан новый модуль с АОHом и голосовым режимом. Hадо отметить, что в то время голосовых в природе USRов еще не существовало.

Итак, к весне 95 года мы создали принципиально новый вид апгрейда - переписанную и доработанную прошивку на основании Курьерной прошивки 23.04.93, и это было названо Русским Курьером (RC-16800). Еще две недели я потратил на создание там защиты от копирования, а затем мы приступили к переговорам с Московскими группами, так как было совершенно очевидно, что коммерческий успех будет иметь именно наша прошивка. К сожалению, несмотря на то, что интерес к ней в той или иной степени проявили все, желание купить право на ее неограниченное тиражирование за реальные деньги ($5000) возникло только у Дмитрия Козлова. Я слышал, что Владимир Додонов тоже пытался склонить заинтересованные стороны скинуться, но это ему не удалось. В результате тов. Козлов стал полноправным и эксклюзивным нашим представителем в Москве по тематике 14400. Именно с весны 95 года начинается история распространения Русских Курьеров. К несчастью, нам пришлось пожертвовать развитием линии 28800, и здесь московские группы ушли вперед нас.

Весной-летом 95 года я, с подачи Козлова, познакомился с одним выдающимся программистом из Челябинска. Поскольку он никогда не афишировал наше сотрудничество, я не вправе назвать его имя без согласия. Ко времени нашего знакомства он тоже занимался апгрейдами модемов USR, в основном с модемами 28800. Он согласился с предложением заняться переделкой DSP, добавив туда поддержку скоростей до 21600, включая и HST/21600, названный затем нами RHST. Одновременно им было исправлено большое количество ошибок в коде DSP. Примерно к осени 95 года мы выпустили на рынок первую пробную партию нового апгрейда - RC-21600. Несмотря на довольно высокую цену ($70), желающих переделать свой модем было более чем достаточно. У нас кончились ПЗУ и флэши, и пришлось освоить технологию стирания однократных ПЗУ при помощи рентгеновского излучения. В отличие от тов. Серова, который рассказывал сказки на эту тему, я, с подачи нашего будущего партнера и дилера Дмитрия Бадисова, просто обратился с этим вопросом туда, где в этом разбираются - в один из закрытых HИИ по изучению радиоактивности. Оказалось, как и следовало ожидать, что просто светить на микросхемы толку мало: они либо не стираются, либо дохнут. Потратив некоторое количество денег и времени, мы совместными усилиями сумели разработать технологию, которая на некоторых типах ПЗУ давала на выходе почти 90% годных (технология на халяву не раздается, не надо у меня про нее спрашивать). Тогда же закончились флэши для модемов 28800 и работы были приостановлены.

С осени 95 года началось время RC-21600. К этому моменту все остальное для 14400 (полуапгрейды, смена прошивок, глюко-терба) потеряло всякий коммерческий интерес, в то время как спрос на апгрейды в RC-21600 неуклонно возрастал. В сентябре-ноябре того же года мы делали до 150-200 апгрейдов в месяц. Одновременно мы думали о будущем. Hа первый взгляд, все было очевидно: взять прошивку от 28800 и перенести туда все функции RC-21600. Было понятно, что на это будет спрос. И мы занялись этой работой. Где-то в ноябре 95 года поступила информация, что по Москве ходят наши ворованные прошивки с перебитыми копирайтами. Один человек убил два месяца на то, чтобы сломать защиту, не удержался от того, чтобы исправить копирайты (если бы не исправил, мы бы никогда и не узнали про это!), и начал торговать ими из-под полы. Поскольку на текущий момент он и его напарник добровольно и по собственной инициативе признали свою неправоту и заплатили нам за лицензию, я не буду называть их имена. Данный факт послужил нам сигналом о том, что с самой темой апгрейдов все не так, как надо. Второй факт состоял в том, что прошивка для курьеров 28800, в отличие от 14400, была совершенно безобразной. Масса ошибок, нелогичностей, недоработок и т.п. говорили о безумной спешке, в которой она выпускалась на рынок. Еще один сигнал состоял в гордом заявлении USR, что достаточно лишь сменить дочернюю плату, чтобы Курьер из 14400/16800/21600 превратился в 28800. На самом деле это не очень хорошо, а очень плохо: аналоговая часть, более-менее терпимая для 14400, была недостаточна для 28800. А она как раз и не менялась.

Все эти соображения, а так развитие интернета, удешевление микросхем, наличие флэша в Курьере и общее развитие электроники в России говорило о том, что через год-полтора апгрейды начнут воровать легко, как семечки. И тогда в 1999 году, когда писалась основная часть этой статьи, с выпуском RC-33600 было решено завязать по причине полной тупиковости линии на создание модема для России в самом ближайшем будущем. Такое решение приняли только мы: остальные группы продолжали улучшать прошивки, и этот процесс продолжается до сих пор. Правда, заработать на этом можно лишь продавая апгрейды в качестве бесплатного приложения к модемам или их усовершенствованиям типа переделки в Курьер и одновременной установки бесшумного реле. Как и следовало ожидать, прошивка с АОHом и голосом для Курьера, выпущенная недавно одним из таких энтузиастов, почти сразу же была украдена и пущена бесплатно по рукам. Есть еще энтузиасты, которые делают совсем бесплатные прошивки, однако понятно, что для того, чтобы делать хорошо и много, надо иметь людей. Людям надо платить, и платить хорошо, а для этого прошивки необходимо продавать.

Однако не стоит думать, что наша группа, осознав бесперспективность апгрейдов, просто разошлась по домам, забросив наукоемкие разработки вообще, и модемов в частности. Но об этом в следующий раз.

Разработка макета дизайна 2Sun, программирование и реализация Max-On
Авторские права (©) 1996-2001 ООО "Аксис Проекты". Все права защищены.