Cборка модулей ядра для dd-wrt

Не смотря на то, что dd-wrt имеет достаточное количество собранных пакетов, доступных через пакетный менеджер, кое-чего иногда все же не хватает. Можно в принципе написать аналог этого «чего-то» на том же Perl и спокойно запустить на роутере, но такой подход в случае с относительно сложным и большим приложением нерационален. А в случае с нехваткой поддержки ядром прошивки нужных функций — и вовсе очень затруднителен. И тогда на помощь приходит старый добрый способ сборки из исходников, осложняющийся в данном случае тем фактом, что собирать на самом роутере не слишком удобно в силу ограниченности его ресурсов, а сборке на производительной машине препятствует разница в архитектурах процессоров (у DIR-620 это MIPS), если у вас конечно нет доступа к производительной MIPS-машине с аналогичной архитектурой ЦПУ 🙂 Вывод — нужен кросс-компилятор. О процессе сборки приложений и модулей ядра под dd-wrt на DIR-620 при помощи кросс-компилятора и пойдет речь ниже.
(далее…)

Торрент-клиент transmission — установка на DIR-620 под управлением dd-wrt

Итак, на роутер D-Link DIR-620 была установлена прошивка dd-wrt (с поддержкой swap, это важно), подключены флешка для хранения настроек и установленных программ и внешний жесткий диск в качестве NAS и хранилища закачек для torrent-клиента. Дело за малым — установить и настроить сам клиент. Я выбирал между консольными клиентами rtorrent и transmission, в результате остановился на последнем. Популярные Deluge отпал сразу — тратить скромные ресурсы роутера на обслуживание еще и интерпретатора питона нет смысла. Про rtorrent попались сообщения о наличии в нем утечек памяти, что не есть хорошо. Кроме того, его нужно запускать при помощи screen или dtach, т.к. режима демона он не имеет. А это опять трата лишних ресурсов. Сам-собой остался transmission, умеющий работать в виде демона и достаточно стабильный. Кроме того, помимо нескольких GUI-фронтэндов у него есть встроенный веб-интерфейс — бери и пользуйся, без лишних телодвижений.

Установка transmission на dd-wrt

Установка торрент-клиента transmission (daemon) на роутер под управление dd-wrt проста до неприличия — достаточно, подключившись например по ssh к роутеру, выполнить следующие команды:

  • ipkg-opt update — обновит список пакетов, доступных для установки;
  • ipkg-opt list | grep transmission — выбираем, какую версию клиента ставить (есть сборка клиент + утилиты для создания и редактирования торрентов + демон, есть отдельно демон);
  • ipk-opt install transmission — я установил пакет, включающий, помимо демона, утилиты для работы с торрент-файлами.

Всё предельно просто, теперь нужно немного настроить transmission-daemon, дописать его в автозагрузку — и можно начинать пользоваться. О настройке дальше и идет речь.
(далее…)

Подключение и настройка сетевого USB-принетра к dd-wrt на примере DIR-620 и Xerox Phaser 3140

Следующим шагом после установки на DIR-620 прошивки dd-wrt и создания из него сетевого хранилища и торрентокачалки стало подключение сетевого принтера по USB. В принципе задача совершенно не сложная, исходные данные следующие:

  • Роутер D-Link DIR-620 с прошивкой dd-wrt и подключенным к нему USB-хабом;
  • Лазерный принтер Xerox Phaser 3140 (имеется штатный драйвер под *nix);
  • Linux и Windows машины в локальной сети, которые должны печатать на сетевом принтере;
  • Ресурсы роутера ограничены, следовательно использование демона печати CUPS возможно, но может быть проблематично.

При таких исходных данных логичной выглядит схема связи машин из локальной сети с принтером, подключенным к роутеру, при которой вся обработка заданий печати будет выполняться на самих клиентах (там же должны быть установлены драйверы принтера), а роутер займется простой переадресацией готовых заданий печати на принтер. Наряду с плюсом этого решения — экономией ресурсов роутера, есть и минус, который я пока не знаю, как победить — для просмотра оставшегося уровня тонера нужно печатать тестовую страницу.
(далее…)

D-Link DIR-620 и dd-wrt — подключение flash, установка программ, настройка NAS

Итак, после установки на роутер DIR-620 прошивки dd-wrt, можно подключить к нему флешку или внешний диск по USB, установить нужные программы и получить помимо самого роутера — NAS с закачкой торрентов.

Монтирование внешнего диска в dd-wrt

Для начала нужно включить поддержку USB на роутере через веб-интерфейс: Services — USB — USB Support — Core USB Support + USB Storage Support. После подключения внешнего диска проверить успешность при помощи вызова dmesg | grep scsi, где строки вида /dev/scsi/host2/bus0/target0/lun0: p1 p2 укажут на подключенный диск (в данном случае мой диск подключен к третьему порту USB-хаба — host2 и имеет два раздела — p1 p2.
(далее…)

D-Link DIR-620 и dd-wrt — бюджетный NAS и торрентокачалка

Давно подумывал о необходимости сделать дома NAS (сетевой диск), чтобы иметь общее для всех домашних компьютеров (а теперь — и смартфонов) хранилище музыки, фильмов, резервных копий и каких-то общих файлов, которые нужно синхронизировать между несколькими машинами. Идея собрать еще один компьютер на чём-нибудь типа Атома после размышлений была отброшена — получается долго и относительно дорого, хотя конечно интересно. Поэтому решил посмотреть в сторону готовых устройств с возможностью перепрошивки, конкретно — роутеры, поддерживающие dd-wrt/openwrt и т.п.

Сначала остановился на D-Link DIR-320 — ставший уже классическим вариант для создания домашнего NAS, организации небольшой полноценной сети и решения других подобных задач. Плюсы — весьма умеренная цена, давно на рынке и уже плотно оброс всевозможными руководствами по переделке и доработке. Однако получилось так, что в магазине его не оказалось и я купил DIR-620 — более современную версию 320-го. В остальном особой разницы нет — DIR-620 также имеет возможность перепрошивки сторонними прошивками, оборудован USB-выходом (USB-хостом, если быть точным) и стоит примерно тех же денег (в моём случае он даже оказался на 70 руб. дешевле).
(далее…)

Загрузка и восстановление прошивки dd-wrt через tftp

В заметке про установку прошивки dd-wrt на D-Link DIR-620 я упоминал о замене стандартного загрузчика роутера на загрузчик от Zyxel Keenetic, после чего становится возможной загрузка прошивок в DIR-620 при момощи tftp. Нужно это может быть во-первых для того, чтобы не пересобирать сторонние прошивки в формат, понятный загрузчику, доступному через веб-интерфейс; во-вторых — для восстановления прошивки роутера, если что-то пошло не так и веб-интерфейс недоступен.
Поскольку процесс установки прошивки через tftp под Windows детально рассмотрен на сайте deadc0de, а я в основном использую Linux-машины дома, опишу загрузку dd-wrt в DIR-620 через tftp именно для Linux.
(далее…)