Микрохирургия писка

Сергей Иванов

Довольно давно, когда интернета в нашей стране не было, а если и было, то очень мало, и даже BBS были не особенно распространены, товарищу Remo захотелось во что бы то ни стало прошить свой внутренний Sportster. Он не знал, как это делается, зачем ему это нужно и какой эффект это принесет, но где-то слышал, что с помощью этого магического действа 14 400 бод можно превратить в 28 800, а то и в вожделенные 33 600.

Для осуществления этой мечты этот неожиданный человек не поленился узнать телефон какой-то американской BBS, дозвонился туда (процесс дозвона был довольно увлекателен и занял не один час), не пожалев денег, и скачал себе файл, называемый прошивкой, вместе с инструкцией по эксплуатации, и после небольшого геморроя и общения с модемом на русском устном языке вместо надоевших уже 14 400 модем соединился (не знаю уж, с кем) на 28 800. И возрадовался Remo.

Это я к чему? Да к тому, что потраченные на звонок деньги сторицей окупились при дальнейших соединениях с провайдером за счет большей скорости, а модем этот (внутренний "спортстер") живет у Remo до сих пор. Так что прошивка модемов - довольно полезная штука, тем более что сейчас сей процесс благодаря интернету намного упростился.

Но сначала проясним ситуацию. Прошивке поддаются не все модемы. Во-первых, если у вас soft-, он же win-модем, то термин "прошивка" к нему неприменим, потому как ПЗУ у него, естественно, нет, функции его выполняют драйвера, и эффект перепрошивки достигается их сменой. Во-вторых, модемы без флэш-ПЗУ безболезненной перепрошивке не поддаются. Как правило, тип ПЗУ указывается в мануале, но если там ничего не написано - ищите на сайте производителя. Почти все современные модемы делаются с flash, а вот почти все старые - с УФПЗУ (ПЗУ, программируемое с помощью ультрафиолетового излучения), информация в котором поддается изменению только при помощи программатора.

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

Мало того, новая прошивка нужна далеко не всегда. Например, если у вас модем с поддержкой протокола V.90, и он, по-вашему, плохо держит связь, то вполне возможно, что он просто не настроен. Сама прошивка тоже далеко не всегда способна улучшить ситуацию, например, бесполезно требовать от самого дешевого модема на старом глюкавом чипе хорошего качества на отстойной линии, хоть вы его весь обпрошивайте - толку не будет: дело в чипе и реализации аппаратной части.

И только в том случае, если вы уверены, что ваш модем грамотно настроен, явно способен на большее, имеет флэш-ПЗУ и для него существует версия микропрограммы, которая радикально улучшит ситуацию, - тогда имеет смысл приступать к прошивке. Шить же модем просто так не имеет смысла, хотя для любителей всего нового и неизведанного (читай - для любителей постоянно приводить комп в чувство) - самое оно.

Я постараюсь вкратце рассказать, как осуществлять таинство перепрошивки на примере модемов трех фирм, получивших наибольшее признание в нашей стране - Rockwell (сам Rockwell делает только чипы для модемов), ZyXEL и U.S. Robotics.

Но сначала - отмазки. Я несу ответственность ТОЛЬКО за слова, сказанные мной, и совершенно не несу таковой за ваши действия и их последствия, так что если в результате вы что-нибудь спалите или испортите - вините только себя.

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

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

ZyXEL

Модемы популярной в последнее время серии Omni, как правило, поставляются с диском, содержащим специальную программу для их прошивки. Пользоваться ей очень и очень просто - достаточно скачать с http://www.zyxel.ru/ или http://www.omni.ru/ bin-файл с микропрограммой, а затем указать мастеру, к какому порту подключен ваш модем и где лежит скачанный вами файл. Все остальное он сделает сам. Затем следует зайти в терминал и подать команду "AT&F&WZ". Все.

Модем перепрошит и инициализирован. Кстати, на сайте появилась версия микропрограммы за номером 1.09 - судя по отзывам, довольно неплохая. А уж по официальным данным - багов исправлено просто великое множество. Учитывая, что все эти модемы пока поставляются с версией 1.06, попробовать стоит.

