Обратите внимание, что новости можно получать по RSS.
X
-

Информационные технологии, Infused Bytes - архив

23 февраля 1999, 00:00 (6636 дней назад, №6070)Апгрейды модемов USR - как это было
(Михаил Лихачев, 23 февраля 1999)


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

Давным давно, году так в 1988-ом или около того, американская фирма US-Robotics, на основе своих ранних разработок и текущих потребностей рынка, выпустила модем под названием Курьер. Была это такая большая черная коробка, за немеряные деньги (под тысячу долларов). Hикаких дочерних плат и 50-ых TMS'ов в ней еще тогда не было, а был 88-ой процессор и 25-ый TMS, прямо на одной большой плате. И работало это чудо на 2400 плюс HST 14400. Через некоторое время HST превратился в 16800, добавился второй TMS и появился V.32. А еще через некоторое время фирма USR решила выпустить удешевленную версию этого модема и назвала его Sportster. Однако, это была не отдельно спроектированная модель, а нечто, сделанное из Курьера. Поначалу американские умельцы научились переделывать их обратно в курьеры путем использования команды ATGW. Команду фирма запретила. Тогда умельцы начали перепаивать аппаратуру, которая задавала перемычки конфигурации. Тогда фирма развела прошивки для курьера и Спорстера. Я не занимался этой темой в то время, поэтому все это знаю по рассказам других людей, возможно - неточным. Тема апгрейдов в России началась с Чака Богорада где-то в 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 и голосовой режим. Этот путь оказался весьма сложным и долгим. Для начала, мы пытались заставить работать прошивку от Тербы. Hо ей не хватало памяти DSP. Затем мы нашли, чем отличаеся управление портом в двух моделях 93 года и пытались запустить одну прошвку на другой аппаратуре. Для этой цели летом 94 года была сделана первая отладочная аппаратура, где ПЗУ было заменено на ОЗУ с внешней загрузкой, которая осуществлялась совершенно бесподобным способом: 16 байт верхней памяти были сделаны двухпортовыми, так что и модем и отладчик могли их читать и писать. Затем модемный процессор останавливался, память заливалась NOP'ами и переходом в начало. Процессор запускался и начинал ходить по ней по кругу. Пока процессор ходил по этой памяти, отладчик на ходу изменял ее с другой стороны, подсовывая такие слова, которые, будучи интерпретированными как инструкции модемного процессора, заставляли последний испонять нужные нам действия! В частности, загружали в ОЗУ минимальный бут-блок и запускали основную загрузку. То есть, была создана система с микропроцессором вообще без  стартового кода в ПЗУ или на кристалле.

Отладчик

Отладчик (использовался при
разработке прошивок RC-21600)

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

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

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

Читайте доки, они - рулез

RTFM... Одна из нескольких полок.

Теперь пора вернуться к нашим работам по модемам 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. Hадо отметить, что, несмотря на довольно высокую цену ($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. А она как раз не менялась.

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

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


Опубликовано: Михаил Лихачев

Случайная заметка

6502 дня назад, 01:147 июля 1999 На днях вышла новая версия клиента ссылка . Для тех кто не знает, SET@home -- это такой продвинутый screensaver, который в ваше отсутствие анализирует данные с одного из крупнейших радиотелескопов в мире на предмет "осмысленных" сигналов из космоса. Данные скачиваются из интернета по мере окончания анализа предыдущего ...далее

Избранное

599 дней назад, 21:484 сентября 2015 Анонсирован CC'2016! Как обычно, состоится в последние выходные лета - 27 и 28 августа.

1495 дней назад, 00:5922 марта 2013 Прочёл тут книжку - iWoz ( ссылка ) , 2006 года. Это автобиография Стива Возняка. Похоже, что на русский её не переводили (в отличие от книг про Стива Джобса). В этой парочке, как известно, Возняк был инженером (собственно, и спроектировавшим Apple I и II), а Джобс - скорее предпринимателем. В книге есть довольно интересные ...далее

599 дней назад, 23:404 сентября 2015 Небольшое видео про CC'2015 ( версия без фоновой музыки здесь: ссылка )

967 дней назад, 03:121 сентября 2014 Мой семинар на Chaos Constructions'2014 (слайды можно в виде PDF скачать здесь: ссылка ) и несколько интервью с разными людьми: Вячеслав Славинский (svo) о Vectrex: ссылка Вячеслав Славинский (svo) о 3D Imager для Vectrex: ссылка Вячеслав Славинский (svo) о световом пере для Vectrex: ссылка ...далее