Прошиваем OpenWRT в Asus RT-N56U

Здравствуйте, мои маленькие любители портативной микроэлектроники. Сегодня мы попробуем приобщить к прекрасному беспроводной роутер Asus RT-N56U — установить на него open source-прошивку OpenWRT.

Asus RT-N56U aka Black Diamond.


Данный маршрутизатор на текущий момент является одним из флагманов среди устройств для домашнего пользования. Судите сами: обладая 500 МГц процессором, 128 Мб ОЗУ, пятью (4 LAN + 1 WAN) 1Гб/сек портами, двухдиапазонным WiFi-радиомодулем на 2.4 ГГц и 5ГГц, аппарат может удовлетворить потребности любого самого взыскательного пользователя. Черт, да я на днях выбросил здоровенный девятилетний системник с чуть более мощным процессором и чуть менее объемистой оперативной памятью (тут не будем вдаваться в подробности и сравнивать MIPS и x86). Выглядит роутер тоже очень круто — рифленая поверхность, оригинальный дизайн индикаторов и форма. Если смотреть с левой стороны, кажется, будто корпус вообще плоский.

Вид сбоку.
Вид сверху.

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

И вот мы подходим к основному сюжету сегодняшнего поста. Хороший функциональный сервер можно поднять силами проекта OpenWRT. Это Линукс, урезанный и оптимизированный для установки на маломощные системы. Есть доступ по SSH, есть поддержка бинарных пакетов (opkg) наподобие того же apt. Есть опциональный GUI. В общем, проект очень интересный. Предвосхищая развязку, скажу, что до конца прошивку завести я не смог. Итак, с чем же я столкнулся, и чему посвятил пару-тройку длинных вечеров? Само собой, для всех манипуляций понадобится установленный Линукс, в нем все делается легко и непринужденно.

  1. Поддержка самого устройства чуть более чем никакая. В тамошней вики есть посвященная модели крайне немногословная страничка. Но это ладно, нас больше должно интересовать, насколько хорошо поддерживается чипсет, что обеспечивает функции устройства.
  2. Заливать прошивку напрямую через tftp сначала не вышло. Совершенно случайно выяснилось, что нужно а) выключить роутер, б) запустить заливку, в) включить роутер, удерживая кнопку reset на задней панели. Сразу после старта в таком режиме роутер начинает медленно мигать индикатором питания и ненадолго открывает «окно», в которое и надо толкать прошивку. В репозитории OpenWRT есть скрипт trunk/scripts/flashing/flash.sh, которому нужно первым параметром передать путь к прошивке, а вторым — слово «asus», чтобы инициировать специальный механизм опроса. Такой же механизм используется официальной утилитой Asus Firmware Restoration: хост, на котором запущено приложение, пытается скачать спецпакет с 192.168.1.1, и если адрес откликнулся, отправляет ему прошивку. Хосту нужно предварительно выставить адрес, например, 192.168.1.2. В общем, скрипт облегчает процесс.
  3. Заставить работать USB не вышло тоже. Сначала. Даже если установить все необходимые модули ядра, при втыкании флешки в выводе logread царит тишина. Оказалось, что есть некоторое количество патчей, которые не применяются ни при make menuconfig, ни при make. Нужно запустить make kernel_menuconfig, патчи применятся, появится окно для конфигурирования Linux-ядра, которое можно тут же и закрыть.
  4. А вот запустить радиомодуль не получилось совсем. Режим на 5 ГГц (mode=11na в /etc/config/wireless) не запускался вообще, мотивируя отсутствием поддержки со стороны драйвера. Ну это скучно, а вот с режимом 2.4 ГГц было много интереснее. hostapd запускался абсолютно без ошибок и бодро рапортовал о поднятии точки доступа. Которую не видело ни одно устройство. Внимание мое привлекло txpower=0dBm в выводе iwconfig. Оказалось, ребята сломали инициализацию мощности передатчика. Вот человек предлагает решать эту проблему, даже предлагает патчи, но дело не двигается. Мол, лучше не будем делать никак, чтоб ни у кого не работало, чем сделаем плохо, но чтоб заработало хоть как-то. Феерично, в общем. Патч из первого сообщения по вышеуказанной ссылке я применил, слегка видоизменив: вместо максимальной мощности поставил фиксированные 20 дБ. Вывод iw list показал, что да, теперь с мощностью порядок. Но вот точка доступа так нигде и не появилась. Я перепробовал разные комбинации параметров disabled и hidden в конфиге, разные режимы, разные каналы — ничего не помогло. Ну а без WiFi такой роутер вовсе не нужен.
Итого, Asus нынче не торт. Разочаровал. Надо было брать Netgear WNDR3800, поддержка для коего несравнимо лучше (3700 в ссылке не опечатка, 3800 — это та же модель, но с увеличенными вдвое объемами flash- и оперативной памяти). Замены домашнему Debian-x86 серверу пока не получилось. Поставил популярную прошивку от Padavan и думаю, куда двигаться дальше.
Вообще, заметил, что ковыряться со всякими железками стало уже не так интересно-увлекательно, как раньше. Иногда хочется просто, чтоб оно поскорей заработало. Наверное, так и рождаются маколюбы…
…зато в комплекте, чтобы не было особенно обидно, идет совершенно волшебный черный плоский (!) ethernet-кабель.
Внезапно — плоский ethernet-кабель.

Прошиваем OpenWRT в Asus RT-N56U: 2 комментария

  1. Eugene

    Здравствуйте, спасибо за интересный пост. Хотел спросить, на текущий момент с OpenWRT все так же глухо? У меня тоже такой же роутер, стоит прошивка от Падавана, но хотелось бы опенВРТ — главным образом, чтоб там NeoRouter запустить, а то у меня для него специально сервер маленький выделен.

  2. mic Автор записи

    Здравствуйте. Да черт его знает, что там с поддержкой. Ни в OpenWrt-вики, ни в темах про проблемы на их форуме, что я создавал, никаких обновлений нет. То ли у всех все работает, то ли слишком экзотическая модель, что спроса нет, то ли железо чересчур проприетарное.
    Как и хотел, в итоге приобрел Netgear WNDR3800 (см. пост). Все завелось махом без единого сучка и задоринки, да и работает пока тьфу-тьфу стабильно.

Добавить комментарий

Ваш e-mail не будет опубликован.