ПЗУ моделей Omni 288S, U-336E, U-336R, U-336RE, U-336S, Elite 2864, Elite 2864L прошить чуть сложнее. Нам понадобится терминал c поддержкой протокола Xmodem и свежая прошивка опять же с www.zyxel.ru. Крестимся, загружаем терминалку, набираем "ATUPX". После тяжелого мыслительного процесса модем ответит: "You have chosen Xmodem (128 bytes data with checksum) protocol to update your modem. Data in Flash ROM will be erased!!! Are you sure (Y/N)?". "Sure!" - отвечаете вы, нажимая "Y", и модем вытягивается в струнку: "Wait! Erasing Flash ROM now............ Start programming, please upload...".

После этого выбираете "Upload file" (в зависимости от терминала этот пункт может находиться где угодно и как угодно называться, например, File > Upload), протокол Xmodem и собственно bin-файл с прошивкой. Через какое-то время (довольно продолжительное, так что не стоит нервничать и выключать питание) модем ответит: "Programming successful, modem is resetting... Please wait 5 seconds, before typing any command". Ждите эти самые пять секунд, а затем выключайте питание модема.

Перед включением питания нажмите кнопку D/V (в модеме U-336S нажмите на клавишу Enter), как только нажали, включайте питание и держите ее еще несколько секунд. Модем подумает, что он змея, и, шипя, начнет самотестирование на предмет определения ядовитости. U-336S сам и закончит этот тест, а вот в остальных модемах это придется делать ручками - при помощи кратковременного нажатия D/V через несколько секунд после начала теста. Затем из уже знакомой нам терминалки подаем команды "AT&F","AT&W0Z0" и наслаждаемся новой версией прошивки.

Rockwell

Модемы на этих чипсетах получили довольно широкое распространение в нашей стране за счет своей дешевизны. Их делают Diamond, Creative, Acorp, D-Link и еще много-много производителей разной известности и отстойности. На хороших и средних линиях эти модемы показывают себя довольно неплохо, а на плохих - никак не показывают.

Вообще, сайт, являющийся в своем роде Библией и Кораном в одном лице для владельцев модемов на Rockwell, расположен на http://www.modem.dp.ua/ - там лежат и прошивки, и рекомендации по их использованию, там же можно пообщаться с другими пользователями этих железок.

Итак, если в вашем модеме установлен чипсет RCV336ACF/SP, то вам не повезло. Самые удачные прошивки к этим модемам (это прошивки к модемам Diamond Supra) лежат по адресу http://ftp.channel4.ru/pub/modem, но вот беда - скорости они не поднимают. То есть качество связи может стать и получше, и настроек может стать побольше, но 56k вы все равно не получите. Также проверьте маркировку кварцевого генератора в модеме - если частота оного 56,488 МГц, то эти прошивки работать не будут.

