Долгое время у меня без дела лежал 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)
Скачиваем прошивку и переходим на
страницу устройства (Device Page).
Инсталляция для данного устройства довольно проста, но потребуется доступ к консоли восстановления прошивки 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
— MX25L12835FM2I
— S25FL128P
Наиболее доступный и дешевый вариант — это 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
[email protected] в Unix-подобных ОС.
Вводим команду
df -h поверяем размер, свободного пространства.
Вставляем Flash в USB-порт роутера и командой
dmesg проверяем определился ли наш накопитель.
Заключение
Прошивка OpenWRT превращает, ваш роутер в мини-компьютер и открывает большие перспективы, например вы можете найти свободные GPIO и подключать модули от Arduino напрямую или поставить MQTT-сервер mosquitto для своего умного дома.
Ссылки
Wiki OpenWRT Dir-615
Программатор SPI Flash на Arduino
OpenWRT DIR-615 Flash Mod и сборка своей прошивки на OpenWRT
Управление Livolo через sonoff
С программой motion. Камера philips не заработала, не отображается как /dev/video0. Камера greentree, не заработала, находит как /dev/video0. Заработала только logitech c210, поэтому не стоит экономить при выборе камеры.
Вообще я бы посмотрел вывод lsusb с подключенной нужной камерой и глянул бы про ее поддержку.
Иногда камера не работает в mjpg, но может заработать в YUYV, но это приводит к загрузке процессора на 100%.
За обзор плюс.
Хотя, DIR-620, наверное, уже переплюнул. :)
Просто их лучше брать больше.
реболить ломало — прогрел на работе паяльным феном, после чего работать начал, но веры в него уже не было. все никак руки не дойдут к нему радиатор прикрутить и заново потестить.
overlayfs, сейчас подправлю
Всё изменилось после прошивки OpenWRT. Раутер стоит после бесперебойника, какой у него аптайм сейчас даже не знаю (год, а то и больше уже). Никаких проблем. Прошивал в родную флешку (там она 4 Мб). Так что подобное «обновление» ПО раутера поддерживаю! «Нравится» поставить пока не могу, не хватает репутации на сайте.
Сейчас, почитав обзор на муське, заказал ещё nexx3020. Там флешка 8 Мб.
Вот хочу в обоих аппаратах заменить флешки на 32 Мб (находил с 8-ю выводами, только форм-фактор немного другой, там не ножки, а круглые контактные площадки на нижней стороне микросхемы). Кто-то может подсказать: заработает?
Если нужно, позже найду ссылки на Али на эти флешки
Вот и хочу узнать (может подскажет кто) будет ли она совместима с железом, в которое устанавливаются прочие 4, 8, 16 Мб флешки, подобные Вашей? С Вашим раутером, например будет ли она работать (при правильно собранной прошивке)? С nexx3020? С tp-link-ами?
в меньшем объеме используется многобитный SPI для расширения потока данных, т.е. появляются DIN0 DIN1. но обычно они могут прекрасно работать с однобитным SPI.
отлияи только в размере записываемого пространства.
для того чтобы его описать в прошивке имеются соотвествующие заголовки, не изменишь значения будет использовать только то объем что прописан.
Но вот стоит у меня какой то нетгир — даже не помню, какой, и даже не помню, когда я в него последний раз залезал.
Работает 24/7, на два компа, и вроде проблем не было.
А дополнительные плюшки от OpenWRT мне просто как то вроде и не нужны…
Но еще помню, хотя и не помню модель, что то из DLink'а, которое у меня висло регулярно.
Тоже переделал бы, если бы до такой степени были руки пряиые.А так пользуюсь правилом-работает-НЕ ЛЕЗЬ!
Пример:
wiki.openwrt.org/doc/howto/p910nd.server
wiki.openwrt.org/ru/doc/howto/print-server-p910nd
1) чип за 2 шт 2,5 $ — aliexpress.com/item/W25Q128FVSSIG-W25Q128FVSG-25Q128FVSG-128M-BIT-Spi-FLASH/1588547931.html,searchweb201602_3_10039_10048_10037_10017_10046_10045_10032_10040,searchweb201603_10&btsid=af9493fc-87f0-4840-beaf-7a515c95d625
2) бегло нашел вертикальные USB разъемы в количестве 50 шт, 3,6 $ aliexpress.com/item/DIY-USB-4-Pin-Female-90-Degree-Side-Inserted-Socket-Connector-Silver-10-Piece-Pack/1610361284.html,searchweb201602_3_10039_10048_10037_10017_10046_10045_10032_10040,searchweb201603_10&btsid=d80fa5da-7d44-4448-a3eb-5236832478f8
А если у роутера мало флеша (4мб) — действительно имеет смысл собирать самостоятельно — у openwrt там какое-то хитрое разбиение — SquashFS (которая readonly и имеет хорошее сжатие) + оверлей на JFFS2 (она read/write) и при сборке бинарники пакетов попадают как раз на первый раздел — такое невозможно при установке пакетов через opkg (в этом случае все пишется на JFFS2 раздел).
Но рукоделие с паяльником я тоже поддерживаю есичо — а то автор подумает дескать нопадают)
Вот у роутера 4 мб флеша, подключен 4g модем по usb, стоит nano и еще 204кб свободно, а там мелкие пакеты по 40-50 кб downloads.openwrt.org/chaos_calmer/15.05.1/ar71xx/generic/packages/
Он просто зависимости тянул, а без этого модуля не было поддержки wifi-интерфейса + я поднял MQTT сервер mosquitto под него уже бы точно не хватило.
Все прошивки собирал сам, просто тут в обзоре более простой вариант.
wikidevi.com/wiki/D-Link_DIR-615_rev_E3_/_E4
wikidevi.com/wiki/TP-LINK_TL-MR3220_v1
wikidevi.com/wiki/Atheros
Ну пусть будет так — все равно никак не проверить. По крайней мере у меня все ок есичо — вот это пакет kmod-ath9k стоит и остальные для поддержки usb и веб-интерфейса.
Меня еще этот .ipk смутил… Ведь при сборке из исходников пакетный менеджер вообще не при делах — пакеты выбираются через menuconfig Мы точно об одном и том же говорим?
wiki.openwrt.org/doc/howto/obtain.firmware.generate — вот это не сборка из исходников, а хрень какая-то…
Нужно вот это — wiki.openwrt.org/doc/howto/build — там автоматом собирается сначала тулчейн, а потом сама прошивка
Ну или вот по-русски — denisyuriev.ru/linux/openwrt-linux/openwrt-sborka-iz-isxodnikov/
opkg list-installed|grep kmod-ath9k
показало бы только его, зачем такую простыню показывать?
главное чтобы пакеты были встроены в прошивку, тогда их squashfs сожмёт
ASUS WL530gV2 — а с ним можно что-нибудь сделать, чтобы OpenWRT встало?
По Вашей логике, так можно и свою операционку для девайса запилить на чём-нибудь низкоуровневом, типа асма.
Человек, который задавал вопрос, очевидно, совсем не в теме и подобными талантами/знаниями не обладает. Так что в данном случае — ответ отрицательный.
У Asus'ов внутри линуха, всегда. Так что если понимать что делаешь, то собрать прошивку можно. Возможно придется немного с загрузчиком повоевать, но можно.
Как Вы думаете, почему этой модели нет в списке поддерживаемого оборудования не только в стабильных сборках, но даже в разделе «комьюнити»? Видимо, там есть определённые сложности (либо принципиальные вопросы, типа той же проприетарщины). vz26, который задавал вопрос, это, очевидно, не под силу сделать тоже. Поэтому я и ответил — нельзя.
И, кстати, неужели Beeline SmartBox — собственная разработка Пчелайна? Или лукавите, Батенька, и это какой-то очередной «народно-массовый» раутер, от d-linka, tp-linka и им подобных? Мой тоже был не тп-линк, а «Киевстар» со старательно затёртыми надписями от производителя. Что не помешало мне определить истинную марку и модель да залить туда готовую сборку OpenWRT.
Но, кстати, Вы меня натолкнули на мысль: vz26, поищите прошивки Padavana (надеюсь, правильно написал). Человек берёт асусовские прошивки и скрещивает их с OpenWRT, что позволяет и с «закрытыми драйверами» для железа работать, и пользоваться всеми или почти всеми пакетами из OpenWRT. Прошивки у него вполне стабильные и надёжные.
Это — Sercomm. На Realtek 8197D. В природе существует версия еще от Belkin. То есть нет, это не типовой dlink или tplink. Нет, нельзя просто взять прошивку для другого девайса и пересобрать. Есть патчи на ядро, есть патчи на сам OpenWRT для поддержки. В природе есть две сборки OpenWRT под эту железку, обе отсутствуют в коммунити-версиях, моя по причине того, что я ее пока вылизиваю и пытаюсь перевести на trunk, пока она работает на базе 14.07 с обновлением части пакетов(например xl2tpd я взял из гита самого xl2tpd, что бы он был свежей, чем в транке опенврт).
А теперь к Асусу вопрошавшего. Там внутри марвелл, так что я подозреваю, что собрать можно. Но железка устаревшая и вряд ли кто-то возьмется за это. Так что разве что самому разбираться.
А касательно Асуса — об этом сразу же и говорил. Грубо говоря — геморрой. А потому и «нельзя». Пусть условно, пусть с оговорками, но нельзя.
Я, к сожалению, уже очень давно отошёл от программирования, самостоятельных сборок ядра под линуха и т.п. Уже давно, как это сейчас принято говорить — менеджер :(. Руковожу довольно большим отделом и, хоть и приходится заниматься порою установкой чего-то, настройкой (иногда сборкой из исходников, а порою, даже, пайкой), но всё это на уровне: прочёл инструкцию — выполнил, иногда совсем простейшие ошибки в инструкции увидел и исправил. Чуть что сложнее — всё — тупик :(
И собрать сейчас свою прошивку под непонятное железо, которое ещё нужно изучить полностью, повыдёргивать дрова где-то и т.п. — вряд ли смогу. Вам за прошивку Вашей железяки — респект! :) Но, что касается вопроса vz26 — всё равно — никак :) :(
А с железкой все просто вышло. Досталась бесплатно железка, с usb-портом, но при этом под родной прошивкой он достаточно бессмысленен, ни тебе торрент-клиента нет, ни модем подрублить, плюс заточка под билайн, а я как раз от их услуг ушел. Нашел чужую прошивку, нашел места откуда патчи были взяты, понял, что чужая собрана через дупу и что все пакеты старые, взял в руки шашку, накатил патчи, обновил часть пакетов, собрал, все работает. Вот хочу допилить до уровня, что будет не стыдно людям показывать(ну то есть и сейчас не стыдно, все работает, репозиторий с тем что не включил в прошивку у меня на сервере висит, но хочется транка, пусть даже со старым ядром linux) и предложу коммунити, железка-то хорошая, но без OpenWRT смысл имеет только в сетях билайна, а с OpenWRT я сижу на другом провайдере и всем доволен.
Нельзя ли накатить старую 4мб прошивку в 16мб, а дальше уже все, что требуется?
== Chip Select.
на счет напайки не уверен что получится. корпус уж не «стоечный»
А если я захочу еще какой-то девайс подключить по юсб, например камеру, но у меня уже подключена флешка, я смогу использовать хаб? Потянет ли роутер несколько девайсов?
По поводу HUB, мне кажется, что будет работать, но я не проверял. При условии, что подключаемые устройства не сильно энергозатратны. Завтра на работе проведу эксперимент и подключу, несколько flash.
h-wrt.com/ru/doc
forum.zyxmon.org/topic697-openwrt-dlya-keenetic-lite-revb-4g-revb-4g-ii.html
На остальное Вам уже ответили :)
Есть ли информация у кого по доведению таким образом роутера.
Мошенники потому что берут код под GNU GPLv2 и не отдают его изменения.
Лжецы потому что пишут в официальных доках, что если пароль от рута потерян его нельзя восстановить, только фактори-резет, а на самом деле пароль хранится в нешифрованном виде и достается с устройства.
Вы уверены, что стоит рекламировать мошенников и лжецов?
На отсутствие исходников? Вы, как владелец железки с их ОС по GNU GPL имеете право потребовать исходники. Попробуйте. Вас пошлют. Делом про нарушение ими GNU GPL занимаются юристы в Европе, гуглите.
Про пароль смотрите официальные доки. А я таки его выковыривал и у меня есть статья о том, как это сделать.
про пароль откуда инфа? там хэш лежит.
ссылку на статью.
docs.google.com/document/d/1gvwrV_Ok-fdqV6yh9avtZV6iMnEzvdhHem_H9pNCCyk/edit?usp=sharing
Там про mtpass и правку его кода еще не написано, я забросил. mtpass не собирается свежим gcc, но ошибка и ее исправление гуглится.
Хотел бы договориться с автором о пересылке готовых наборов по:
1. USB разъем + резисторы.
2. Памяти уже запрограммированной (MAC же можно сменить внутри OpenWrt?)
на возмездной основе. Запаяем с товарищем.
У самого древний DIR-320A1 на бродкоме с ТоматоЮСБ пашет аки автомат Калашникова — раздает на мичуринском 3Г интернет.
аптайм с прошивкой Tomato месяцами исчисляется, настроил и забыл
Я лошара)) прошил 16мб в 8мб флэху) и прогер ниче не сказал
Сейчас записал 8мб прошивку и все ок, только нет русского языка. Буду заказывать 16мб флешку
Купил, прошил, запаял, горят 4 ЛАН+Интернет и всё.Что делать? Решил, что убил при запайке, хотя врядли.
Впаиваю родную.Та же байда.
Неужели и родную убил?
Респект автору за статью. Смог сделать апгрейд такому же чуду DLink'а!
Я понимаю что может железка уже достаточно старая и т.д.
Но для моих целей мне много не надо. Мне необходим l2tp сервер на скорости не более 8-10Мбит.
Столкнулся с проблемой установки пакетов под модернизированный роутер.
Я читал что под флеш 16Мб нужны другие пакеты. Но те пакеты, которые мне нужны для l2tp сервера в репозитории нет.
Решил собрать свое ядро (по третьей ссылке), думал все что нужно включить в ядро.
Все собирается, даже sysupgrade вроде проходит, но пакетов так и нет.
Кто подскажет как мне создать свой репозиторий под этот модернизированный роутер, чтобы в любой момент я мог установить все что мне необходимо (помимо l2tp сервера, воможно будут еще хотелки).
Как вообще эти пакеты скомпилировать? Где об этом можно почитать?
Думаю, что не покатит, хотя проверить то можно, но чет геморно.
Мне нужно резервирование WAN, которое в офф. прошивке это нормально не реализовано и мой вариант не поддерживается.