Openwrt tp link

Установка DD-WRT на роутер TP-Link TL-WR1043ND

В качестве домашнего маршрутизатора я себе пару лет назад выбрал TP-Link TL-WR1043ND. Отличный аппарат за свои деньги, работает стабильно, не перегревается, скорость работы высокая, в последних прошивках даже появился русский язык.

Но вот функционал для меня оказался немного простоват. Хотелось видеть больше статистики и иметь возможность эксперементировать. Опишу процесс установки DD-WRT на TP-Link TL-WR1043ND:

0. Планирование

Перед тем, как начать перепрошиваться, решите, зачем вам это надо. Меня родная прошивка TP-Link устраивала на 90% — Wi-Fi и проводная сети работают стабильно, аптайм месяцами, веб интерфейс на русском языке. Обновиться захотелось из-за желания поднять локальный DNS-сервер и Captive Portal. Удалённый доступ по ssh, всякие свистелки и любопытство стояли на втором плане.

1. Подготовительные работы, часть 1

Сделайте резервную копию текущей конфигурации роутера. Далее скачайте с сайта TP-Link последнюю версию заводской прошивки для TL-WR1043ND (уточните модель вашего устройства). Найдите договор с вашим провайдером и уточните данные о подключении к интернету: тип подключения, логин и пароль MAC-адрес и прочее, иначе рискуете долго-долго общаться с техподдержкой провайдера. Подключитесь к роутеру проводным соедниением, т.к. wi-fi у вас отвалится после обновления. Обновитесь до последней заводской прошивки (вдруг у вас стояла не самая свежая прошивка и вы расстраивались насчёт её стабильности и надёжности) и ещё раз подумайте — точно ли вам нужно обновляться на DD-WRT? Решились? Переходим к следующему пункту.

2. Подготовительные работы, часть 2

Скачиваем прошивку DD-WRT с сайта. Нам необходима factory-to-ddwrt.bin. Так же советую скачать все остальные прошивки, мало ли. Ещё будет совсем хорошо если вы скачаете программу WinSCP и PuTTY, если в дальнейшем планируете вернуться к заводской прошивке.

3. Установка DD-WRT

Теперь заходите на роутер с помощью веб-интерфейса и точно так же, как вы обновляли заодские прошивки, обновитесь до DD-WRT (выбирайте файл factory-to-ddwrt.bin). После чего подождите минутку, пока прошивка загрузится на роутер и установится. После того, как всё прошло успешно, роутер перезагрузится и направит вас на новый веб-интерфейс долгожданной DD-WRT. Здесь вам надо будет задать имя пользователя и пароль для доступа к устройству, после этого настроить подключение к интернет (WAN) и локальную сеть (LAN), удалённый доступ по SSH. Подробнее можно посмотреть на видео:

4. Возврат к заводской прошивке

Если DD-WRT вам не понравилась, вы можете вернутся к заводской прошивке следующим образом:

— Включите службу SSH на роутере
— Hаспакуйте архив с заводской прошивкой на своём компьютере
— С помощью WinSCP подключитесь к роутеру и скопируйте файл прошивки в папку tmp, назовите, для лёгкости, файл прошивки stock.bin.
— С помощью PuTTY подключитесь к роутеру и выполните следующие команды:

cd /tmp
mtd -r write stock.bin linux

После успешной перепрошивки роутер перезагрузится.

Ссылки, которые мне помогли:

1. Официальная Wiki

2. Статья на ediy.com.my

Сборка минимальной или оптимизированной версии прошивки OpenWRT

Оригинал: How to build OpenWrt minimal image, or a custom firmware
Автор: Arnab Satapathi
Дата публикации: 29 марта 2017 г.
Перевод: А.Панин
Дата перевода: 4 апреля 2017 г.

Проект OpenWRT не нуждается в особом представлении, но ввиду того, что его кодовая база расширяется день ото дня, имеет смысл рассмотреть методику сборки минималистичной версии прошивки, которая подойдет для установки на маршрутизаторы с 4 МБ флэш-памяти, причем у вас останется достаточно места для установки дополнительных пакетов в будущем.

  • Одним из решений является создание корневой файловой системы на подключенном к маршрутизатору USB-накопителе, но это не всегда возможно, ведь вам может понадобиться использовать USB-порт для какой-либо другой цели, например, для подключения внешнего Wi-Fi адаптера. Хотя вы и можете использовать USB-хаб, он значительно снизит надежность всей системы.
  • Теперь следует упомянуть о другой проблеме, заключающейся в том, что в OpenWRT Chaos Calmer версии 15.05, 15.05.1 или более новой версии вы просто не сможете разместить корневую файловую систему маршрутизатора с 4 МБ флеш-памяти и USB-портом на USB-накопителе. Это объясняется тем, что объема флеш-памяти не хватит для сохранения всех пакетов с необходимыми для использования внешней корневой файловой системы программными компонентами, во всяком случае я столкнулся с такой ситуацией.

