OpenWRT, или Что еще можно сделать со своим роутером
Здравствуйте, на написание данной статьи меня натолкнула аналогичная, но в качестве сервера выступала Raspberry Pi. По моему мнению использовать эту маленькую, но при этом достаточно мощную платку в этих целях немного не целесообразно, у многих есть wi-fi роутер с USB портом, а следовательно зачем включать в розетку целый блок питания от компьютера давая при этом пускай и не большой, но все таки расход электроэнергии когда в розетку включено уже все что надо.
В данной статье рассмотрим установку торрентокачалки на практический любой роутер с USB и поддержкой OpenWRT прошивки. В наличии у меня имеется Linksys E3000, но конкретной разницы в установке и настройке OpenWRT нет. Что нам для этого будет нужно:
- Непосредственно роутер с разьемом USB, в идеале конечно с двумя.
- Флешка/ USB HDD произвольного объема под Ваши нужды чем больше тем лучше.
- Буквально пол часа свободного времени чтобы все поставить и настроить.
- Прямые руки.
Установка / настройка OpenWRT
Прежде всего сразу оговорюсь что Вы все делаете на свой страх и риск, так как существует вероятность «окирпичивания» Вашего роутера. Проверяем есть ли Ваш роутер в списке поддерживаемых устройств, для этого заходим на сайт OpenWrt
Жмем на соответствующую ссылку и ищем там свое устройство в списке. В принципе информация там не всегда актуальная, я в этом убедился на своем личном опыте со своим роутером который в этом списке значится как не полностью поддерживаемый , хотя и включен уже в trunk. Желательно запомнить на каком чипсете построен Ваш роутер для облегчения поиска именно Вашей прошивки.
После этого переходим в вкладку «Downloads»
Тут стоит выбрать какую ветку использовать стабильную (Attitude Adjustment) или соответственно «trunk» в папке snapshots, сразу замечу если Ваш роутер более менее новой модели, то скорее всего в стабильной ветке вы его не найдете.
Переходим непосредственно к скачиванию прошивки.
После того как прошивка скачалась переходим к прошивки Вашего роутера. Для этого необходимо зайти в его вэб-интерфейс который обычно располагается по адресу 192.168.1.1 или 192.168.0.1 в зависимости от производителя роутера. Подробнее по процессу прошивки и настройки Wi-Fi и всего остального для конкретного роутера можете обратится в Google, а то эта статься может растянуться до неприличных размеров, мы же остановимся именно на установке и настройке Transmission.
Установка и настройка Transmission
После прошивки роутера запускаем PuTTY если Ваша ОС Windows, если Linux то просто запускаете терминал. В поле адрес вбиваем 192.168.1.1 для PuTTY либо команду telnet 192.168.1.1 для Linux. После успешного подключения переходим к установке / настройке пакетов.
Перед скачиванием пакетов следует маленькое отступление. Так как в роутере физической памяти достаточно мало, колеблется от 4 до 16 мегабайт в зависимости от продвинутости и цены Вашего роутера, нам следует заранее побеспокоится о его увеличении. Ведь мы в любом случае собираемся подключать к нему флешку или жесткий диск так почему бы нам не сделать чтобы роутер грузился непосредственно с раздела на нашем носителе? Давайте сделаем это! Перед всеми манипуляциями с роутером нужно «разбить» Ваш HDD/флешку на несколько разделов.
- Раздел под своп (100-200 МБ будет достаточно) * при использовании HDD, при использовании флешки не рекомендуется, так как имеется хоть и большой но все таки ограниченный запас циклов перезаписи
- Раздел с которой будет грузится роутер (на Ваше усмотрение от 50 МБ и выше) с файловой системой Ext3 или Ext4 * Вот тут то нам и может пригодится вторая флешка, куда лучше разместить загрузочную область и область для хранения закачек на разных устройствах чтобы безболезненно извлекать ее для скидывания информации без выключения роутера.
- Раздел под Ваши загрузки / хранилище все оставшееся место желательно тоже в Ext3/4 если хотите периодический использовать носитель на компьютере то NTFS но приготовьтесь к периодическим ошибкам, так как Linux с этим типом ФС «дружит» довольно посредственно, так же дополнительно придется установить еще один пакет ntfs-3g .
Это все конечно можно было сделать и на роутере, но на компьютере это все происходит гораздо быстрее и можно воспользоваться программами с графическим интерфейсом, а не просто командной строкой терминала, что для новичка значительно ускоряет процесс. Как все это проделать на Windows и Linux опять же можно посмотреть на Google по той же причине что и первое обращение к этому источнику.
Приступим. Вводим последовательно команды в терминале
OpenWrt Project
User Tools
Site Tools
Sidebar
Table of Contents
Устанавливаем OpenWrt (основы)
OpenWrt не может быть установлена настолько просто и безопасно, как любой другой дистрибутив GNU/Linux. Установка на Flash-чип, впаянный в PCB карту, к сожалению, несколько более затруднительна, чем установка с диска DVD на жесткий диск. После того, как вы выбрали ваш метод получения прошивки (по-английски firmware image) уникальной для вашего устройства и иногда даже модели и версии, вам придется перезаписать оригинальную прошивку на чипе flash-памяти. На этой странице вы найдете описание того, как сделать это.
По сравнению со сборкой дистрибутива, установка файла с прошивкой OpenWrt иногда может быть самым непростым во всей процедуре, а иногда занимает пару минут. В зависимости от конкретной модели вашего устройства, вы можете ограничиться простой заливкой вашей новой прошивки через web-интерфейс; можете вручную заливать необходимую прошивку через tftp; или, если ваши дела совсем плохи, то вплоть до изменения структуры вашего устройства и подключения через JTAG доступ. Но в целом, основным вариантом установки является установка через вшитый загрузчик (Redboot, Uboot и проч.) или простое копирование на CompactFlash-карточку: все зависит от конкретной модели вашего устройства.
Warning!
This section describes actions that might damage your device or firmware. Proceed with care!
Заливка неверной версии файла прошивки не обязательно должна сломать ваше устройство, но вам придется пройти через некоторые трудоемкие процедуры, чтобы оживить его. Иногда, вам придется использовать модифицированный Serial кабель, и роутер может не заработать с первого раза.
Это HowTo ОЧЕНЬ общее. Вам не следует сразу приступать к работе, изучив только эту страницу, не адаптировав процедуру по установке OpenWrt для вашего конкретного устройства. Честно говоря, у нас просто нет столько людей, чтобы писать подобные объяснения для всех сотен поддерживаемых устройств. Поищите описание по установке для вашего устройства на странице поддерживаемых устройств. Если такого описания нет, продолжайте чтение.
В целом, у вас есть две опции: Залить OpenWrt в постоянную память, или запускать OpenWrt через сеть. Netbooting поддерживается не всеми вариантами загрузчиков, вшитых в устройства. Пожалуйста, ознакомьтесь с конкретной страницей wiki посвященой модели вашего роутера. Если ваши попытки установить OpenWrt провалились, статья о том, как оживить роутер поможет вам. Обязательный раздел к прочтению →flash.layout.
Четыре пути
Существует четыре способа установки OpenWrt на ваше устройство:
1. Из-под оригинальной прошивки
Откройте в вашем браузере Web-интерфейс оригинальной прошивки и установите файл OpenWrt через опцию “Firmware Upgrade”. Готово. Как правило, нужный файл прошивки OpenWRT содержит в названии подстроку “-factory”, например, openwrt-ar71xx-generic-wndr3800-squashfs-factory.img
Замечание: Иногда оригинальная прошивка проверяет, какой файл ей предлагают для “обновления”. В случае, если заводская прошивка решит, что предлагаемый ей файл не является приемлемым, вам не удастся установить OpenWrt одним кликом. Не отчаивайтесь, попробуйте один из оставшихся трех путей.
2. Через автозагрузчик и Ethernet порт
Чтобы провернуть такой вариант, а именно принудительно залить прошивку, можно воспользоваться тем, что большинство автозагрузчиков содержат встроенный функционал для таких целей. Некоторые содержат TFTP-client, другие — TFTP -server, третьи FTP-client, а некоторые даже FTP -server. Вам необходимо выяснить:
Как только вы получили ответы на все эти вопросы, вы можете продолжать:
Замечание: Иногда даже автозагрузчик не позволяет записать файл прошивки на flash память устройства, например, в Inventel DV4210 (AKA Livebox).
Методы установки
3. через автозагрузчик и Serial порт
4. через JTAG
Перезаливка с OpenWrt
Однажды установив и запустив OpenWrt, у вас появится множество удобных инструментов для перезаливки прошивки через интерфейс командной строки командой mtd . Указывайте интересующий вас раздел (пожалуйста, просмотрите flash_layout или flash_layout или flash_layout для обозначений.
И, конечно, самый простой вариант апгреда через Web-интерфейс так же возможен.
Чтобы перезаписать существующую флэш память рядом с разделом, где установлен автозагрузчик, а так же ту часть, которая содержит ART, в случае устройства WR1043ND и схожих с ним можно использовать:
Вы можете, хотя это не рекомендовано, установить прямой туннель для установки прошивки без копирования ее на временный раздел tmpfs flash-памяти роутера. В таком случае, вот ваши действия:
Последняя описанная процедура не рекомендована, но она может быть использована в случае, если у вас обнаружится дефицит памяти на устройстве.
Назад к заводской прошивке
→ generic.uninstall (используйте, только если персональная wiki страница не описывает процесс возврата на оригинальную прошивку)
Базовая конфигурация
Установив OpenWrt на ваше устройство, продолжите с базовыми настройками.
Безопасный режим
→ failsafe_and_factory_reset (используйте, только если персональная wiki страница не описывает процесс возврата на оригиналную прошивку)
Системный апгрейд
→ generic.sysupgrade (используйте, только если персональная wiki страница не описывает процесс возврата на оригиналную прошивку)
Пояснения
Что такое Image File?
Image file (файл образа) — это побайтовая копия всех данных, используемых в файловой системе. Если вы установите GNU/Linux простым способом на один или несколько разделов вашего жесткого диска, а потом скопируете все содержимое байт за байтом с вашего жесткого диска в один файл:
то полученный файл /media/sdb3/backup-sda.dd и будет являться файлом образа (Вашего дискового тома /dev/sda).
Разница с OpenWRT лишь в том, что рабочие OpenWrt-Image-File так не создаются Они создаются специальной программой Image Generator (ранее называвшейся Image Builder). Вы можете прочитать больше: