Меню Рубрики

Установка линукса на роутер

Превращаем недорогой роутер в домашний сервер

Этот пост был написан примерно год назад и вообще для вражеского сайта и не совсем соответствует тематике ЕЕ. Но, думаю, может быть интересен. На вражеском сайте пост стал недоступен после того, как я с гневом выпилил оттуда свой аккаунт после очередного произвола НЛО.

Так что пускай тут полежит, в моём персональном блоге. 🙂

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

В этом посте я хочу поделиться своим опытом по созданию сервера на основе роутера D-Link DIR-320. На роутере были подняты Веб-сервер, FTP, настроена видеотрансляция. Хотя статья и предполагает использование DIR-320, для другого роутера процесс настройки будет отличаться незначительно.

Аппаратное обеспечение

Я использовал роутер DIR-320. Данный девайсик имеет MIPS32-микроконтроллер Broadcom BCM5354 с тактовой частотой 240 МГц, оперативную память объёмом 32 МБ, энергонезависимую память объёмом 4 МБ. Сетевые интерфейсы, 2.4 ГГц RF-модуль, USB-контроллер интегрированы в микроконтроллер. Ещё в устройстве установлен 100-мегабитный свитч на 4 порта. Кстати, микроконтроллер достаточно сильно грелся, но после того, как на него был посажен на термопасту небольшой медный радиатор, температура снизилась до нормальных 40-50 градусов. Кроме того, на плате не был установлен экран на высокочастотном модуле, хотя и была предусмотрена площадка для его пайки. Впрочем, эти небольшие недостатки конструкции компенсируются сравнительно низкой ценой устройства, хорошим потенциалом для моддинга, поддержкой альтернативных прошивок, лёгкостью восстановления стандартной прошивки после неудачных экспериментов. Кроме роутера был использован 4-портовый USB-хаб Manhattan, UVC-камера A4-Tech PK-750MJ на китайской микросхеме VC0332, USB-флешка Kingston на 2 ГБ, пара патч-кордов по 1,5 м. Питание осуществляется от стандартного блока питания на 2 Ампера из комплекта роутера. Запаса мощности вполне хватает для питания дополнительных устройств. При подключении более серьёзных потребителей (например, HDD) желательно установить блок питания по приличней, Meanwell’овский юнит например.

Выбор прошивки

Первой прошивкой, на которую я обратил внимание, была DD-WRT. Эта прошивка порадовала качеством, стабильностью и обширным набором дополнительных пакетов — Optware. DD-WRT поддерживает множество устройств, легко устанавливается, имеет удобный веб-интерфейс, множество возможностей доступно сразу после заливки прошивки в роутер. Однако DD-WRT основана на старом ядре 2.4, что накладывает серьёзные ограничения. Например, ядро 2.4 не поддерживает модуль uvcvideo, который требовался мне для подключения камеры. Погуглив, я узнал о прошивке OpenWrt. Последний релиз OpenWrt 10.03 под кодовым именем Backfire, вышедший 8 апреля 2010 г, поддерживает ядро 2.6.32. Для этой прошивки создан набор дополнительных пакетов — X-Wrt, в котором можно найти очень много полезного портированного софта и админку WebIf. Главная особенность OpenWrt — перезаписываемая файловая система, которая монтируется поверх стандартной файловой системы, что позволяет устанавливать пакеты в роутер и выполнять конфигурирование привычным редактированием файлов. Возможно монтирование как части энергонезависимой памяти роутера, незанятой прошивкой (с использованием файловой системы JFFS2), так и внешнего носителя. Для установки пакетов используется менеджер opkg. OpenWrt вместе с дополнительными пакетами распространяется в исходниках.

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

Нам понадобится любая операционная система на основе Linux. Я использовал Arch Linux.

Для получения исходников, нужно установить subversion:

Скачиваем Buildroot OpenWrt:

Скачиваем и устанавливаем дополнительные пакеты и патчи:

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

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