Что же, начнем рассмотрение процесса сборки прошивки.

1. Загрузка окружения для сборки прошивки OpenWRT image builder

В первую очередь вам придется определиться с платформой вашего маршрутизатора, то есть, узнать архитектуру используемого в нем центрального процессора: MIPS, ARM, x86 и так далее.

Я использую маршрутизатор TP-Link MR3220 с SoC AR9331, из чего следует, что требуется собрать прошивку для 32-битного центрального процессора архитектуры MIPS с порядком байтов big endian. В OpenWRT данная платформа носит имя .

Таким образом, мне придется загрузить окружение для сборки прошивки OpenWRT Chaos Calmer 15.05.1 для платформы , причем модель маршрутизатора входит в категорию .

Вы можете загрузить окружения для сборки прошивок для других различных платформ по ссылке: .

2. Использование окружения для сборки прошивки

Для корректного использования окружения для сборки прошивки вам понадобится работоспособная , которую вы наверняка уже используете, а также базовые навыки работы с инструментами с интерфейсом командной строки.

Извлеките содержимое загруженного архива в любое место, например, в вашу домашнюю директорию:

tar -xf OpenWrt-ImageBuilder-15.05.1-ar71xx-generic.Linux-x86_64.tar.bz2 -C ~/

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

Теперь нужно установить некоторые программные компоненты, которые необходимы для компиляции и связывания компонентов прошивки, такие, как GNU Make.

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

sudo apt-get install build-essential

Теперь нужно перейти в директорию с извлеченным из архива окружением сборки прошивки OpenWRT image builder:

cd ~/OpenWrt-ImageBuilder

Перед непосредственной сборкой прошивки необходимо убедиться в том, что окружение корректно функционирует:

make help

В случае корректной работы вы должны увидеть несколько строк текста с информацией об использовании окружения.

3. Выбор добавляемых в прошивку и удаляемых из прошивки пакетов

Этот этап является особенно важным, ведь вам придется определиться с тем, какие пакеты следует добавить в прошивку или удалить из нее, не оказывая негативного влияния на стабильность.

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

Вы можете без каких-либо последствий удалить все пакеты, связанные с , вместо пакетов, связанных с LuCI, если желаете освободить пространство на флеш-накопителе маршрутизатора.

Я также добавляю в прошивку несколько дополнительных пакетов для использования внешней корневой файловой системы сразу же после прошивки без необходимости установки каких-либо дополнительных пакетов. А это список добавляемых мною в прошивку пакетов:

kmod-fs-ext4 kmod-usb-storage kmod-scsi-core block-mount kmod-lib-crc32c kmod-crypto-crc32c

Примечание: два дополнительных пакета, а именно, и необходимы для использования файловой системы ext4.

4. Сборка прошивки OpenWRT

Пришло время для сборки минимальной прошивки OpenWRT, но для начала следует выполнить команду для получения списка доступных профилей сборки и выбора подходящего вам профиля.

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

Ниже приведена полная команда для сборки прошивки; не забудьте адаптировать ее к вашей конфигурации и модели маршрутизатора.

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

После окончания процесса сборки вы сможете найти все собранные прошивки OpenWRT для выбранной платформы в поддиректории сборочного окружения, причем в моем случае прошивки были размещены в директории .

5. Перед прошивкой маршрутизатора

Перед прошивкой маршрутизатора следует проверить размер созданного файла прошивки, ведь в случае использования маршрутизатора с 4 МБ флеш-памяти размер файла прошивки с маркировкой не должен превышать МБ или байт; проверьте это дважды перед тем, как приступить к прошивке маршрутизатора:

du -b openwrt-15.05.1-ar71xx-generic-tl-mr3220-v2-squashfs-factory.bin

Теперь вы можете осуществить прошивку маршрутизатора так, как вам будет удобно: с помощью веб-интерфейса, с помощью команды или любым другим способом.

