Напоминаем, что попытки повторить действия автора могут привести к
потере гарантии на оборудование и даже к выходу его из строя. Материал
приведен исключительно в ознакомительных целях. Если же вы собираетесь
воспроизводить действия, описанные ниже, настоятельно советуем
внимательно прочитать статью до конца хотя бы один раз. Редакция 3DNews
не несет никакой ответственности за любые возможные последствия.
Предыстория
Для
начала надо разобраться, что такое прошивка. Прошивкой принято называть
часть энергонезависимой памяти практически любого цифрового устройства,
в которой содержится его микропрограмма. А сам термин «прошивка»
появился более полувека назад, когда в компьютерных системах стала
использоваться ферритовая память. Каждая ячейка памяти в буквальном
смысле прошивалась проводом. Для перепрошивки же приходилось выдёргивать
старые провода и прошивать новые. Впрочем, это сильно упрощённое
объяснение процесса и к современным реалиям оно никакого отношения не
имеет. Сейчас же, с удешевлением памяти, всё чаще вместо классических
микропрограмм прошивается полноценная ОС, хоть и в урезанном виде
(например, отсутствует возможность работы с графикой). А почему бы и
нет? Многие устройства принципиально не сильно отличаются от любого ПК. В
них есть процессор, память, накопитель, набор различных
микроконтроллеров и прочие компоненты. Тут, конечно, можно поспорить, но
не будем вдаваться в вопросы терминологии, так как для конечного
пользователя не так уж важно, что находится внутри коробки — лишь бы
работала как надо. Ну а под альтернативными прошивками подразумеваются
любые прошивки, которые не созданы разработчиками устройства.
Зачастую
разработчики довольно ревностно относятся к вопросам, связанным с
извлечением, изучением, модификацией прошивок с последующей их заливкой
обратно в устройство. Чаще всего такие действия автоматически приводят к
потере гарантии. Так что если вы решили что-нибудь перепрошить, то
ознакомьтесь для начала с лицензионным соглашением. Однако потерей
гарантии дело не ограничивается — нередки случаи судебных исков от
компании-разработчика к энтузиастам, которые занимаются модификацией
прошивок. Аналогичным образом могут караться и попытки аппаратной
модификации устройств, вроде известного процесса «чипования» некоторых
игровых консолей. Особо хитрые товарищи могут использовать в качестве
программной базы для создания прошивок открытое ПО под свободной
лицензией. В этом случае даже выкладываются исходные тексты. Однако на
аппаратном уровне тем или иным образом блокируется возможность
использования альтернативных прошивок. В лучшем случае вам удастся
восстановить исходную прошивку, в худшем вы получите бесполезный
«кирпич» (brick, «брикнутое» устройство), с которым ничего нельзя
сделать, кроме как выкинуть в помойку.
Наконец, самый главный
вопрос. Зачем вообще нужны альтернативные прошивки? Причин может быть
множество. Как правило, такие прошивки гораздо более функциональны,
позволяют задействовать заблокированные возможности устройства (такое
часто бывает, например, с видеокартами), имеют более удобный интерфейс,
работают намного стабильнее или лишены каких-либо недостатков
оригинальных прошивок. Некоторые производители годами не хотят или не
могут исправить ошибки в своём ПО, а иногда просто прекращают поддержку
неплохого, в общем-то, устройства с тонким намёком, что пора бы
прикупить более свежую версию «железки». В конце концов, многое в этом
мире делается just for fun.
Альтернативные прошивки для ASUS WL-520GU
История
альтернативных прошивок для роутеров началась с появлением легендарной
серии устройств Linksys WRT54G в 2002 году. После открытия исходных
кодов ПО для первого роутера этой серии на их основе была создана
альтернативная прошивка OpenWrt. Вскоре появились аналогичные проекты,
которые стали стремительно развиваться, и в какой-то момент для того же
Linksys WRT54G существовало более 30 (!) альтернативных прошивок. Сейчас
OpenWrt и другие прошивки поддерживают гораздо большее количество
моделей роутеров разных производителей. Однако наиболее популярными
устройствами для перепрошивки до сих пор являются роутеры той самой
серии Linksys, а также устройства ASUS серий WL и RT. В качестве примера
мы рассмотрим роутер ASUS WL-520GU. Те, кто уже знаком с
альтернативными прошивками, ничего нового для себя не найдут. Для
остальных же будет коротко рассказано о самых популярных прошивках для
этой модели роутера.
Итак, что мы имеем? ASUS WL520-GU был
выпущен более трёх лет назад и на тот момент являлся довольно неплохим
решением для организации домашней сети за приемлемую цену. Аппаратные
характеристики роутера по нынешним меркам слабоваты: чипсет Broadcom
BCM5354 с частотой 240 МГц, 16 Мбайт оперативной памяти и 4 Мбайта
постоянной. Из бонусов только USB-порт, предназначенный, в первую
очередь, для подключения принтера к локальной сети. В общем, не особо
развернёшься, но кое-что всё-таки сделать можно. Изначальная версия
прошивки вызвала у пользователей множество нареканий, как это обычно и
бывает с новыми продуктами. Часть претензий была удовлетворена, а
некоторые пожелания — нет. Последняя стабильная версия официальной
прошивки вышла более года назад, так что вряд ли стоит ждать серьёзных
обновлений. К тому же линейка роутеров пополнилась свежими моделями.
Если есть желание выжать побольше из старого друга, то выход один —
альтернативная прошивка.
Подготовка
Перепрошиваться мы
будем с помощью стандартной утилиты ASUS для восстановления прошивки
роутера. Скачать её можно на сайте поддержки. Там же на всякий случай
возьмём и последнюю стабильную версию оригинального ПО за номером
3.0.1.4_RU. Итак, заходим на сайт и в разделе «Главная загрузка»
поэтапно выбираем «Беспроводное оборудование» → «Точка доступа» →
WL520-GU и нажимаем кнопку «Поиск».
Во всплывающем окне выбираем в списке Windows 7 и нажимаем «Общий поиск».
В разделе «Программное обеспечение» находим и скачиваем последнюю прошивку (Версия 3.0.1.4_RU).
В разделе «Утилиты» скачиваем архив с программами (Версия 4.0.7.9).
Прошивку
из первого архива куда-нибудь распаковываем, например на диск C:, а из
второго устанавливаем программу из папки Utility. Лучше сразу же
отключить брандмауэр. От роутера необходимо отсоединить все сетевые
кабели, кроме одного, который надо подключить к сетевой карте ПК. По
Wi-Fi перепрошиться не удастся. В настройках подключения по локальной
сети в свойствах IPv4 надо вручную задать адрес из подсети
192.168.1.10/255.255.255.0.
Теперь найдём маленькую утопленную
кнопку с надписью Restore на задней стенке роутера и зажмём её на
несколько секунд, например с помощью стержня от ручки. Отпускаем кнопку и
отсоединяем кабель питания. Снова нажимаем кнопку и, не отпуская её,
подключаем кабель питания. Через несколько секунд индикатор питания
роутера на передней панели начнёт медленно мигать. Теперь устройство
находится в режиме восстановления, а кнопку Restore можно отпустить. В
главном меню из ASUS Utility → WL-520GU Wireless Router запускаем
программу Firmware Restoration. Жмём на кнопку «Обзор», выбираем файл с
нужной прошивкой, нажимаем «Загрузить» и ждём, пока прошивка закачается в
роутер и установится. Обычно на это уходит до 5 минут. После этого надо
отключить и снова подключить кабель питания, а в настройках подключения
по локальной сети выставить автоматическое получение IP-адреса. Теперь
можно открыть браузер и набрать в адресной строке
192.168.1.1
для
получения доступа к веб-интерфейсу обновлённой прошивки. Дальнейшие
действия зависят от конкретной версии микропрограммы. Если с первого
раза не получилось обновить ПО роутера, то надо ещё раз ввести его в
режим восстановления и повторить все операции. Для восстановления
исходной прошивки просто надо указать путь до неё в Firmware
Restoration. В некоторых случаях программа может ругаться на
некорректный файл. Тогда ему надо дать такое же имя, как и у
оригинальной прошивки.
Прошивка от Олега
Пожалуй, наиболее
известная альтернативная прошивка среди русскоязычных пользователей.
Возможно, потому что разработкой этого проекта занимается наш
соотечественник Олег Вдовикин. Впрочем, в других странах эти прошивки
тоже популярны. К тому же проект — один из старейших и наиболее
продвинутых в этой области. Интерфейс прошивки похож оформлением на
официальную версию ПО для старых моделей роутеров ASUS. Кстати, по
некоторым сведениям код Олега используется и в официальных прошивках.
Изначально данная прошивка разрабатывалась для серии ASUS WL500g, но в
тестовых версиях поддерживаются и свежие модели с индексом RT. Сейчас
разработкой и поддержкой проекта занимается группа энтузиастов.
Последние сборки доступны по адресу
http://code.google.com/p/wl500g/downloads/list.
Среди главных
достоинств прошивки от Олега стоит отметить стабильность,
функциональность и простоту использования. Именно эти факторы
поспособствовали росту популярности этого проекта. Для перечисления всех
возможностей прошивки понадобилась бы не одна страница — всё-таки за
столько лет разработки было введено огромное количество функций.
Ключевые среди них таковы: множество способов подключения к провайдерам,
поддержка IPv6/IPTV/мультикаста, встроенный шейпер трафика, возможность
создания NAS на базе роутера с помощью подключения съёмного накопителя к
USB-порту и с доступом по FTP/CIFS/NFS, расширенное управление
правилами доступа и планировщик для них, поддержка USB-модемов
3G/CDMA/WiMax/Dial-Up, работа с SNMP/Radius/LLTD, тонкая настройка
беспроводных соединений, а также поддержка принтеров и даже веб-камер.
Но это далеко не полный список. Среди полезных особенностей прошивки
также стоит отметить наличие доступа по Telnet/SSH и возможность
мониторинга загрузки процессора и сетевых соединений в режиме реального
времени. Единственный недостаток — слабая расширяемость возможностей
прошивки. В общем, это идеальный вариант для тех, кого не устраивает
стандартная прошивка роутера ASUS, и тех, кто хочет просто попробовать
поставить что-нибудь альтернативное.
Tomato
Изначально
проект делался для роутеров серий Linksys WRT54G и Buffalo WHR-G54, но
сейчас есть множество неофициальных сборок для других устройств. В том
числе и для ASUS WL520-GU. На мой взгляд, это одна из самых удачных и
сбалансированных по всем параметрам альтернативных прошивок.
Особенностью Tomato является простой, красивый и удобный веб-интерфейс
на базе AJAX.
Возможностей у Tomato чуть меньше, чем у других
прошивок, но многое зависит от конкретной сборки. К тому же желающие
могут скачать вполне внятный SDK для создания собственных вариантов
прошивки. Помимо стандартных для любого роутера функций, есть поддержка
VLAN, IGMP, Wake-On-LAN, возможность создания NAS, хороший планировщик
задач, довольно лёгкая расширяемость и настраиваемость за счёт
пользовательских скриптов, поддержка подключения по Telnet/SSH, работа
сразу с несколькими DDNS, а также широкие возможности по настройке
беспроводной точки доступа в различных режимах. В различных сборках
доступны также предустановленный torrent-клиент, VPN-сервер и многое
другое. С другой стороны, имеется возможность лёгкой установки
дополнительных пакетов во внутреннюю память или на USB-накопитель.
Однако
это далеко не всё. Tomato обладает просто великолепными возможностями
по тонкой настройке QoS и шейпинга трафика, пробросу портов и поддержке
большого числа одновременных соединений. Имеется также прямо-таки
параноидальный набор возможностей по мониторингу всего, что происходит с
роутером и передаваемым трафиком, — логи, статистика, графики и так
далее. Но самое главное, что всё это «завёрнуто» в очень удобный
интерфейс, с которым легко разберётся неподготовленный пользователь.
Вердикт прост — если не понравилась прошивка от Олега, то смело пробуйте
Tomato.
OpenWrt
Родоначальник чуть ли не всех проектов по
созданию альтернативных прошивок для роутеров. Ныне позиционируется как
решение не только для роутеров, но и для других встраиваемых систем, а
также и более серьёзных продуктов. Для ASUS WL520-GU подходит одна из
стандартных сборок. Любопытно, что релизы OpenWrt называются в честь
какого-либо алкогольного коктейля. Набор базовых функций прошивки
довольно стандартен, и ничего впечатляющего в нём нет. Однако надо
понимать, что OpenWrt является скорее базовой платформой для построения
других прошивок. Подразумевается, что пользователь самостоятельно
доведёт функциональность до нужного уровня. Во многом этот процесс
облегчается наличием удобного пакетного менеджера для установки
дополнительных опций.
Тем не менее нельзя сказать, что это плохая
или неудобная прошивка. OpenWrt вряд ли подойдёт неопытным
пользователям, но для разбирающихся людей это очень гибкий и удобный
вариант, который можно легко и точно подогнать под свои нужды.
Веб-интерфейс по умолчанию у прошивки крайне прост, незамысловат и не
очень удобен. Откровенно говоря, для управления OpenWrt гораздо
предпочтительнее использовать Telnet или SSH. Впрочем, существуют и
другие реализации веб-морды, более удобные. Точно так же для решения
каждой задачи порой есть не один и не два пакета расширений. В целом я
бы не рекомендовал на первых порах ставить «голую» прошивку OpenWrt,
лучше воспользоваться какой-нибудь более удобной готовой сборкой. Благо
проектов на базе этой прошивки очень много. Например, пакет надстроек
X-Wrt.
Gargoyle
Gargoyle как раз является одной из
наиболее простых сборок OpenWrt с не самым плохим веб-интерфейсом.
Доступны также и отдельные пакеты ipkg. Gargoyle базируется на
предыдущей ветке OpenWrt, а значит эта прошивка более стабильна, но чуть
менее функциональна. Она сочетает в себе довольно простой интерфейс для
конфигурирования роутера обычным пользователем и всю гибкость OpenWrt. В
каком-то смысле Gargoyle — более гуманный способ попробовать тот же
OpenWrt, так что ради эксперимента можно поставить именно эту прошивку.
Она также предоставляет простые средства для мониторинга трафика.
А под капотом…
DD-WRT
Наиболее
известный проект по созданию альтернативных прошивок, к тому же
поставленный на коммерческие рельсы. Есть платные варианты сборок,
которые имеют чуть больше возможностей по сравнению с обычными. DD-WRT
поддерживает очень большое количество устройств. Причём для каждого из
них существует, как правило, далеко не одна версия прошивки.
Особенностью DD-WRT является достаточно простой интерфейс, большое
количество функций и возможностей для тонкой настройки роутера простым
пользователем. Вместе с тем при доступе через командную строку по Telnet
и SSH открывается ещё больше возможностей. Прошивка постоянно
улучшается, обновляется и обрастает всё новыми функциями, сохраняя при
этом стабильность работы.
Проект имеет неплохую документацию на
базе Wiki, а также форум для общения пользователей. С одной стороны, это
способствует более детальному описанию всех нюансов работы с прошивкой.
С другой стороны, местами в документации творится полная неразбериха и
найти ответ на свой вопрос или почитать полезные советы бывает крайне
сложно. Для каждой модели роутера из списка поддерживаемых устройств
заведена отдельная страничка, а также рекомендуется наиболее подходящая
сборка прошивки. Например, для ASUS WL520-GU предлагается довольно
старая версия. Можно воспользоваться и ей, но лучше взять более свежий
релиз от Brainslayer. Для этого заходим сюда и выбираем самую новую
версию (см. дату). Если есть сборка под какую-то конкретную модель
роутера, то она помещается в папку с соответствующим именем. В нашем
случае нужно перейти в папку Broadcom и скачать два файла:
dd-wrt.v24_mini_asus.trx и dd-wrt.v24_usb_generic.bin.
С помощью первого файла производится базовая перепрошивка роутера по инструкции, описанной в начале статьи.
При
первичном входе через веб-интерфейс DD-WRT предложит задать собственные
логин и пароль для доступа к настройкам роутера. Введите их и нажмите
Change password. Затем нажмите на вкладку Administration и введите во
всплывающем окне только что выбранные логин с паролем. Перейдите на
вкладку Firmware Upgrade, выберите второй файл и нажмите кнопку Upgrade.
В течение пяти минут зальётся и установится новая прошивка. После этого
вытащите и снова вставьте кабель питания, зайдите в веб-интерфейс
(192.168.1.1) и снова задайте логин с паролем. Всё, теперь DD-WRT готов к
работе.
Даже в базовых сборках DD-WRT есть ряд интересных
функций — всё та же поддержка накопителей/принтеров, VLAN, QoS, IPv6,
WOL, DDNS, 802.1x, Radius и даже VoIP. Для каждой из веток проекта
существует приличное количество сборок с дополнительными или, наоборот,
убранными возможностями вроде torrent-клиента или сервера/клиента VPN.
Так что для любого роутера можно выбрать прошивку на свой вкус. Одним из
главных достоинств DD-WRT и большинства других *WRT-проектов является
расширяемость за счёт встроенного пакетного менеджера или системы
Optware. В целом, DD-WRT также можно порекомендовать новичкам для
перепрошивки роутера.
Заключение
В заключение хотелось бы
дать несколько маленьких советов. Во-первых, выполняйте все операции по
перепрошивке аккуратно и спокойно. Если соблюдать все инструкции, то
шанс превратить устройство в «кирпич» минимальны. Спешить не надо,
особенно когда происходит процесс заливки образа системы в роутер и
непосредственно прошивка. Кстати, если вы уже установили какую-нибудь из
перечисленных прошивок, то для перехода на новую или для возврата
исходной, как правило, не требуется переводить роутер в режим
восстановления. Достаточно воспользоваться веб-интерфейсом и стандартной
функцией заливки новой прошивки. Наконец, ещё один нюанс для
пользователей Windows 7. В этой ОС по умолчанию клиент Telnet не
установлен. Установить его можно так: «Панель управления» → «Программы и
компоненты» → «Компоненты Windows» → «Клиент Telnet».
На этом,
пожалуй, всё. В статье мы коснулись только некоторых, наиболее
популярных прошивок для роутеров. А ведь есть ещё и различные
возможности аппаратной модификации. Но для человека, который никогда в
жизни не держал в руках паяльника, это будет слишком сложно. Так что
поэкспериментируйте с альтернативными прошивками. Это не очень сложно и
чаще всего полезно. Удачи!