Выбирать пакеты можно как для установки в прошивку, так и просто для сборки. Пакеты, собранные без установки образуют наш мини-репозиторий, из которого их можно будет устанавливать уже после заливки прошивки в роутер. Памяти в DIR-320 всего 4 МБ, причём обязательно должно остаться немного свободного места для использования JFFS2. Так что будем устанавливать минимально необходимый набор пакетов, а остальное соберём для последующей установки на внешний носитель. Чтобы выбрать пакет для установки в прошивку, нужно нажать Y. Я добавил в прошивку пакеты, требуемые для монтирования флешки:

Также, добавил веб-админку. Без админки не удастся установить пароль для входа по ssh:

Затем, выбираем пакеты для сборки без установки. Не стоит выбирать много лишних пакетов, чтобы время сборки не увеличивалось до неразумных пределов. Чтобы выбрать пакет для сборки без установки, нужно нажать M. Многие пакеты можно установить и из основного репозитория, однако нужные модули ядра стоит собрать, т.к. в репозитории могут быть несовместимые версии. Я выбрал модули ядра, необходимые для подключения UVC-камеры — kmod-video-core и kmod-video-uvc.

Также можно настроить некоторые параметры прошивки, например сетевой адрес по умолчанию. Я установил адрес 192.168.0.1 (адрес роутера по умолчанию — 192.168.1.1):

Image Configuration -> LAN IP Address -> 192.168.0.1

При необходимости, можно сконфигурировать ядро. Я оставил всё по умолчанию.

В процессе сборки прошивки также будут скачиваться и собираться необходимые инструменты для кросс-компиляции, скачиваться исходники ядра, пакетов и т.д. Сборка займёт от 30 минут до нескольких часов, в зависимости от производительности сети и компьютера. После завершения сборки, в папке bin будут находиться созданные образы прошивки в различном формате и собранные пакеты. Нам понадобится образ прошивки в формате squashfs — openwrt-brcm47xx-squashfs.trx.

Заливка прошивки

Для заливки прошивки понадобится TFTP-клиент (неважно, под Linux или Windows), я использовал GUI’шную утилитку под Windows, которую можно найти на сайте DD-WRT. Нужно подключить PC к LAN-порту роутера, выставить на сетевом интерфейсе PC статический IP 192.168.0.10 и маску подсети 255.255.255.0. В TFTP-клиенте выбрать файл прошивки и выставить IP сервера 192.168.0.1. Включить роутер и дождаться линка, затем отправить прошивку в роутер. Загрузчик ждёт прошивку в течении пары секунд, так что, возможно, понадобится несколько попыток, также, при необходимости, стоит сразу разобраться с фаерволом, чтобы отправить прошивку без лишней задержки. После того, как прошивка будет отправлена на роутер, нужно подождать пару минут, пока загрузчик не завершит внутренний цикл прошивки и не включится диагностический светодиод.

Перед заливкой новой прошивки стоит запастись оригинальной прошивкой — если заливка пройдёт неудачно, можно будет вернуть оригинальную прошивку через консоль восстановления. Для этого нужно включить роутер, удерживая Reset, затем зайти браузером на 192.168.0.1.

После завершения прошивки, настраиваем сетевой интерфейс компа на получения адреса с помощью DHCP, перезагружаем роутер. OpenWrt загружается несколько дольше оригинальной прошивки, причём диагностический светодиод светится во время загрузки и гаснет при завершении. Если всё прошло успешно, заходим браузером на роутер. На этом этапе не обязательно настраивать роутер — после подключения внешнего накопителя, настройки будут храниться на нём и придётся заново настраивать. Достаточно лишь установить пароль.

Подготовка накопителя

Накопитель нужно разбить на разделы fdisk’ом и отформатировать. Я создал 3 раздела — под систему, под домашние директории и под своп. Не забудь заменить /dev/sdb на имя съёмного накопителя в своей системе:

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

Заходим на роутер SSH-клиентом, используя логин root и пароль, установленный через веб-админку. Редактируем файл /etc/config/fstab.

Редактируем одну секцию «mount» для монтирования раздела накопителя поверх основной файловой системы. Для монтирования других разделов, будет использоваться файл fstab, хранящийся на внешнем накопителе:

Перезагружаем роутер, заходим в веб-админку. Если всё прошло успешно, админка должна снова попросить установить пароль — устройство успешно смонтировалось и настройки теперь хранятся на нём.

Настройка прошивки

Заходим на роутер SSH-клиентом, создаём точку монтирования для домашних директорий:

При желании установить собранные вместе с прошивкой пакеты, расшариваем их (папку bin Buildroot’а) FTP-сервером, затем прописываем наш мини-репозиторий в файле /etc/opkg.conf, добавив строку:

Читайте также:  Установка магнитолы на мотоцикл

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

Устанавливаем нужные пакеты:

Основное конфигурирование удобно выполнять через веб-админку. Устанавливаем имя хоста, часовой пояс, добавляем точки монтирования, настраиваем сетевые интерфейсы и т.д. Я смонтировал раздел для домашних директорий с опциями async и noatime, чтобы продлить жизнь флешке. Перезагружаем роутер и проверяем результат:

Устанавливаем FTP-сервер

Создадим группу админов сервера:

Создадим пользователя ftp для анонимного входа, добавим его в группу nogroup (65534), и пользователя ftpadmin для администрирования файлов, доступных по FTP.

Зададим пароль для пользователя ftpadmin

Установим pure-ftpd — быстрый и лёгкий FTP-сервер

Настройки сервера находятся в файле /etc/config/pure-ftpd. Разрешим анонимный вход и выберем отдельный лог отредактировав следующие строки:

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

Зайдём в веб-админку на вкладку Services и отметим pure-ftpd для автоматического запуска. Чтобы сервер был доступен из интернета, нужно зайти на вкладку Firewall и открыть 21 порт.

Устанавливаем веб-сервер

Создадим домашнюю директорию для файлов и пользователя, который будет владеть этой директорией:

Зададим пароль для пользователя wwwadmin:

Установим веб-сервер lighttpd с нужными плагинами:

Сконфигурируем lighttpd. Настройки хранятся в файле /etc/lighttpd/lighttpd.conf.

Подключим нужные нам плагины:

Установим директорию для документов:

Зададим имена документов по-умолчанию:

Укажем CGI-обработчик для PHP:

Желательно указать UID и GID для сервера, чтобы он не работал с правами суперпользователя:

Настроим PHP, отредактировав файл /etc/php.ini. Подключим нужные модули, раскоментировав соответствующие строки:

Изменим параметр doc_root на пустую строку, иначе интерпретатор будет искать скрипты не в том месте:

Чтобы сервер заработал, нужно сначала перевесить веб-админку роутера с 80 порта на какой-нибудь другой порт. Запустим сервер:

Создадим в /home/srv/www файл test.php с таким содержимым:

Откроем 192.168.0.1/test.php. Если всё прошло удачно, увидим таблицу с настройками PHP:

Перейдём на вкладку Services веб-админки и разрешим автоматический запуск lighttpd. На вкладке Firewall откроем 80 порт чтобы сервер был виден из интернета.

Настраиваем видеотрансляцию

Для начала, нужно установить нужные для камеры модули и убедиться, что камера успешно подхвачена системой:

Для видеотрансляции будем использовать пакет MJPEG-Streamer. Это довольно тяжелый пакет, но его можно немного твикнуть.

Вернёмся к Buildroot’у. Получим исходники пакета:

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

Найдём в коде строку инициализации параметров сжатия:

После этой строки можно переопределить некоторые параметры сжатия JPEG. Выберем быстрый целочисленный метод для DCT:

Сохраним изменения, скомпилируем пакет, обновим индекс пакетов:

Подключимся к роутеру по SSH. Включим наш репозиторий в /etc/opkg.conf. Установим MJPEG-Streamer:

Настройки пакета находятся в файле /etc/config/mjpg-streamer. Отредактируем нужные строки:

Если камера отдаёт поток в формате MJPG, на этом настройка закончена. Моя камера отдаёт несжатый поток в формате YUV, для неё нужно включить JPEG-сжатие. Отредактируем файл /etc/init.d/mjpg-streamer. Найдём командную строку запуска демона:

