Меню Рубрики

Установка tomato dir 320

illumium.org

«Овощная» прошивка Tomato на D-Link DIR-320

Сегодня я буду учить вас плохому, а именно, мы будем ставить прошивку Tomato, чтобы использовать возможности нашего роутера, купленного за 60 американских рублей, на все 120%.

Затравка

Недорогие домашние маршрутизаторы — железки обычно весьма скромной конфигурации. Изредка встречаются экземпляры с RAM 32Mb и USB портом, наподобие D-Link DIR-320. Девайс заинтересовал меня именно по этим причинам и был приобретён примерно год назад. Сразу же после получения сего устройства, принялся тестировать на нём возможности различных прошивок. К слову сказать, прошивки от аналогичных моделей ASUS понравились даже меньше, чем стандартная родная. Меня заведомо не устраивали типовые решения, и нужно было искать что-то с гораздо более широкими возможностями и, одновременно, легко настраиваемое под различные нужды. Весь год роутер бегал висел на стенке под управлением DD-WRT. За год использования роутер и модифицированная собственноручно версия прошивки в целом хорошо себя показали. Однако выявились некоторые проблемы, которые со временем стали очень досаждать и побудили меня пробовать что-то другое.

  • Отсутствие нормального hotplug-а в DD-WRT. Нет возможности прописывать действия, вызываемые при появлении и исчезновении определённых устройств. Мне требуется загружать firmware в принтер при подключении его по USB, а также монтировать USB накопители и запускать torrent клиент, если нужный носитель присоединён.
  • Плохо работающие драйверы USB. Иногда случается что-то и устройства становятся недоступны до перезагрузки маршрутизатора.
  • Тяжёлый proftpd, требующий много памяти и падающий при перекачке вложенной структуры каталогов по ftp.
  • dnsmasq не принимающий имена узлов локальной сети от них самих.

В процессе чтения анонсов и обсуждений в форумах, моё внимание привлекла прошивка Tomato. Удивило то, как разработчики умудрились затолкать в std столько всего и при этом осталось ещё место, так нужное мне для firmware принтера. Было решено немедленно попробовать этот странный овощ на вкус.

Пробуем

Я скачал Standard тип последней стабильной версии прошивки на ядре 2.4 отсюда, потому что мне обещали ещё свободных 300 Кб. Не порадовала тенденция архивирования образов rar-ом, ну что ж, пришлось ставить unrar для раскатки. Затем я воспользовался набором скриптов Firmware Mod Kit для распаковки и повторной упаковки прошивки.

Подготовка

Итак, для начала создаём рабочий каталог, затем переходим в него и берём последнюю версию Firmware Mod Kit из svn:

Затем качаем и распаковываем нужный нам образ Tomato. Я создал директорию firmware в рабочем каталоге и складываю образы туда. Также создал каталог target, где будет лежать распакованное содержимое образов. Для распаковки образа переходим в mod-kit и выполняем:

Смотрим содержимое каталога target. Вы должны увидеть подкаталог rootfs, содержащий корневую файловую систему прошивки.

Модификация

Мне не хотелось пока что-то радикально меня в структуре прошивки. Я решил добавить лишь мониторинг загрузки системных ресурсов и сделать необходимые вещи для работы USB принтера.

Монитор загрузки ресурсов

Мне захотелось мониторить загрузку системы с помощью такого скрипта:

Он мигает светодиодом на верхней кнопке перезагрузки в зависимости от степени загрузки ресурсов системы маршрутизатора. Я сохранил этот скрипт в target/rootfs/usr/sbin/loadmon и дал ему права на выполнение.

Файл прошивки принтера

Для печати в Tomato уже входит простой сервер печати p910nd. Теперь передо мной стояла задача включения в образ прошивки принтера. Мой принтер HP LaserJet P1005 требует для работы загрузки в себя firmware по USB (вот зачем инжинигры HP сделали нам пользователям такую пакость) Ищем нужную прошивку sihp в интернете (например тут) или делаем следующее:

  • Ставим пакет foo2zjs
  • Выполняем: sudo getweb p1005 (без прав суперпользователя он не сможет сохранить прошивку куда хочет)
  • Идём в /usr/share/foo2xqx/firmware и, если всё получилось, видим файл sihpP1005.dl

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

Итак, кидаем полученный файл в rootfs прошивки. Я разместил его в /usr/local/sihp/sihpP1005.dl.

Сборка образа прошивки

Собираем модифицированный образ, для этого создадим директорию с образами, например firmware-new, в рабочем каталоге, затем снова идём в mod-kit и выполняем:

Если всё удалось, получаем файлы прошивок с разными именами под разные устройства. На данном этапе важно проконтролировать размер полученной прошивки под наш роутер, под DIR-320 она не должна сильно превышать 3.5 Мб, иначе может не влезть.

Заливка на роутер

Я наступил на кучу граблей, следуя руководству по прошивке томатов. Конечно же я очистил nvram перед прошивкой. А когда закатил tomato, с ужасом обнаружил неработающий порт WAN. Перепробовал все способы заставить его работать: отключал и включал опцию Reduce Packet Size, выставлял вручную режим работы порта, пробовал статическую конфигурацию интерфейса, — но ничего не помогало. Множество пользователей отписались автору прошивки об аналогичной проблеме. Однако интерфейс WAN работает, если перешивать Tomato после DD-WRT не выполняя сброс nvram. Я так и поступил, ибо не очень хотелось копаться в значениях параметров nvram.

  • Закатываем на роутер DD-WRT, если он уже не стоит
  • Удостоверяемся что WAN интерфейс работает
  • Вытаскиваем пароль пользователя для доступа к админке (nvram get http_passwd)
  • Зашиваем на девайс Tomato
  • Заходим на роутер и проверяем работу WAN

Собственно прошивка

Шить можно двумя способами:

  • Через web-морду роутера
  • Через bootloader

Первый спопоб прост и тривиален, вкратце опишем второй. В таких девайсах имеется некая программа начальной загрузки, именуемая bootloader-ом, всё, что она умеет делать, это стартовать девайс и обновлять его прошивку. Bootloader в DIR-320 умеет принимать прошивку по протоколу tftp. Во время начальной загрузки он выставляет адрес моста локальных интерфейсов в 192.168.0.1 и некоторое время слушает соединения на нём по tftp. Мы должны перевести локальный сетевой интерфейс в эту сеть и кинуть прошивку. У меня для этого написан небольшой скриптик flash.sh:

  • Отключаем автоматическую конфигурацию сети (network-manager или что там у вас)
  • Отключаем питание маршрутизатора
  • Соединяем его с компьютером LAN шнурком
  • Запускаем прошивку: ./flash.sh ваш_образ.bin
  • Смотрим на процесс и ждём
  • Ждём ещё несколько минут пока прошивка из оперативки полностью пропишется во flash девайса (он как-то даст об этом знать)
Читайте также:  Установка кредитного лимита мкб

Если мы прошились в Tomato после DD-WRT, дефолтный пароль будет вовсе не admin, а тот, который мы с вами получили прочтением переменной http_passwd из nvram.

Финальная донастройка

Тут всё просто, web-морда содержит все необходимые вещи. Признаться, интерфейс томатной прошивки удивил всем. Он очень простой и логично организованный, нет перегрузки вкладок как в dd-wrt, нет этих идиотских всплывающих меню как в LUCI, все возможности удобно расположены в древовидном меню слева.

Запуск мониторинга при старте

Идём в Administration > Scripts и видим вкладки с текстовыми областями для вставки текста скриптов.

Также на всякий случай в Shutdown:

После того, как добавили это, нажимаем Save. Теперь при старте начнут мигать светодиоды подсветки верхней кнопки перезагрузки роутера в зависимости от текущей загрузки системных ресурсов.

Инициализация принтера при подключении

Сперва включим работу USB в USB and NAS > USB Support. Отмечаем Core USB Support, USB 2.0 Support, USB 1.0 Support OHCI, USB Printer Support, Bidirectional copying (если нужно).

Не спешим жать Save, ведь мы ещё не настроили загрузку прошивки в принтер при подключении. Видим почти в конце формы текстовую область Hotplug script, она то нам и нужна. Я написал несложный скрипт, который проверяет идентификатор устройства и выполняет при подключении загрузку прошивки и включение светодиода принтера на панели роутера, а при отключении гасит этот светодиод:

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

USB накопители и FTP сервер

Тут всё тоже весьма просто. Идём в USB and NAS > USB Support. Отмечаем Core USB Support, USB 2.0 Support,USB 1.0 Support OHCI, USB Storage Support, в Filesystem Support отмечаем модули каких файловых систем нам нужны, я отметил Ext2/Ext3. Теперь отметим также Automount, чтобы все разделы подключаемых устройств монтировались в подкаталогах с их именами внутри /mnt. Области для скриптов, выполняемых при монтировании и отмонтировании устройств, оставим пока пустыми, в дальнейшем мы обязательно применим их для запуска torrent клиента и других полезных вещей. Теперь нажимаем Save.

Всё хорошо, устройства подключаются и работают, однако мы не позаботились об их отсоединении. Хорошая идея использовать верхнюю кнопку сброса для этого. Идём в Administration > Buttons / LED и заголовок SESS/AUSS Button, это оно. Мы можем настроить действия, которые выполнятся при удерживании этой кнопки определённое число секунд. Например, пусть при удерживании кнопки сброса 4-6 секунд выполнится Unmount all USB Drives. Сохраняем, тестируем, должно работать.

Теперь настроим ftp сервер. Порадовало, что здесь более лёгкий vsftpd вместо proftpd, который используется в dd-wrt. Переходим в USB and NAS > FTP Server и выбираем нужную конфигурацию в Enable FTP Server. Далее настраиваем другие параметры на свой вкус. Я решил запретить анонимусам лазить на сервер и выбрал в качестве корня сервера директорию /mnt с подмонтированными накопителями.

В User Accounts задаём всех пользователей, которым разрешён доступ.

Финальные шаги

После настройки не забываем сделать бэкап конфигурации на случай если произойдёт сброс настроек и нужно будет их по быстренькому восстановить. Для чего идём в Administration > Configuration пишем имя файла бэкапа и сохраняем его. Осталось только перезагрузиться и проверить работу всего того, что мы только что настраивали.

Выводы

На мой субъективный взгляд, Tomato — единственная по-настоящему вменяемая прошивка из того, что довелось использовать до этого. В ней выдержан тонкий баланс между юзабильностью и функционалом, и выдержан не в ущерб одного другому, как обычно любят делать получается. Однако как всегда не обошлось без суровых граблей, рандомно разложенных тут и там.

Потом напишу ещё, как использовать optware на внешних накопителях, как запускать torrent клиенты и другой полезный софт.

Напоследок пруфпики моей сетки и скриншоты web-фейса помидорки:

источник

Полноценный USB выход на D-link dir-320 A1 на Tomato

Доброго времени суток всем!

В этой статье хочу помочь владельцам достаточно популярного, но уже морально устаревшего D-link dir-320 ревизии A1 разобраться как заставить нормально работать USB в роли файлового сервера, т.к. в интернете я не нашел внятной информации как это сделать, и пришлось собирать пазл по кусочкам.

И так, роутер имеет на себе usb выход, НО… производитель решил, что использовать его нужно только для принт-сервера и не более того. В web интерфейсе родной прошивки можно выбрать только «Настройки принтера». Обновление прошивки ничего не дает.

Читайте также:  Установки для нижнего налива нефти

Т.к. USB выход есть и он может делать, что либо еще кроме выдачи 5 В, то соответственно проблема только одна и это прошивка. Было решено менять.

Начнем по порядку, имелся роутер ASUS RT-N12VP без USB выхода, а так же старенький D-link dir-320 A1, цель была следующая, объединить два роутера в одну сеть и иметь сетевой диск.

Первый подводный камень «сменить прошивку на dd-wrt»

Скажу сразу далее инструкция по прошивке роутера, она одинакова как для dd-wrt, так и для tomato.

В интернете много инструкций где указано что нужно ввести роутер в режим recovery, это делать не нужно для dir-320.

Для начала в панели управления -> включение компонентов windows мы отмечаем галочками telnet и tftp

Затем открываем командную строку и вводим cd c:\ddwrt
Так вы перейдете в раздел с прошивкой которую для dir-320 можно скачать с офф.сайта dd-wrt
Затем вводим в строку tftp -i 192.168.0.1 put firmware.bin , но Enter не нажимаем.

C:\Documents and Settings\someuser> cd c:\dd-wrt
C:\dd-wrt> tftp -i 192.168.0.1 put firmware.bin