В результате после входа в систему маршрутизатора по протоколу SSH вы должны обнаружить несколько килобайт свободного пространства.

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

Таким образом вы можете собрать собственную версию прошивки OpenWRT; надеюсь, что данная статья была понятна всем читателям. Не забывайте делиться ссылками на статью, если вы считаете полезной изложенную в ней информацию.


Если вам понравилась статья, поделитесь ею с друзьями:


Появление компьютеров типа Raspberry/Orange/Banana Pi оттеснило на второй план такое изобретение, как OpenWRT.

OpenWRT — труЪ Linux для встраиваемых устройств, который был изначально придуман, как замена «родной» прошивки для большого количества роутеров, открывающей массу возможностей и позволяющей использовать ваш TP-Link за три рубля так, как производителю не снилось в самом страшном сне.

Правда, рептилоиды не дремлют и накладывают различные запреты на перепрошивку роутеров, тем самым иллюстрируя наличие заговора против «красноглазиков» и свободы слова.

Первые попытки сделать «почти аппаратную» точку доступа со встроенным TOR я делал ещё году в 2014, с тех пор задачу считал решённой и к этом вопросу не возвращался. Тем более, что ценник на базовое железо сильно упал и за те же деньги уже можно купить парочку Orange Pi Zero, которые по производительности уделают любой роутер.

Но на дворе уже 2017ый год, «новый» билд OpenWRT (15.05.1) уже давно доступен, так что время обновиться, да и вспомнить, как оно было.

TP-Link WR703N — один из «святых граалей» моддеров и энтузиастов.

Для него уже есть куча проектов — от управления термостатом до портативного pentest-устройства.

Я решил пойти самым очевидным путём и обновить OpenWRT-прошивку утилитой mtd — то есть записать новый образ прямо в память устройства. Ну и получил кирпич, так как, похоже выключил питание слишком рано или забыл указать ключ «reboot» в командной строке.

Кирпич вёл себя странно — подача питания приводила к свечению светодиода на одну секунду, а потом опять «кирпич». Но, судя по этим симптомам u-boot был цел и старичку было рано на помойку.

Пришлось расчехлить USB->UART адаптер и подключиться к устройству через последовательный интерфейс…

Команда screen в Linux — самый простой способ достичь желаемого.

Никаких миникомов, никаких проблем. Предположения подтвердились — uboot цел. Вот эта инструкция вполне адекватна и её можно использовать (раздел «Прошивка через бутлоадер»).

Через полчаса новая прошивка была водружена и роутер начал отвечать… Но не тут то было.

TP-Link WR703N — модель старая и уже (должна быть) снята с производства. ПЗУ там «всего» на 4 мегабайта и о ужас! Установка OpenWRT в её дефолтной версии оставляет порядка 200 кб или менее свободной памяти. Это катастрофически мало и никакие пакеты туда уже особо не поставишь. Даже не получится накатить модули ядра для USB и EXT4 для так называемого external root!

Но не стоит унывать — хитрые разработчики OpenWRT придумали «конструктор» — Image Builder, который позволит собрать свой образ только с необходимыми компонентами. Правда, понадобится компьютер с Linux x64.

Вот ссылка на описание Image Builder.

А вот пример вызова этого самого «билдера», который включает пакеты только для создания образа с возможностью external root.

Нужно лишь заменить TLMR3020 на TLWR703, правда точное значение лучше посмотреть в «хелпе» к image builder.

Образ успешно сформирован и в этот раз залит без происшествий с помощью утилиты mtd в память устройства. Пользуемся вот этой инструкцией и получаем устройство с флешкой, воткнутой в USB-порт и достаточным количеством места, чтобы попробовать всё!

Предварительно флешку нужно «приготовить» — я разбил её на 2 партиции — одна ext4, вторая swap — к сожалению, файл подкачки обязателен. На этом роутере всего 4(!) Мб памяти, так что даже фокус с ZRAM не «канает». И да, не пытайтесь включить ZRAM, по крайней мере штатными средствами — система будет придёт в «неюзабельное состояние».

Теперь можно установить веб-интерфейс для облегчения страданий.

Дальше — пакеты luci* по вкусу.

Собственно, настройка tor+privoxy описана в куче источников, в разных комбинациях, например вот тут.