Добавим параметр —yuv для плагина input_uvc:

Если всё прошло нормально, должен включиться светодиод на камере. Для проверки работы сервера зайдём на 192.168.0.1:310/?action=stream. Не все браузеры нормально поддерживают MJPG-поток. Статическая картинка доступна по адресу 192.168.0.1:310/?action=snapshot. Для отображения видео на веб-странице можно использовать встроенную поддержку браузера (имеется в Firefox, Chrome, частично в Opera), Javascript или Java-апплет. Страничка с примерами есть дистрибутиве MJPEG-Streamer.

Индикация посетителей

Мне хотелось сделать какую-нибудь индикацию приходящих посетителей. Для этого я взял яркий RGB светодиод, подключил его к USB через самодельный переходник на микроконтроллере. Программу для управления написал и отладил в Visual C, затем портировал и собрал под роутер с помощью Buildroot’а OpenWrt. Приходящие посетители, активность веб-сервера и FTP и другие события обозначаются вспышками разных цветов. Впрочем, эта система заслуживает отдельного поста.

Регистрация домена

Я зарегистировал домен для своего проекта в зоне RU у 2domains.ru меньше чем за 100 рублей. Регистратор мне понравился, на верификацию ушло всего 4 часа.

P.S. На всякий случай

Я новичок в мире Linux, к тому же, в первый раз пишу такой большой пост, так что могут быть ошибки. Если так, то они сделаны не из вредности.

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

Комментарии ( 140 )

Хм… ну может быть)
А в DIR-320 только через TFTP получается залить альтернативную прошивку.

Мой тож не может прокачать больше 5мб/с между локалкой и инетом. Просто потому что загрузка проца доходит до 100% У мя прост к нему жки подключен, на котором и трафик и загрузка проца:)

А, вот ты о чём)
Ты уверен что роутер поддерживает режим n. Я тут посмотрел, вроде только g.

Но то что между локалкой и инетом они могут гонять только 50мбит где-то — общеизвестный факт) Из-за работы NAT может такая загрузка?)

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

DIR-300, к сожалению, без USB, так что флешку не воткнёш. А родной памяти мало. Но вроде можно сделать SD Card-мод:)

Как по мне — DDWRT мудреная, а если ещё и допиливать её… Я свой DIR 320-й прошил «развитием прошивки от Олега»:
code.google.com/p/wl500g/
В ней по умолчанию:
FTP Server
Samba
NFS Server
Web Camera
3G/CDMA Modem
WiMAX
Плюс работа с принтерами, флешками, usb винтами.

Из всего этого изобилия пользуюсь только сетевым принтером 🙂

Пишут, что поддерживает такие роутеры:
wl500gP
wl500gPv2
wl500W
RT-N16
RT-N12
RT-N10
DIR-320
WNR3500L
WRT610N v2

Но вижу, что по факту поддерживается больше, например WL700gE, в общем, нужно смотреть на форуме:
wl500g.info/showthread.php?t=3921

А роутер Dlink DIR 320 — по факту копия Asus WL-500gpv2, но ровно в два раза меньше RAM (16мб), и FLASH (4мб).
Вот ссылка на описание железа asus:
code.google.com/p/wl500g/wiki/Devices

И может кому из местных умельцев ближе тема модификации методом пайки 🙂
wl500g.info/showthread.php?t=7048

1. Ужасный интерфейс, сделаный жпегами низкого качества.
2. UVC вебку не держит.
3. Это не линух, просто сборка. OpenWrt — линух. Можеш к роутеру дисплей подключить, да иксы поставить — будет комп.

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

Я свой DIR 320-й прошил «развитием прошивки от Олега»:
code.google.com/p/wl500g/

Мега респект тебе и dipcore.com/, благодаря вашим статьям на моем роутере тоже бегает пингвин, и выполняются мои программки.

а если при редактировании fstab я получаю вот такое? [ Error writing fstab: Invalid argument ]

А у вас файловая система на которой находится файл допускает запись в нее? Можно посмотреть например командой mount.