Для того что бы прошить роутер нужно отключить питание роутера, подождать хотя бы пару секунд, затем включаем питание и после этого через 1-2 секунды нажимаем Enter для выполнение нашей команды. Окно выдаст об успешной передаче данных и на этом остается просто подождать 5-7 мин. Если окно выдало сбой связи то вы слишком долго ждали либо наоборот нажали слишком рано, попробуйте еще раз.

Второй камень dd-wrt vs. tomato

После истечения времени выключите питание и снова включите, зайдите в WEB меню роутера уже на dd-wrt И…… обнаружите что раздел usb в настройках отсутствует напроч. Я перепробовал разные версии dd-wrt и в итоге решил попробовать tomato.

Прошил по примеру выше прошивкой tomato-NDUSB-1.28.8754-Std, только нужно переименовать фаил в firmware и поменять расширение на bin, зашел в веб (ip адрес у томато 192.168.1.1) и наконец увидел желанные file sharing и ftp.

Дальше все просто заходим в меню usb ставим галочку на Core USB Support, вставляем флешку с файловой системой fat32, и в разделе file sharing выбираем Enable File Sharing YES, и дальше настраиваем под себя пароль доступа и т.д.

Для объединения роутеров нужно соединить их проводом любыми портами LAN. Если у нас главный роутер имеет 192.168.1.1 в настройка tomato указать адрес роутера к примеру 192.168.1.2, если же главный 192.168.0.1 то tomato будет 192.168.0.х, где х любая цифра(последняя цифра не столь важна главное что бы не 1 и не 255),

Dir-320 очень дешев и с рук его можно купить за 200-350 руб., но за эти деньги вы получите свой NAS хоть и без торрентов и т.д. Лучшего варианта в пределах этой суммы придумать сложно.

Надеюсь статься пригодится и вам не придется трать время на поиск решения.

Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.

источник

Установка tomato dir 320

Не существуют, в виду аппаратной несовместимости данной ревизии.

ПрошивкоЧавк:
Q: «Что такое ночная прошивка?».
A: Формула проста: Последняя релизная + текущие накопительные правки по известным проблемам.

Q: «Чем «ночнушка» отличается от релиза?»
A: Надо понимать, что это — «черновик». Когда делается новая «ночнушка», в ней что-то исправлено или оптимизировано, но данная прошивка (в отличии от релизной) не проходила весь набор тестов на внутреннюю и внешнюю совместимость. С другой стороны, черновики тоже бывают правильными. Да, риск нарваться на глюк выше, но «фенечки и фичечки» в «ночнушках» появляются гораздо раньше, чем в релизах.
Что использовать — выбирать вам.

Q: «Где можно получить актуальную «ночнушку»?»
A: В Телеграме существует бот @dlink_rubot , раздающий «ночные» прошивки на большинство актуальных моделей.
Даже, если бот не раздает прошивки именно под Вашу модель/ревизию, на Телеграм-канале D-Link_RU наверняка найдутся люди, которые помогут разобраться с вашим вопросом.

Вы также можете задать свой вопрос сотруднику D-Link’а здесь на форуме
или обратиться через группу в Telegram.

30.08.2017 — добавлено:
— много полезного материала
— полностью переработана шапка темы

Сообщение отредактировал stp101 — 10.10.19, 23:44

залить ему прошивку с торрент-клиентом, подцепить USB-винт гигов на 500 и пусть себе спокойно качает торренты пока мы спим. и компьютер отдыхает.

ЗЫ: правда для большей производительности ему своих 32Мб ОЗУ маловато. у нас допустим в городе есть люди которые перепаивают на 64Мб и тогда на торрентах этот длинк перестает сильно тормозить.

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

