Пользователь
0,0
рейтинг
1 октября 2011 в 15:54

Администрирование → ZRouter — пихаем FreeBSD в роутер DLINK

*nix*
Пару недель назад
Я бегал по хабру как угорелый в поисках рецепта (как оживить умерший роутер DIR-620).
Основная проблема была в том что родная прошивка 620-ки не принимала модем Verizon U175. И после нескольких прошивок DDWRT я наконец-то нашел ту самую которая и угробила его превратив в овощтупой свич.
А вот что произошло дальше читайте под катом

Походы к местным специалистам не увенчались успехом, одни пробовали подключиться к консольке но не получилось, они же рекомендовали перешить на программаторе сам чип, другие говорили, что бобик умер окончательно. Но всё таки жалко было расставаться со своими кровными 50дол. И я заказал в одном из интернет магазинов (это опять же целая история) кабель DCA-510 и перепаял его под свои нужды.
Дальше, воспользовавшись наглядным пособием и схемой:
и сделал себе доступ к U-boot-у.
После этого мне удалось установить на него DD-WRT от ASUS rt-n13u который я и установил в первый раз. Но в этот раз у меня уже была консолька и желание поэкспериментировать с FreeBSD.

FreeBSD — начало.
Сначала я надыбал на просторах интернета Вики в котором делалась компиляция ядра БЗДи какраз под этот чип. Скомпилил попробовал, ну какбы запускается и чето ищет по bootp.
Но дальнейшие поиски привели меня на сайт zrouter.org На котором мне и посчастливилось скачать ту самую прошивку о которой и пойдет речь.
Для начала следуя советам сайта делаем по пунктам:


Далее, я создал файлик start.sh:
#!/bin/sh
export FREEBSD_SRC_TREE=/usr/home/zrouter/head/head
export OBJ_DIR=/home/zrouter/obj
exec ./menu.sh

просто для удобства запуска через screen
Далее в лучших традициях FreeBSD появляется текстовый интерфейс

С выбором параметров платформы, и сборки

для DIR-620 выбрал соответственно Device -> DIR-620, Target -> zImage
Пока что не рекомендую пользоватся пунктами Save\Load так как из-за них у меня сборка не доходила до конца вываливаясь с ошибкой:
==> building zrouter !!!
"Makefile.inc1", line 139: Unknown target mipsel:mips.
"Makefile", line 280: warning: "(MAKEOBJDIRPREFIX=/usr/obj//usr/home/andriyj/zrouter/zrouter/tmp/ make TARGET=mips TARGET_ARCH=mipsel TARGET_CPUARCH=mips ZROUTER_ROOT=/usr/home/andriyj/zrouter/zrouter WITHOUT_ASSERT_DEBUG=yes WITHOUT_ATM=yes WITHOUT_CLANG=yes WITHOUT_INFO=yes WITHOUT_INSTALLLIB=yes WITHOUT_IPX=yes WITHOUT_LOCALES=yes WITHOUT_MAN=yes WITHOUT_NLS=yes WITHOUT_PROFILE=yes WITHOUT_RESCUE=yes WITHOUT_SSP=yes -DNO_CLEAN WITHOUT_JAIL=yes WITHOUT_INET6=yes WITHOUT_INET6_SUPPORT=yes WITHOUT_MAN=yes WITHOUT_INFO=yes WITHOUT_NLS=yes WITHOUT_CDDL=yes WITHOUT_NIS=yes WITHOUT_BLUETOOTH=yes NOENABLE_WIDEC=yes -DNOENABLE_WIDEC WITHOUT_KERBEROS=yes WITHOUT_KERBEROS_SUPPORT=yes -C /usr/src buildenvvars)" returned non-zero status
"Makefile", line 288: Need an operator
"Makefile", line 288: Need an operator
"Makefile", line 288: Need an operator
"Makefile", line 288: Need an operator
"Makefile", line 288: Need an operator
"Makefile", line 288: Need an operator
"Makefile", line 288: Need an operator
make: fatal errors encountered -- cannot continue

Жмем на Build и ждем создания образа.
Далее поднимаем tftp и пробуем загрузится.

Прошивка


Так как у меня на роутере уже стоял DDWRT и не очень то хотелось его сносить то для начала воспользовался пунктом 4 U-boot с последующим tftp test.bin и bootm но таким образом не хотело грузится запакованное ядро ( выдавало ошибку при проверке lzma ). Тогда, следуя советам найденным на просторах www.dd-wrt.com попробовал грузится по пункту 1. И загрузка пакованного ядра пошла. Но упорно не виделся rootfs.
Набравшись наглости я написал прямо разработчику: Олександру Рыбалко. В разговоре и пробах с которым мы провели следующие несколько часов (точнее где-то 3 дня но работали по вечерам максимум по 1-2 часа).
В итоге выяснилось что ядро ZRouter ищет rootfs по адресу во флэш-памяти а не RAM. Прошив роутер по пункту 2 U-boot я наконец-то получил вожделенный FreeBSD.

Настройка