На самом деле для знакомства с openwrt на первый раз достаточно скачать готовый бинарь с сайта. В случае самоличной сборки образа под себя надо как минимум…
1) Понимать какие пакеты и зачем нужны
2) Правильно расставить опции и нигде не накосячить (если правильно выбрать таргет, дефолты конечно правильные, но все-таки)
3) Вообще понимание кто такой linux и с чем его едят.
4) Если честно, на данном этапе развития openwrt вебморда luci намного приятнее и функциональнее чем webif.

Итого я бы сказал что для первого раза как-то оверкилл + хорошо бы посмотреть для начала на сам «Backfire 10.03.1-rc6» чтобы понять как это выглядит в «умолчальном» виде от его авторов на данный момент.

Суть всех описанных бубноплясок в том, чтобы получить бинарь, который смонтирует внешний накопитель, который позволит работать с openwrt как с нормальной ОС — добавлять пакеты, хранить файлы, etc.

luci, вполне может быть. Я её так и не посмотрел…
Сейчас уже ушёл от роутера с openwrt к неттопчику с дебианом)

Суть всех описанных бубноплясок в том, чтобы получить бинарь, который смонтирует внешний накопитель, который позволит работать с openwrt как с нормальной ОС — добавлять пакеты, хранить файлы, etc.

Вообще, если скачать «дефолтную» сборку openwrt, можно обнаружить что именно так оно и работает по задумке его авторов в «дефолтовом» виде ;). А если кто хочет взять быка за рога — ну никто и не обещает что этот бык сильно покладист: «что испек то и ешь». При том до того как хвататься за растопку печи — хорошо бы глянуть дефолтный образ, чтоли. В дефолтовой прошивке записываемая ФС делается оверлеем — на ридонли squashfsпри помощи модуля mini_fo накладывется read-write JFFS. Получается и компактно, и записывать можно (прямо на флешку — в JFFS2 раздел), и failsafe режим в котором загрузка системы идет без монтирования jffs есть, так что если доигрались (зафайрволив самого себя, снеся ssh, etc) — можно относительно просто загрузиться с дефолтными параметрами, а дальше или переформатить ФС или подмонтировать ее в сторонку и откатить неулачные изменения руками. И все это в 4Мб флеша, в дефолтной версии. Из 4Мб даже немного остается на модификацию файлов и новые пакеты. Правда я читер — у меня девайс с 16Мб флеша на AR7161, там вообще раздолье — около 15Мб со сжатием доступно для пакетов даже без диска, чего хватает на все нужные мне пакеты, а диск чисто под закачки и его можно отцепить без потери функциональности.

Сейчас уже ушёл от роутера с openwrt к неттопчику с дебианом)

Мм. Я совсем другой носитель имел в виду. Не оверлей на встроенной флешке) У мя же на роутере работал трансмишен, etc.

Вообще, если скачать «дефолтную» сборку openwrt, можно обнаружить

Правда я читер — у меня девайс с 16Мб флеша на AR7161

Какой это девайс? Алсо, почему «читер»? Ты туда сам впаял флешку на 16М, чтоли?

(dd if=/dev/sda of=/dev/null на раз выдает около 40Мб/сек, явно упираясь в 480Мбитов юсб а не что либо еще)

57 MB/s) was introduced in 2001». С учетом протокольного оверхеда, 40Мб/сек для raw чтения девайса (без оверхеда ФС) вполне правдоподобно вроде. Чтение файлов разумеется будет помедленнее, насколько именно — зависит от файловой системы, файлов и как одно с другим утряслось.

Ну я в курсе про битстуффинг и прочее — примерно половину талмуда на 2.0 я осилил, потом мозг все-таки взорвался :). А нельзя ли ссылку где про 33 мб? В анлийской вике не нашел так сходу ни звука о 33мб/сек. Нельзя ли меня пнуть куда-нибудь где есть пояснение откуда эта цифра берется, с соответствующим «матаном»?

Victoria, сканируя диск (это без ФС, просто последовательное посекторое чтение) показывала скорость не выше 30000кбайт/с

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

