DSL роутер D-link D2650u для не-DSL провайдера

    imageВ наличии: Роутер D-link DSL2650U, который имеет встроенный DSL модем, 4-портовый коммутатор и один USB вход и не-DSL провайдер ( обычная витая пара и DHCP на том конце провода ). Ревизия роутера: D, Board ID: 96358VW2.
    Проблема: Некуда вставлять витую пару провайдера, поскольку нет Ethernet WAN порта, а просто свич не работает с провайдером.
    Решение: Перенастроить один из LAN портов как WAN.
    Статья будет в формате пошаговой инструкции, как решить эту задачу. Поскольку времени на поиск и вкуривания информации я потратил относительно много, решил написать об этом пост, чтобы систематизировать и помочь людям решить подобную проблему.

    Собираем прошивку


    В стандартной прошивке ничего подобного об Ethernet WAN порте нет, поэтому интернет был исследован на наличие кастомных прошивок. Из поддерживаемых нашлась OpenWRT ( DD-WRT не поддерживает ), однако официальной поддержки нет. Это значит, что готовых сборок нет и нужно патчить и собирать из исходников самому.
    На странице вики есть страница с описанием роутера и патчем для исходников. Вся суть патча состоит в том, чтобы добавить новую платформу для сборки в Makefile, при том, что описание платформы уже состоит в trunk версии.
    • cтягиваем исходники с SVN svn co svn.openwrt.org/openwrt/branches/backfire backfire
    • добавляем две строчки c нашем роутером
      # D-Link DSL-2650U
      $(call Image/Build/CFE,$(1),96358VW2,6358,DSL2650U)

      после
      # D-Link DSL-2740B
      $(call Image/Build/CFE,$(1),96358GW,6358,DSL2740B)

      в файл target/linux/brcm63xx/image/Makefile
    • делаем make menuconfig для настройки сборки ( возможно, необязательный пункт, но я его делал ), и заменяем созданный файл .config на файл с релиза: downloads.openwrt.org/backfire/10.03.1-rc5/brcm63xx/config ( нужно cкачать файл config и переименовать его в .config )
    • После этого просто make и ждем завершения сборки.
    Компилировать оно будет долго, поскольку автоматически собирается toolchain, все зависимости и необходимые утилиты. После сборки появится папка bin/brcm63xx с образами для всех поддерживаемых роутеров. Нам нужен файл openwrt-DSL2650U-squashfs-cfe.bin.

    Прошиваем роутер


    Первая попытка скормить этот файл для обновления прошивки через веб-интерфейс роутера провалилась — веб-интерфейс возвращал не информативную ошибку о том, что этот образ нельзя прошить.
    Еще была попытка прошить через tftp. Принцип прост, состоит в том, что при загрузке, bootloader запускает tftp сервер, и если поймать момент, можно залить прошивку. Сколько раз я не игрался с перезагрузкой роутера, результата не было. Почитать можно здесь.
    На этом этапе у меня уже опустились руки и я смирился с покупкой нового роутера, как вдруг нашел на просторах интернета, что есть режим прошивки без проверки правильности прошивки.
    Чтобы вызвать этот режим, нужно зажав кнопку ресет, включить/перегрузить роутер и держать кнопку ( ресета ) 10 секунд. После этого, при заходе в веб-интерфейс роутер предложит загрузить прошивку. Решившись рискнуть ( есть возможность сделать из роутера кирпич ), загружаем туда прошивку, ждем две минуты и о чудо, на нашем роутере OpenWRT.



    Настройка


    У нас есть роутер с OpenWRT, без веб-интерфейса, хотя веб-сервер работает и показывает пустоту.
    Для начала нужно зайти на роутер через telnet, и, выполнив команду passwd, назначить пароль рута. После этого, мы можем общаться с роутером по ssh: ssh root@192.168.1.1.
    Как оказалось, прошить роутер не было самой большой проблемой, поскольку нужно еще по-умному настроить сеть. Перерыв много документации, понимаем, что нужно делать через VLAN — виртуальные сети. Нужно разбить порты свича на отдельные подсети, и настроить forwarding. Следуя этой странице вики, редактируем файл /etc/config/network.
    У нас интерфейс свича совпадает с предполагаемым в руководстве — это eth1, и мы хотим вынести четвертый LAN порт в отдельную подсеть, поэтому мы большую часть конфига можем скопировать из документации. Единственное отличие в том, что у нас нет актуального WAN порта ( он есть, но не выведен железно ), поэтому мы не создаем отдельную extranet, а редактируем wan секцию, изменив ifname eth0 на ifname eth1.1. Плюс этого изменения состоит в том, что в роутере все изначально настроено на раздачу интернета из wan в lan.
    Полный конфиг:

    config 'switch' 'eth1'
    option 'enable' '1'
    option 'enable_vlan' '1'
    option 'reset' '1'

    config 'switch_vlan'
    option 'vlan' '0'
    option 'device' 'eth1'
    option 'ports' '0 1 2 5t'

    config 'switch_vlan'
    option 'vlan' '1'
    option 'device' 'eth1'
    option 'ports' '3 5t'

    config 'switch_port'
    option 'port' '3'
    option 'pvid' '1'

    config interface loopback
    option ifname lo
    option proto static
    option ipaddr 127.0.0.1
    option netmask 255.0.0.0

    config interface lan
    option type bridge
    option ifname eth1.0
    option proto static
    option ipaddr 192.168.1.1
    option netmask 255.255.255.0
    option nat 1

    config interface wan
    option ifname eth1.1
    option proto dhcp

    Перезапускаем службу сети, выполнив команду /etc/init.d/network restart
    Опытным путем было выявлено, что port 3 в конфиге соответствует реальному первому порту. Поскольку меня такой вариант удовлетворял, я не стал пробовать еще, но подозреваю, что port 0 будет реальным четвертым портом.
    Втыкаем интернет провод в первый провод, и радуемся раздачи интернета. Если нужно подключаться через VPN, прошивка и такое может.

    Последние штрихи


    Для настройки Wifi нужно править файл /etc/config/wireless. Настройка вайфая описана тут.
    Самый распространенный веб-интерфейс это Luci. Для установки, при подключенном интернете нужно выполнить:
    opkg update
    opkg install luci


    В итоге мы имеем полноценный linux на роутере, на котором можно поднять торент-клиенты, всяческие кеширующие службы, прокси и т.п. А поскольку есть разьем USB, можно сделать сетевое хранилище или интернет-качалку.
    Минус OpenWRT в том, что мы теряем функцию DSL модема, но поскольку отсутствие DSL и подвигло на такое решение, то это не критично.

    Полезные ссылки:
    Поделиться публикацией

    Комментарии 38

      0
      Спасибо автору! Уже тоже были мысли о смене роутера
        –13
        Что за бред! Зачем покупать роутер с DSL, если не планируется его использовать? И что мешало автору обменять неподходящий товар в течение 14 дней?
          0
          Исторически мог достаться. ДСЛ умирает, езернет приходит.
            +5
            Кое-куда еще DSL только приходит.
              +1
              Кое-куда ожидают мобильной связи :) А DSL 64кб за 1200 руб просто сказка если подключат.
            +4
            Роутер прослужил около года верой и правдой мне, когда я жил в Киеве и пользовался ОГО от Укртелекома. Теперь я поменял место жительства, новый провайден, не-DSL, а обычная витая пара
              0
              Такой вопрос: у нового провайдера есть авторизация по login/pass или у него интернет вида воткнул-работает? Если есть, то куда нужно будет вписывать соотв данные в интерфейсе роутера?
              +2
              В таком случае приношу извинения, после прочтения статьи сложилось впечатление, что речь о только что купленном устройстве. Проделанная работа на самом деле трудоемка и тяжела, за это можно выразить респект автору.
              0
              Вместо backfire лучше использовать trunk (кажется там сейчас kamikaze) — постабильнее будет.
                +3
                Ребят, шокирован таким совпадением. Огромное спасибо за статью, никак не могу продать свой роутер, т.к. отказался от ДСЛ. Ночь пропала, пойду найду в шкафу свою драгоценность ;)
                  0
                  Кто собрал нормально прошивку? Поделитесь, пожалуйста.
                  +1
                  Хабр такой. Как только что-то надо — раз и статья находится, даже если раньше её не было.
                  0
                  Огромное спасибо, все не решался пошарить в сети что либо подобное.

                  Искренне благодарен, буду пробовать %)
                    0
                    Спасибо большое, автор, буду пробовать. До этого сам голову ломал над подобным, но отсутствие достаточной информации о удачных манипуляциях с прошивкой на нем останавливала.
                      0
                      А можно в такой прошивке настроить Ethernet WAN + DSL… то есть если по Ethernet интернет пропадает — переключаться на DSL?
                        +1
                        Можно; opkg install multiwan.
                          0
                          В теории можно, но OpenWRT не поддерживает встроенный DSL модем. Нужно по usb или ethernet'у подключать внешний dsl модем
                          0
                          Для ускорения компиляции нужно закомментировать другие платформы в Makefile
                            0
                            Можно и так, но создание образов для платформ относительно несложная задача. Большую часть забирает создание toolchain'а и всех необходимых утилит
                            0
                            Для заливки по tftp у длинков сильно маленький интервал времени дается. Когда перешивал свой dir-320 — пока не сваял скрипт, который пингует роутер, и сразу же после первого ответа вливает прошивку — тоже никак не мог поймать момент.
                              +1
                              Кстати, есть исходники АДСЛ-драйвера, но для оригинальной прошивки. Если есть время и желание добавить дсл, можете попробовать: downloads.netgear.com/files/GPL/DG834GBv4_V5.01.01_src.zip
                                0
                                а откуда у вас эта ссылка? Насколько я знаю, DSL драйвер считается закрытый. В оригинальной прошивке он идет как бинарный файл. Качаю, посмотрю
                                  0
                                  Как сказал один форумчанин отсюда: Netgear больше нехотят получать рождественские открытки от Broadcom'a.
                                0
                                Ура. Прошился, Вай-Фай поднял через Luci в пару кликов. Спасибо ещё раз автору.
                                Предлагаю написать статью, как поднять торрент клиент ;)
                                  0
                                  Как раз над этим сейчас мучаюсь =) Уже флешку видит и монтирует
                                  0
                                  А почему выбран именно openWRT?
                                    +1
                                    DD-Wrt не поддерживается, а другого я не знаю
                                    +2
                                    А DSL-2640U можно так переделать?
                                      +2
                                      там еще проще, поскольку есть уже собранная прошивка: wiki.openwrt.org/toh/d-link/dsl-2640u
                                        +2
                                        Да там даже консоль наружу выведена, вообше торт!
                                          +2
                                          Это не вы случайно автор этой заметки? tipok.org.ua/node/31
                                            +2
                                            да, моих рук дело, но она очень давняя.
                                      +1
                                      Дал ссылку, сюда ведущую, для осведомления страждущих и алчущих.

                                      Возможно, теперь отчасти дело их прояснится.
                                        0
                                        Буквально сегодня решил поискать прошивки на данный роутер — нашел эту отличную тему.
                                        А бонусом стала еще вот эта новость Вышел релиз OpenWRT 10.03.1

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

                                          0
                                          а D-Link DSL-2650U ver.: С1 можно прошить?
                                          под него соберется прошивка? на сайте openwrt нет оных ((

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