В том случае, если вы являетесь обладателем модема на чипе RCVDL56ACF/*, то ваш путь - на http://ftp.relcom.ru/pub/msdos/hardware/modem/busy_56i.zip, где лежит прошивка для внутреннего модема на этом чипе, если же ваш модем внешний - тогда ищите информацию на http://www.modem.dp.ua/.

Модем на чипе RC288DPi & L39/U (например, Creative ModemBlaster 28000) может быть модернизирован до скорости 33 600 с помощью прошивок от Diamond Supra, лежащих опять же на http://www.modem.dp.ua/.

Эти модемы довольно редко прошивают готовыми прошивками, обычно перед пользователем стоит другая задача - модифицировать существующую прошивку, так сказать, "под свои нужды". Для этого ее надо вытащить из ПЗУ. Делается это просто - качаем комплект программ для работы с прошивками (pirogoff.chat.ru/files/firmware.zip), заходим в нашу любимую терминалку и набираем что-нибудь вроде "ATZ". Затем, если у вас флэш-ПЗУ, с помощью текстового редактора открываем файл download.s37, входящий в только что скачанный комплект. Если же не флэш, то открываем файл downlrom.s37. В обоих случаях копируем содержимое в буфер.

Затем возвращаемся к терминалу и даем команду "AT**2". На экране побегут буковки и циферки, нам неважные, а в конце высветится "UpLoader (XModem) - REV X, ^X^X to abort Upload flash code...". Нажимаем "принять" и ждем, поскольку размер прошивки - порядка 400 кб в случае 1 Мб ПЗУ и 800 кб в случае 2 Мб, да и передача начинается далеко не сразу. Но рано или поздно мы получим надпись: "Download successfully completed", переводить которую не требуется. Если для скачивания вы пользовались HyperTerminal, то лежать искомый файл (его расширение - .s37) надо в C:\Program Files\Accessories\HyperTerminal.

Модифицируя этот файл до неузнаваемости, помните, что за свои действия отвечаете только вы и, если вы создадите некорректную прошивку, вполне возможно, что выковырять ее из ПЗУ будет довольно тяжело. Хотя если вы способны сами исправить прошивку - вряд ли я в этой статье открою для вас что-то новое.

Но предположим, вы это сделали или скачали готовую прошивку (кстати, если она в другом формате, например, не s37, а bin или sb7, то можно воспользоваться конвертером, входящим в архив firmware.zip). Теперь вам надо залить ее в ПЗУ.

Последовательность почти та же: "ATZ", upload.s37 в буфер обмена, затем "AT**2". На экране опять появятся всякие надписи, почти такие же, как и в предыдущем случае, после чего вы должны уже не принять файл, а передать его по протоколу Xmodem. Об окончании процесса вас уведомит надпись "Upload successfully completed".

Хочу еще раз предупредить, что вы должны точно знать, что вы заливаете в ПЗУ, ибо неподходящая прошивка обеспечит вас неприятной работой на очень долгий срок.

3Com / U.S. Robotics Sportster

Эти модемы в течение последних нескольких лет оборудуются флэш-памятью, причем для того, чтобы определить ее наличие, необязательно лезть внутрь корпуса (ибо негоже благородному интернетчику знать какие-то там буквы на микросхемах!). Достаточно сказать в терминалке "АТGBООТ5" и, если модем ответит "boot" (партия сказала: "Надо", а модем ответил "Boot!"), то флэшка есть. Если же он сказал "error" или "connect" - то ее там нет.

Команды "ATI" и "ATGM" помогут вам узнать номер модели (Device ID), после чего на сайтах http://www.3com.ru/ или http://www.usrsupport.ru/ ищется программа Internet Update Wizard (IUW). Используя Device ID, программа скачает нужную прошивку для вашего модема и начнется замечательный процесс "заливки". 

Теоретический каждый такой номер модели определяет аппаратную часть модема, и если вы зальете прошивку для модема, имеющего другой номер, то, cкорее всего, модем работать не будет. Но на практике это не всегда так - некоторые модемы аппаратно совместимы, хотя и имеют разные Device ID. Гораздо более продвинутой и функциональной программой для работы с модемами типа Sportster является SMF (Sportster Modem Flasher). Программа устроена так, что при каком-либо сбое во время процесса перепрошивки у вас есть возможность вернуть модем к жизни, так как при записи не затирается область памяти, называемая Boot Block. Грубо говоря, как минимум модем останется готовым к новым подвигам со своей флэш-памятью.

Но дело даже не в этом. На сайте автора программы SMF (smf.ai.ru), содержится список аппаратно совместимых моделей, а также некоторые неофициальные прошивки для распространенных в нашей стране модемов. Это очень полезно, ибо если вы захотите прошить свой старый "шпрот", издающий на команду "ATI" вопль о серийном номере вроде "…144001" или "…144003", то никакой IUW вам не поможет - официальных прошивок под это железо не делалось. 

Есть еще одна потенциальная сложность, к которой надо быть готовым. После прошивки могут быть заблокированы протоколы x2 и V.90. Узнается это просто - набираем команду "AT~S?", и если в конце серийника стоит "ZZZZ", то блокировка стоит. Записываем старый серийный код на бумажку, и прописываем новый, например, так: 
"AT~SF=123456781234567812345678".

Эта фенька работает только в новых прошивках. Вообще, все это занудство с блокировкой протоколов представляет собой защиту 3Com для "шпротов", которые, по их мнению, не способны работать со скоростными протоколами. Кстати, если вы используете SMF, то поменять то самое "магическое число" (Magic Number), которое высылается для серийного номера вашего модема и портит всю малину (блокирует протоколы), можно при загрузке новой прошивки.

Последовательность действий для работы с SMF такова.

1. Качаем корректную прошивку (смотрим по базе аппаратно совместимых моделей), инсталлируем SMF. Обратите внимание на очень хорошую отечественную прошивку "Русский спортстер", которая лежит на http://www.usrmodem.ru/, правда, для нее не нужен SMF.

2. Далее рекомендуется закрыть все активные программы (хотя автор SMF утверждает, что это делать необязательно) и только после этого запустить SMF.

3. Указываем COM-порт модема и скорость передачи данных (в принципе, спешить некуда - можно поставить и 57 600).

4. Программа запросит у вас Magic Number - отвечаем четырьмя нулями.

5. Жмем "Поехали" и выбираем файл прошивки, затем разрешаем заливку кнопкой Yes.

6. Теперь проверяем, не заблокированы ли протоколы - для этого в терминале набираем "AT~S?". Если это все же произошло (ZZZZ в конце номера) - обнуляем серийный номер модема командой 
"AT~SF=000000000000000000000000"
(старый номер желательно все же записать).

7. Выключаем и включаем модем, перезагружаем компьютер. Windows найдет "новый" модем и попросит драйвера.

8. Пользуйтесь.


3Com / U.S. Robotics Courier V.Everything

Команда "ATI7", поданная в терминале, поможет нам определить частоту супервизора - это может быть 20,16 или 25 МГц. Она также может показать вам, что у вас в модеме установлено 256 кб EPROM - не пугайтесь, это не так, просто у вас старая прошивка. ВСЕ модемы, в названии которых присутствует строка V.Everything, поддаются программной модернизации.

Единственное - все модемы имеют соответствующие коды стран, и прошивка для одной страны не всегда может подойти к модему, имеющему код другой страны. Он отображается по той же "ATI7" в строке Product Type.

Прошивка выбирается исходя из частоты супервизора, причем знайте - если у вас новый "курьер" модели 3453 (более известный населению как Bluebox) или новый "Business modem", то, несмотря на то, что частота супервизора у них равна 25 МГц, прошивки от старых моделей на 25 МГц к ним не подходят.

Для Bluebox единственным заслуживающим на данный момент внимания вариантом является прошивка версии 1.0.6+, представляющая собой исправленную и адаптированную под наши линии Андреем Ваваевым (http://www.usrmodem.ru/) версию 1.0.6. Процесс прошивки этого модема отличается от аналогичного процесса для старого "курьера".

Прошивки бывают двух видов: те, которые заливают из DOS, и те, которые "аплоудятся" посредством протокола Xmodem. Соответственно, и расширения файла SDL будет .exe или .xmd.
Мне как-то ближе прошивки версии Xmodem, поэтому все дальнейшие действия я опишу исходя из того, что вы тоже пользуетесь XMD.

Войдите в терминал (я использовал QuickLink) и подайте команду "AT~X!" (именно с восклицательным знаком). Модем ответит: "SDL Xmodem file transfer - (Y)es (N)o (T)est" либо "Error".

Если второе, то используйте DOS-версию SDL, ваша прошивка слишком старая и не даст загрузить новую по протоколу Xmodem. Ответив Yes, ждите на экране приглашения вида "Begin Xmodem file transfer now", дождавшись, выбирайте Xmodem, указываете требуемый файл с прошивкой (sdl20.smd или sdl25.xmd, в зависимости от частоты), нажмите кнопку OK, и, как говорит Windows, откиньтесь на спинку кресла и молитесь.

Когда модем будет готов к дальнейшему общению, на экране появится "SDL Xmodem file transfer completed. Calculating CRC... OK. Resetting modem... OK". Набираете команды "АТ&F1" и "AT&W" и, если модем внешний, отключаете его на несколько секунд, если внутренний - то подаете команду "ATZ!". После выполнения этих действий модем к использованию готов.

В случае использования нестандартных и "русских" прошивок типа ID_SDL полезно прочитать документацию к ним, так как процесс их загрузки в ПЗУ может немного отличаться от вышеописанного.

Разумеется, все виды и модели модемов в этой статье рассмотреть невозможно, однако общие принципы прошивки уяснить можно. Также помните, что фирмы USR и ZyXEL организовали в нашей стране довольно качественную техническую поддержку как в интернете, так и (если уж вы запороли модем и интернета по понятным причинам нет) по телефону. На сайте всегда можно узнать, как и чем перепрошивать именно вашу модель модема, а по телефону - получить консультацию по восстановлению прошивки.

 Источник: http://www.computery.ru/upgrade/ 

Источник получения информации http://www.izone.com.ua/
Назад

Hosted by uCoz