FS, тащемта, на больших файлах очень незначительный оверхед вносит

Например NTFS через FUSE на слабом девайсе легко внесет огроменный оверхед, посадив скорость в разы 😉

USB нет, но можно припаяться прямо к процу.

Это в каком же там корпусе проц? А то я сколько видел оных — все в BGA, фиг подпаяешься (а видел я TI AR7100 в ADSL-модеме STARNET, какие-то броадкомы в DSL-2500*, Ralink RT3050 в DIR-300/NRU и Atheros AR9132 в TL-WR1043ND).

Гм, согласно базе DD-WRT, в 941-м тот же AR9132, который у меня и который в BGA корпусе.

Ну у кого как. 941 — 1800р, 1043 — 2400р. 741 не нашел.

А скоростя по USB все перечисленные роутеры какие дают? 2.0 то 2.0, но дирка-320 у меня физически 2.5мбит/с с винта тянула (самба и dd). у остальных как?

И ещё вопрос. Кто пробывал ставить альтернативки на адсл мопеды?

но дирка-320 у меня физически 2.5мбит/с с винта тянула (самба и dd). у остальных как?

Мой TL-WR1043ND по самбе выдает, говорят, до 9-11МБ/с, т.е. около сотни мегабит — на форумах DD-WRT была тема, где кто-то жаловался на медленную самбу, а затем указал способ решения этой проблемы, но я его уже забыл. У меня она не взлетела вообще — хрюшка упорно не видит роутер в сети. По вайфаю же скорость почему-то вообще не желает подниматься более 16-20 мегабит.

По поводу альтернативок — я ставил прошивку от Acorp LAN120 на STAR-NET. У них идентичное железо, и даже вебморды почти идентичны, но акорповская опенсорс, функциональней и стабильней. А всякие DD-WRT/OpenWrt вроде их даже и не поддерживают — там обычно 1-2 метра флеша и 8МБ ОЗУ.

Мой TL-WR1043ND по самбе выдает, говорят, до 9-11МБ/с, т.е. около сотни мегабит

МБ зачастую означает мегабит, не смотря на большую Б. Не поверю я что 100 мегабит роутер вытянет с винта, при том что ещё не всякий винт их выдаст. Вообщем 10 мегабит это заметно лучше 2.5, параллельная загрузка вообще не будет мешать (при 2.5 на тяжелых фильмах подтормаживает всё таки).

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

Нет-нет, мегабайт. Даже USB 1.1 выдает порядка 5 мегабит при работе с MSD. А более-менее современные (этого века т.е.) винты выдают не менее 400 мегабит. USB 2.0 способен обеспечить порядка 250 мегабит с MSD. Скорость как правило ограничивается скоростью процессора роутера или самим линком.

Что до SMB, то оно у меня вообще работает только при благоприятной фазе луны, с вариантами «да я тут вообще один в сети!», «вот еще ноутбук есть, но не открывается», «вот десктоп, с него качается, а обратно — ни-ни». Роутер и вовсе ни один комп ни разу не видел в сети. Может я его готовлю неправильно, но впечатление чего-то, работающего в зависимости от фазы луны, он у меня производит еще с тех времен, когда я работал в КБ, где вроде как все настраивал админ.

затем пару раз попробивать в ручную полное имя к ресурсу

Ну у кого как. 941 — 1800р, 1043 — 2400р. 741 не нашел.

У меня есть чуть более годный девайс, в котором и без перепайки 128, что несколько способствует моей лени. Но вообще мне еще нужен какой-нибудь «умный гигабитный свич» и 1043 имхо вполне сгодится, будучи однозначным победителем по цена/качество на текущий момент по моему imho.

По хорошему для такого нужен нижний подогрев

Ну, этот дешевле и распространенней все же. Хотя этот ваш rspro весьма интересен.

По крайней мере, спеки железа заранее известны и прочая. Как бонус, для настоящих извращенцев в формате miniPCI (коего аж 3 слота) бывают не только вайфай карты, но и довольно много чего еще. От компортовых мультипортовок до плат видеозахвата, sata контроллеров и даже интелского гигабитного эзернета.