читал что при перепрошивке все настройки сбросятся (. и из сохранения не восстановишь..

cooler.nvkz, нет ли какой инструкции доступной? проблема в том, что DC клиент отказывается видеть сетку.. по всяческим мануалам настраивал-не видит хоть тресни. название клиента как то Fly. счас вылетело из головы. то есть было перепролбовано много всяких цифр-не работает.. (к этому клиенту есть ссылки как настроить-все равно не пробрасывается). если отключить роутер и подключить напрямую VPN, то клиент работает.
какие цифры писать неизвестно и где спросить тоже неизвестно..
уволить админов не могу-не в моей компетенции, хорошо хоть такие есть, еще недавно вообще интренета не было

Сообщение отредактировал and-rassk — 30.03.10, 13:30

залить ему прошивку с торрент-клиентом, подцепить USB-винт гигов на 500 и пусть себе спокойно качает торренты пока мы спим. и компьютер отдыхает.

ЗЫ: правда для большей производительности ему своих 32Мб ОЗУ маловато. у нас допустим в городе есть люди которые перепаивают на 64Мб и тогда на торрентах этот длинк перестает сильно тормозить. —

Сообщение отредактировал cooler.nvkz — 31.03.10, 05:02

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

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

если же в обход роутера дать инет прямо на ББ по VPN, то работает

самое обидное, что перед покупкой роутера я спрашивал у провайдера-какой роутер купить, они сами сказали длинк (я бы может сам бы и купил асус, меня на савеле продавцы отговаривали-«не бери длинк!»)..
а потом выяснилось, что с длинком DC не будет работать. нехорошие люди, некомпетентные. вот такое отношение к клиенту.. а альтернативы нет-монополия..

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

кстати а можно потом откатиться назад если что? сделать дамп прошивки текущей..

..набрел опять на форум длинка, интересная веточка

а вот нашел как сделать чудо-машину из роутера.. даже не верится. может заморочиться?

Сообщение отредактировал and-rassk — 02.04.10, 14:43

я вот поглядываю тоже в эту сторону (DD-WRT). но у меня 2мб памяти и много туда не запихаешь. нет USB порта — файловую помойку не устроить (можно SD-карту припаять, но это не то).

ЗЫ: обратите внимание что там форум ссылки не полностью выделил. чтобы попасть куда хотели — нужно выделять всё самому.

Сообщение отредактировал cooler.nvkz — 03.04.10, 09:21

.. перепробовал сегодня 3 прошивки (официальные), наконец вроде бы тьфу тьфу тьфу все настроил. на прошивке dir320_v1.20_93ke.bin.
заработал DCклиент! для этого понадобилось настроить роутинг ( в добавление к портфорвардингу). этого у меня настроено не было ранее, счас работает, фантастика..

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

ps ах нет я поторопился, через некоторое время DC рвет коннект с таким сообщением
[22:47:01] Active Search: Your ip is not 0.0.0.0 it is 10.10.12.220 bye bye.
[22:47:01] *** This socket has been closed.

может кто знает как чинить?

Сообщение отредактировал and-rassk — 04.04.10, 21:49

and-rassk, в настройках DC нужно IP прописать твой который провайдер выдает.

drum4eg, есть такая функция на роутере — DMZ. на роутере прописываешь чтобы твоему компу присваивался только один и тот же IP:

вкладка SETUP , подвкладка (слева которые) Network settings , там ищем 50 — DHCP Reservations List , ставим первую галочку, в самом правом выпадающем списке выбираем свой компьютер и жмем кнопку рядом (как он в сети называется), вводим в поле IP Address какую нибудь цифру (и можно запоминаем весь адрес) и нажимаем в самом верху страницы «Save Settings»

потом включаем DMZ:
Advanced — Firewall Settings — в самом начале DMZ HOST , ставим галочку Enable DMZ Host , выбираем компьютер из выпадающего списка и жмем кнопку рядом, Schedule выбрать always, и так же вверху «Save Settings» .

теперь любой запрос отправленный из интернета/внутренней сети провайдера на ваш IP (роутер) будет перенаправлен на ваш компьютер. дальше настраиваем флайлинк:

всё так же в настройках роутера: Status , на странице ищем Wan и там запоминаем IP Address : 172.16.100.193 (цифры для примера — у вас другие)

в настройках (картинка — http://forum.comrise.ru/download/file.php. bcc3f3acb4f0259 ), жмем «с ручным перенаправлением», порты любые (у меня 4000 и 4001, на картинке другие), внешний WAN — вводим то, что запоминали в роутере.

ЗЫ: проблема может быть другая если каждый раз при подключении провайдер выдает разные IP (WAN который у вас). тогда это надо будет у провайдера покупать «статический IP адрес». проверить легко — запомнили в статусе адрес, перезагрузили роутер и смотрим еще раз.

ЗЫЫ: во флайлинке можно попробовать «брендмауэр с UPNP». но я у себя так и не заставил работать.

источник

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

Adblock
detector