Стоит отметить, что теперь для управления privoxy есть отдельный модуль для luci. Лучше поставить его и работать через веб-интерфейс — конфигурационный файл весьма критичен к ошибкам, пробелам вместо tab и т.д. Сам TOR настраивается через файл конфигурации «по старинке».

В итоге имеем вполне рабочую TOR-точку доступа, правда её скорость весьма ниже, чем этот вариант.

Итак, в сухом остатке…

Плюсы:

  • OpenWRT 15.05.1 в варианте для «моего» железа WR703N стабилен, как камень и вполне летуч.
  • Не нужен внешний адаптер WiFi USB.
  • Потребление не превышает 230 мА в пике.
  • Аккуратный внешний вид :).

Минусы:

  • Скорость ниже по сравнению с вариантом на Orange Pi/Raspberry Pi
  • Ограничение — пакеты доступны только из репозитария OpenWRT, поднятие «собственной» системы сборки тянет за собой массу трудозатрат, да и ничего хорошего не сулит.
  • Устаревшее и не очень быстрое «железо»

А вообще, нужно придумать какой-то другой проект с использованием этого замечательного микро-роутера.

Удачи!

This wiki is read only and for archival purposes only. >>>>>>>>>> Please use the new OpenWrt wiki at https://openwrt.org/ <<<<<<<<<<

Где получить пакеты

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

  1. В OpenWrt существует встроенная система управлением пакетами Package management system.

  2. OpenWrt предлагает репозиторий Software repository, который на момент февраля 2011 содержал порядка 2000 пакетов.

    Это не опечатка.

  3. Существуют и другие проекты, предоставляющие свои репозитории в дополнение к существующим

  4. Программа, которая осуществляет их установку, учет и удаление, называется opkg-manager.

Официальные пакеты

Официальные пакеты OpenWrt могут быть найдены в отдельной папке с пакетами на сервере репозитория. Пакеты, содержащие только исполняемые скрипты (shell-scripts-only), конечно-же, архитектурно-независимы. Пакеты, содержащие бинарные файлы, зависят от архитектуры, а некоторые, например, kmods — зависят от специфической версии ядра.

У каждого нового релиза есть своя дирректтория, в которую входят суб-дирректории для различных поддерживаемых платформ, а каждая платформная дирректория содержит собранные файлы (pre-build images), а дирректория packages содержит установочные файлы *.ipk.

Пакеты для 'White Russian' доступны здесь: http://downloads.openwrt.org/whiterussian/packages/ и здесь Backport repository.
Исходные коды большинства пакетов можно найти здесь http://downloads.openwrt.org/sources/ и здесь http://mirror2.openwrt.org/sources/.

Создание собственных пакетов

→ Как создать пакет — статья рассказывает о том как создать пакет для OpenWrt используя набор инструментов (Buildroot)
→ crosscompile.

Как скомпилировать свою программу для OpenWRT.

Сторонние пакеты

Сторонние пакеты не проверяются и не поддерживаются сообществом OpenWrt, нет никаких гарантий безопасности и полезности этих пакетов. Они вполне могут содержать бэкдоры и не только. Устанавливать такие пакеты нужно только из проверенных источников! Техническую поддержку выполняют разработчики этих сторонних пакетов, а не разработчики OpenWrt.

Примеры источников сторонних пакетов:

Использование пакетного менеджера OPKG

→ opkg – Полное описание всех команд. Ниже приведен короткий список самых часто используемых команд:

Команда Описание
Выводит список всех возможных команд и опций
Скачивает самый новый список всех доступных пакетов
Выводит список всех доступных пакетов. Для удобства поиска используйте регулярные выражения
Выводит список уже установленных пакетов
Устанавливает пакет , так же можно использовать полный адрес (FQDN), например opkg install http://downloads.openwrt.org/ar71xx/packages/umurmur-polarssl_0.2.6-1_ar71xx.ipk
Удаляет пакет
Опция Полное название опции Описание
-V <level> –verbosity <level> Set verbosity level to <level>. 0 = errors only, 1 = normal messages (def), 2 = informative messages, 3 = debug, 4 = debug level 2
-d <dest_name> –dest <dest_name> Use <dest_name> as the the root directory for package installation, removal, upgrading. <dest_name> should be a defined dest name from the configuration file, (but can also be a directory name in a pinch).
-o <dir> –offline-root <dir> Use <dir> as the root directory for offline installation of packages.

Внешние устройства хранения данных

· Last modified: 2015/09/12 16:59 by

.

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

Закрыть меню