Но всерьез опасался, будет ли после этого роутер вообще работать.

А чего с ним случится то? Самой плате нагрев пофиг, если ее совсем уж жестоко не пережарить. А старый чип в общем то и не нужен по идее :). Наиболее очевидными проблемами видится шанс отодрать контактные площадки или замкнуть/не пропаять но это еще постараться надо.

Алсо подогрев не так уж много стоит вроде, китайский термовоздушный в районе 1.5-2к есть.

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

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

Это в каком же там корпусе проц? А то я сколько видел оных — все в BGA, фиг подпаяешься

tp-link 741 или 941, проц пошустрее, USB нет, но можно припаяться прямо к процу

D-Link DIR-320 — слишком слабая машина… для экспериментов лучше взять что-то типа netgear stora. ибо гигагерцный процессор и 256/256 Мб памяти (RAM/FLASH) дают на порядок больше возможностей… А роутер на то и роутер, чтобы инет домашней сети раздавать… веб-сервер падает уже примерно 10 подключениях(проверено на торрент-треккере для небольшой сети)… а если его использовать еще и как медиасервер — то и с тремя подключениемя на веб-сервер справляется еле-еле… Толи дело сетевой накопитель… осталось только прикрутить к нему консоль через последовательный порт… и будет полностью готовый сервак…

П.С. В настоящее время на подобном девайсе развернуто более 20 дополнительных сервисов… все было собрано из исходников прямо на накопителе из репозитариев федоры.
Прикручена сетевая загрузка операционной системы с использованием технологии PXE.(загружаем комп без винча вообще =))
Установлены конвертеры радио для вещания из тырнета в локальную сеть(10 каналов).
Установлены конвертеры для вещания 4х телевизеонных каналов из IGMP в HTTP (После этого dir-320 спокойно их кажет по вайфаю, сам IGMP на нем работает плохо)
После развертывания X-сервера стало возможным управлять машиной в графическом интерфейсе… по сети естесно…
и еще много чего интересного =)
может быть потом и напишу об этом статейку =)

П.П.С. Данный девайс был куплен «сломанным»… типа на запчасти всего за 5$… через 15 минут все работало как новое… сам себя перепрошил из инета…

для экспериментов лучше взять что-то типа netgear stora. ибо гигагерцный процессор и 256/256 Мб памяти (RAM/FLASH) дают на порядок больше возможностей…

Я это к тому, что дир-320 и так работает на пределе… особенно если к нему подключено много машин…

почему не написано что нужно корень копировать на флэшку? без этого у меня лично умирал вебиф пока не набрёл на другую статью(при заходе на 192.168.0.1 тупо писал что не найдена папка что то такое)… там как раз было всё как надо всё робит…
я ставил на TP-LINK mr3420 цель сделать видеорегистратор над входной дверью но что то у меня не получается motion завести… камера logitech c 270 через mjpg-streamer поток идёт нормально без затупов и так далее в HD качестве которая она и вывозит… и проц загружен 0-6% НО вот с motions бьюсь не могу понять чё ему надо… кто более шарит гляньте… ps motion собирал через make menuconfig