Веб-Интерфейс получился очень даже несложным, я бы даже сказал — спартанским
В настройках обнаружились как и подобает: DHCP, PPTP, PPPoE, 3G, Wifi(временно неработающий).
Собственно их настройка одинакова для любых подобных вещей независимо от прошивки и производителя.
Стоит заметить однако что кнопка Update не сохраняет данные. Это делает кнопка Save settings в главном меню.
Дальше настройка 3G modem-a (пришлось изменить только ссылку на девайс /dev/cuaU0.0), сохранение параметров (обязательно), перезагрузка (обязательно).
Модем поднялся на УРА.

Итоги, грабли на которые не обязательно наступать


Итоги
1. Прошивка работает (собственно через нее сейчас и интернет по которому пишу сюда)
2. Есть проблемы с Wifi ( по заявлениям разработчика она рабочая где-то на 60%, но в браузере пока не настраивается)
3. 3G модемы определяются на ура (по крайней мере из испробованных прошивок Dlink original, DDWRT, ZRouter только последний нормально определил мой Verizon U175

Грабли:
1. Обязательно используйте свежее ядро из репозиториев ZRouter
2. Обязательно прошивайте а не пробуйте запускать из RAM
3. Update не записывает данные поэтому надо принудительно записывать все через меню.

P.S.
Приношу благодарность за работающий роутер:
www.facebook.com/arybalko
— Колективу zrouter.org
— Собеседникам из канала #zrouter на IRC EFNet
UPD: Для желающих поддержать проэкт
Кошельки:
— Z105679867090
— U364832937482
— R959084523149
— E366383023429
Михаил @1099511627776
карма
19,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Администрирование

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

  • +2
    А чем оно в практическом смысле интереснее той же DDWRT?
    • +2
      Или того же ОпенВРТ?
      • +3
        Не gnu/linux единым. Разве этого мало?

        Кто-то же выбирает себе на персоналки *BSD вместо linuxа… зачем-то… :)
        • 0
          Ну это понятно что все пользуются тем что любят/знают/умеют и т.п.
          Думал, просто, что может еще какие причины есть. =)
          • 0
            Я лично не знаю причин, по которым можно предпочесть из всех вариантов (в данном случае) именно фряху. Боюсь, что и автор этих причин не знает. Но в любом случае можно поднять тост (топик) за разнообразие :)
    • +2
      Это описано в 3-м итоге к статье,
      Ни одна из прошивок не определила модем Verizon U175 и не работала с ним.
      Если я ошибаюсь, тыкните мне в ту прошивку которая:
      1. Поддерживает этот роутер (DDWRT запустился но это был Асусовский от RT-N13U а не его родной)
      2. Поддерживает этот модем (DDWRT мне не удалось заставить работать из коробки, потому как требовал драйсер ttyACM которого в той поставке прошивки небыло, О родной прошивке речь даже не идет так как там только Huawei нормально работают а их у нас в продаже уже нет)
  • 0
    у меня плата от окирпиченного 300-го лежит. надо заняться
    • 0
      320-й в менюшке стоит, возможно и заведется
  • +1
    DIR-620 еще замечательно шьется под Zyxel Keenetic. http://habrahabr.ru/blogs/DIY/123699/

    Мне самому интересно как раз попробовать залить в Keenetic прошивку от ZRouter.
    • 0
      я знаю именно благодаря єтому пособию я и решился прошить свою длинку
  • –9
    На втором абзаце от такого обилия орфографических, грамматических и пунктуационных ошибок желание читать умерло чуть менее, чем полностью. Для 320-го экспериментальные прошивки на freebsd уже были давно, но они мало на что способны. В целом, выглядит это все как желание ну хоть на что-то натянуть не успевающую за современными тенденциями ОСь. Ан нет, и тут провал.
    • +1
      Firefox у меня нашел только в 3-м абзаце ошибку но никак ни во втором
      а по поводу все остального поста — типичное начало холивара которое здесь будет неуместно.
      Я бы предбочел увидеть парочку небольших но важных патчей к проекту
    • 0
      Ну ладно уж, рассказали бы уж нам, что это за современные тенденции, за которыми Бздя не успевает… Жалко что ли? А то мы тут сидим и не в курсе вообще… ;-) Я не холивара ради (таковым является практически каждый Бздяшный топик на каком-нибудь ОпенНете — можно без проблем причаститься при желании), а действительно интересно — что считает современными тенденциями человек, у которого про Дебиан так откровенно в профиле написано. :-)

      PS: И да простит меня автор за офф-топик!
      • 0
        наверное сейчас пойдут цитаты из блогов яндекса о тоб что бздя плохо виртуализируется и что ее порты это прошлый век.
        • –2
          нет, цитаты не пойдут. это мое мнение и я не собираюсь за него оправдываться.
          тем более, что в данном случае мы говорим только о дешевом роутере.
          впрочем, про виртуализацию и порты — чистая правда.
          • +1
            По поводу дешевого роутера. Ну тогда давайте посмотрим на Juniper. как вы думаете что там внутри крутится? Ну к примеру тута: www.opennet.ru/opennews/art.shtml?num=13466
            По поводу виртуализации не так все и страшно как вы себе представляете: habrahabr.ru/blogs/bsdelniki/128420/
            По поводу портов: есть тот же portupgrade для обновления и др.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.