Бюджетный роутер Dlink dir-615, альтернативная прошивка DD-WRT и IPTV
Интернет провайдеры в Воронеже последние 2 года развиваются и плодятся с огромной скоростью, в связи с чем приходится менять и апгрейдить и своё клиентское интернет-оборудование. Долгое время у меня в качестве доступа к сети использовался ADSL2+ модем и недорогой Wi-Fi роутер, но мой провайдер решил начать параллельно с доступом по телефонной линии предоставлять возможность подключения и по Ethernet или как его называет Домолинк — Fttx. Вместе с этим также стала доступна бесплатная услуга Открытое ТВ, представляющая из себя ничто иное как IPTV по протоколу UDP. Всё это и подтолкнуло меня на замену простенького Level ONE WBR-3408 на что-то более функциональное. К моему удивлению оказалось, что функциональность не всегда идёт рука об руку с высокой ценой. О том, как и почему я выбрал именно Dlink dir-615 можно узнать под катом.
Бренды и предрассудки
Нужно отметить, что к Dlink я пришел не сразу, вначале, задавшись вопросом какую фирму выбрать я был склонен к роутерам фирмы ASUS т.к. сама фирма внушает доверие, и я неоднократно встречал на просторах сети различные прошивки для них. Не сильно вникая в спецификации роутеров, я направился на поиски. Основным параметром для меня была поддержка Wi-Fi стандарта N и корректная работа с IPTV, придя в магазин и расспросив продавцов, я получил в руки коробочку с роутером Asus rt-n13 на которой красовались надписи о том, что девайс поддерживает DraftN и IPTV. Hастройка интернет и Wi-Fi не вызвала никаких затруднений, но вот IPTV на компьютере упорно не хотел уживаться с поднятой сессией Ppoe, работало или то или другое. Не долго думая, я решил связаться с техподдержкой Домолинк, в которой мне приятным голосом сообщили, что данная услуга работает только на роутерах dlink dir-100/120 без Wi-Fi и dir300/320 с Wi-Fi стандарта G. Решив поискать альтернативные прошивки, я удивился, не обнаружив ни одной, на этом опыты с роутером прекратились, и несколько огорчившись, я смирился с отсутствием IPTV. Спустя пару месяцев на местном форуме я увидел объявление о продаже роутеров Dlink dir-615 по очень вкусной цене, новых, но без гарантии, недолго думая я полез на Ebay и убедился в своих подозрениях об их происхождении, цены начинались от 30$ вместе с доставкой. Проверив на сайте DD-WRT поддержку этой модели, лот был тут же заказан.
Dlink dir-615 revD
Не буду описывать процесс получения посылок на местной Почте России, скажу лишь, что упаковка была несколько помятой, но абсолютно целой. Придя домой, я обнаружил в коробке стандартный набор из мануалов, патчкорда, диска с настройками, блока питания и самого роутера. К моему удивлению антенны оказались несъемными, как потом выяснилось, существуют разные ревизии этой модели роутеров мне пришла модель ревизии D2 с абсолютно черным корпусом, несъемными антеннами и процессором Ralink 3052. Другие ревизии могут отличаться как цветом корпуса, так и процессором и исполнением антенн. Подключив всё к ПК, и увидев стандартный интерфейс сетевого оборудования Dlink я решил проверить работу до перепрошивки в DD-WRT, интернет и WI-Fi покорно заработали, TV по прежнему отсутствовало.
Официальные «скупые» характеристики роутера:
Здравствуй Linux DD-WRT
1. Найти dir-615 «базе роутеров» на сайте dd-wrt (обязательно сверьте ревизию вашего роутера с той, которая указана).
2. Перейти в базе роутеров на страницу Dir-615 revD2, и скачать файл dlink-dir615d-factory-webflash.bin
3. Зайти на роутер, и в стандартной прошивке найти пункт Firmware Update, указать на скачанный файл и нажать Update.
В случае неудачной прошивки, из-за отключенного электропитания или других непредвиденных обстоятельств, сильно паниковать не стоит, в этом роутере есть аварийный загрузчик воспользоваться которым можно при помощи следующей инструкции:
1. Отключить роутер, выдернув из него все кабели (и питания и LAN).
2. Прописать в настройках сетевого подключения в компьютере статический IP-адрес 192.168.0.2, маска 255.255.255.0, шлюз 192.168.0.1, ДНС 192.168.0.1
3. Соединить компьютер и роутер через порт WAN на роутере.
4. Нажать и держать Reset на роутере.
5. Включить роутер (воткнуть питание).
6. Подождать секунд 5.
7. Отпустить Reset.
8. Зайти через браузер по адресу 192.168.0.1
9. На открывшейся страничке нажать Обзор и выбрать оригинальный файл прошивки для роутера. (ссылку на оригинальную прошивку Dir-615 revD2 выложу в конце поста).
10. Нажать Upload и следовать инструкциям.
Если всё прошло удачно, спустя некоторое время роутер мигнёт светодиодами и отправится на перезагрузку. Теперь можно зайти на роутер по адресу http://192.168.1.1/. Нужно отметить, что интерфейс этой прошивки куда более дружелюбный и функциональный чем оригинальный Dlink, бояться, что Linux на роутере это непременно консоль и чтение кучи мануалов, не стоит, в 90% случаев всё настраивается в пару кликов мышью. Интерфейс DD-WRT можно опробовать по следующей ссылке: http://dd-wrt.com/demo. Те кто боятся английского, могут переключить интерфейс на русский язык во вкладке Administration-Management, чем может похвастаться далеко не каждая официальная прошивка.
Настройка DD-WRT под Домолинк и IPTV
При первом входе, DD-WRT, заботясь о вашей безопасности, настойчиво отправит вас придумывать новый логин и пароль. После этого можно перейти к настройке непосредственно интернет-соединения и IPTV.
Интернет соединение настраивается во вкладке Setup-Basic Setup и для подключения к Домолинк требует буквально пару кликов:
1. Type Connection выбираем — PPPoE
2. Заполняем поля User Name и Password
3. Жмём Save и Apply Settings внизу страницы
После этого светодиод с «планетой» должен сменить цвет с оранжевого на зелёный, если этого не произошло, ещё раз проверяем введенные данные, и если всё верно, заходим на вкладку Management и внизу страницы жмём Reboot Router.
Если соединение произошло удачно можно преступить к настройке IPTV:
1. Заходим на вкладку Security и отключаем SPI Firewall. Жмем Save.
2. Идем во вкладку Administration-Commands и вставляем следующий текст
ifconfig vlan2 1.1.1.1 netmask 255.255.255.0 broadcast 1.1.1.255
cd /tmp
sleep 30
wget http://dl.dropbox.com/u/14930004/udpxy
chmod +x udpxy
/tmp/udpxy -a 192.168.1.1 -p 4022 -m 1.1.1.1 -B 1Mb -M 30
3.Жмём Save Startup, после переходим во вкладку Administration-Management и в самом низу страницы жмём кнопку Reboot Router.
vlan2 — интерфейс соответствующий wan порту, может отличаться в разных роутерах, смотреть в закладке Setup-Networking в пункте *WAN Port Assignment*
wgethttp://dl.dropbox.com/u/14930004/udpxy — сайт с прямой ссылкой на файл udpxy, при каждой загрузке роутер скачивает udpxy оттуда и запускает его. Я использую это хранилище, но не уверен сколь долго этот файл там продержится. Поэтому выложу его ниже отдельно. Для разных роутеров с DD-WRT файл UDPXY будет отличаться, я подбирал методом научного тыка, скачивая разные UDPXY c форумов DD-WRT.
*/tmp/udpxy -a 192.168.1.1 -p 4022 -m 1.1.1.1 -B 1Mb -M 30* Выделенное значение соответствует кэшу отведенному на поток в роутере, я понизил это значение до 1Mb т.к. на более высоких значениях картинка сыпалась, если изображение будет с артефактами можете поиграть с этим значением.
После выполненных действий нужно проверить запустился ли UDPXY это можно сделать по следующей ссылке показывающей статистику http://192.168.1.1:4022/status
Если страница открылась, начинаем радоваться, но не совсем, теперь осталось изменить плейлист с каналами с вида udp://@233.3.2.11:5000 на http://192.168.1.1:4022/udp/233.3.2.11:5000 и скормить его VLC.
Постскриптум
Я не делал специальных замеров скорости роутера, но при копировании LAN-LAN скорость держится 11,5-12мбайт\сек. Wi-Fi стандарт N тестировать пока нечем, но в режиме mixed скорости хватает чтобы без проблем проигрывать mkv 1920×1080 весом 12gb на ноутбуке с Wi-Fi стандарта G.
OpenWRT для D-link DIR-615 новая жизнь старого устройства (Flash + USB Mod)
Долгое время у меня без дела лежал Wifi-маршрутизатор D-Link DIR-615, который я заменил на более современный по причине частых сбоев и не корректности работы в целом.
Уже давно была идея, попробовать альтернативную свободную прошивку OpenWRT, но как-то «не доходили руки». В данном обзоре, мне бы хотелось описать проделанную работу.
Прошивка OpenWRT
Первое с чего нужно начинать, что проверка совместимости OpenWRT с вашим устройством.
Помимо модели нужно заранее знать и версию/ревизию вашего устройства. Обычно можно прочитать на задней части корпуса или самой плате.
В моем случаи D-link DIR-615 версии E4. Далее заходим на страницу Openwrt WIKI и фильтруем по производителю и модели.
Мне повезло, устройство поддерживается последней на данный момент версией 15.05.
Нажимаем View/Edit data и на открывшейся странице еще раз убеждаемся в совместимости, прочитав комментарии:
Works fine with OpenWrt 15.05 build for D-Link DIR-600 rev. A1 (tested on E4)
Инсталляция для данного устройства довольно проста, но потребуется доступ к консоли восстановления прошивки D-Link:
* Заметка с www.dd-wrt.com/wiki/index.php/DIR-615C, «Если ваш dlink 615 C1 использует f/w 3.12 или 3.11, то вам необходимо сделать даунгрейд до 3.10». Более старые прошивки, доступны на сайте поддержки D-Link.
— Устанавливаем IP-адрес на вашем компьютере ‘192.168.0.2’. Некоторые пользователи рекомендуют использовать адрес `192.168.0.10`.
— Нажмите и удерживайте кнопку сброса, пока индикатор питания не начнет мерцать оранжевым цветом (Обычно ~45 секунд) для переключения в режим восстановления прошивки. Или, зажмите кнопку сброса при включении роутера — это будет быстрее и займет около 5-15 секунд.
— Перейдите по адресу ‘http://192.168.0.1’ из вашего Веб-браузера. (Примечание: Некоторые современные браузеры, могут не работать с Веб-интерфейсом)
— Через «обзор» выберите скаченную ранее прошивку openwrt-15.05-ar71xx-generic-dir-615-e4-squashfs-factory.bin и нажмите прошить.
Последним версиям прошивки уже не хватает 4Mb flash-памяти, которые установлены в устройстве ревизии E4. Если собрать прошивку самостоятельно без Веб-интерфейса и установки дополнительный программ, то объема flash накопителя вполне хватит, но мне был необходим MQTT сервер mosquitto для управления Livolo через sonoff.
Варианты решения проблемы:
— USB-порт MOD (необходимо припаять USB-интерфейс и два-четыре резистора) и использовать обычную флешку в качестве файловой системы.
— Flash 16Mb MOD увеличить размер Flash памяти до 16 Мегабайт
В данном обзоре будут реализованы данные модификации.
Добавляем USB-порт
Необходимо припаять USB-порт в отверстия на плате, резисторы и прорезать «дырку». Благо на плате и корпусе уже имеют все необходимые отверстия и площадки.
Порядок действий:
— Припаиваем на L1 0-резистор (или просто делаем перемычку из припоя);
— Припаиваем на R4 и R5 резисторы по 22 Ом;
— Припаиваем USB-порт («USB A 108 (USB A 111) розетка на плату верт» именно под таким названием продается у нас в одном радиомагазине);
— Аккуратно продавливаем/вырезаем отверстие под USB-порт.
Добавляем Flash 16Mb
Потребуется чип с памятью и программатор, который можно сделать из Arduino UNO, Pro Micro или любой другой (будет отличаться только распиновка).
Роутер поддерживает следующие чипы:
— W25Q128FVSSIG
Наиболее доступный и дешевый вариант — это 25Q128FVSG.
Порядок действий:
— Выпаиваем старую 4Mb flash из DIR-615 с помощью паяльного фена или любым другим способом;
* Дампим прошивку через программатор на Arduino более детально, как это сделать можно прочитать здесь
Для удобства подключения и по причине отсутствия специального кабеля, я заказывал вот таки платки:
— Скачиваем FullFlash и распаковываем архив.
* Открываем fullflash_16mb_nomac10.bin в шестнадцатеричном редакторе и с помощью поиска по строке «11:22» находим MAC-адреса и меняем на свои (Основной, тот что на наклейке в прошивке – это 00:11:22:33:44:55);
— Загружаем отредактированный FullFlash в 16Mb-флешку через программатор на Arduino или любой другой;
— Припаиваем на место, обращаем внимание на положение ключа на чипе.
* — данные пункты, можно не делать, подобное описывается в ReadME, как плохой способ, но он работает.
Использование
Включаем роутер и подключаемся по Веб-интерфейсу, придумываем и вводим пароль для root и сохраняем настройки.
Подключаемся по ssh, например через PuTTY в Windows или ssh root@192.168.1.1 в Unix-подобных ОС.
Вводим команду df -h поверяем размер, свободного пространства.
Вставляем Flash в USB-порт роутера и командой dmesg проверяем определился ли наш накопитель.
Заключение
Прошивка OpenWRT превращает, ваш роутер в мини-компьютер и открывает большие перспективы, например вы можете найти свободные GPIO и подключать модули от Arduino напрямую или поставить MQTT-сервер mosquitto для своего умного дома.