# motion -n
[0] Processing thread 0 — config file /etc/motion.conf
[0] Unknown config option «ffmpeg_cap_new»
[0] Unknown config option «ffmpeg_cap_motion»
[0] Unknown config option «ffmpeg_timelapse»
[0] Unknown config option «ffmpeg_timelapse_mode»
[0] Unknown config option «ffmpeg_bps»
[0] Unknown config option «ffmpeg_variable_bitrate»
[0] Unknown config option «ffmpeg_video_codec»
[0] Unknown config option «ffmpeg_deinterlace»
[0] Unknown config option «movie_filename»
[0] Unknown config option «timelapse_filename»
[0] Unknown config option «sql_log_image»
[0] Unknown config option «sql_log_snapshot»
[0] Unknown config option «sql_log_mpeg»
[0] Unknown config option «sql_log_timelapse»
[0] Unknown config option «sql_query»
[0] Motion 3.2.11.1 Started
[0] Thread 1 is from /etc/motion.conf
[1] Thread 1 started
[1] cap.driver: «uvcvideo»
[1] cap.card: «UVC Camera (046d:0825)»
[1] cap.bus_info: «usb-ar71xx-ehci-1.3»
[1] cap.capabilities=0x04000001
[1] — VIDEO_CAPTURE
[1] — STREAMING
[1] Supported palettes:
[1] 0: YUYV (YUV 4:2:2 (YUYV))
[1] 1: MJPG (MJPEG)
[0] motion-httpd/3.2.11.1 running, accepting connections
[0] motion-httpd: waiting for data on port TCP 8080
[1] index_format 2 Test palette MJPG (320×240)
[1] Using palette MJPG (320×240) bytesperlines 0 sizeimage 51200 colorspace 00000008
[1] VIDIOC_G_JPEGCOMP not supported but it should be (does your webcam driver support this ioctl?)
[1] found control 0x00980900, «Brightness», range 0,255
[1] «Brightness», default 128, current 128
[1] found control 0x00980901, «Contrast», range 0,255
[1] «Contrast», default 32, current 32
[1] found control 0x00980902, «Saturation», range 0,255
[1] «Saturation», default 32, current 32
[1] found control 0x00980913, «Gain», range 0,255
[1] «Gain», default 0, current 0
[1] mmap information:
[1] frames=4
[1] 0 length=51200
[1] 1 length=51200
[1] 2 length=51200
[1] 3 length=51200
[1] Using V4L2
[1] Resizing pre_capture buffer to 1 items
Not a JPEG file: starts with 0x05 0x22
Not a JPEG file: starts with 0x05 0x22
Not a JPEG file: starts with 0x05 0x22
Not a JPEG file: starts with 0x05 0x22
Corrupt JPEG data: 1 extraneous bytes before marker 0xd4
[1] Error capturing first image
[1] Started stream webcam server in port 8081
Corrupt JPEG data: 1 extraneous bytes before marker 0xd0
Corrupt JPEG data: 1 extraneous bytes before marker 0xd3
Corrupt JPEG data: 2 extraneous bytes before marker 0xd4
Corrupt JPEG data: 2 extraneous bytes before marker 0xd3
Corrupt JPEG data: 1 extraneous bytes before marker 0xd5
Corrupt JPEG data: 1 extraneous bytes before marker 0xd7
Corrupt JPEG data: 1 extraneous bytes before marker 0xd3
Corrupt JPEG data: 1 extraneous bytes before marker 0xd6
Corrupt JPEG data: 2 extraneous bytes before marker 0xd4
Corrupt JPEG data: 2 extraneous bytes before marker 0xd6
Corrupt JPEG data: 1 extraneous bytes before marker 0xd2

О какая тема. Не заметил :)) Давно такой же фигней страдаю. Дома стоит DIR-615 с 64 метрами памяти (на openwrt wiki даже инструкцию наваял как память проапгрейдить и usb впаять), usb и openwrt со всеми свистелками и перделками типа i2c (датчики температуры и влажности дома и на улице), GPIO, vpn (до обеих работ), iptv маршрутизацией (мультикаст), файваем и т.п. Планирую на такой отдельной коробочке всю домашнюю автоматизацию держать.

В столе лежит запасной WR941ND (тоже 64 метра, usb и т.п.). На работе WR1043ND с 64 метрами памяти, openwrt, iproute2 — разруливает интернет (5 pppoe каналов + 1 pptp резервный на 25 мегабит в сумме), нат, полиси маршрутизация, шейпинг каналов, фаервол, openvpn). Тема просто шикарная.

Плюс еще делал километровый вай-фай линк между двумя DIR-615 с openwrt на работе.

На сегодняшний день 1043ND вне конкуренции прежде всего потому, что нет ахулиарда сильно отличающихся аппаратных реализаций как на DIR-615 например, имеется гигабитный свитч с поддержкой вланов на борту и адекватный фай-вай.

источник

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