Архив

Публикации с меткой ‘Asus’

Компиляция DD-WRT из исходного кода

17 Сентябрь 2010 10 comments

Цель

Оказание помощи при компиляции DD-WRT

Область применения

Создание собственной модификации прошивки.
Изменение состава опций и модулей включенных в прошивку.
Расширение функционала DD-WRT модулями подготовленными сторонними разработчиками.
Устранение ошибок в исходном коде посредством применения патчей.

Общая информация

Компиляции DD-WRT будем производить на примере версии для маршрутизатора Asus RT-N16.

Требования

Рабочая станция под управлением операционной системы Linux 64bit.
Свободное дисковое пространство размером 30 Gb.
Установленные пакеты svn, make, gcc.
Инструментарий кроскомпиляции.
Папка bin инструментария кроскомпиляции должна быть включена в переменную PATH.

Получение исходного кода

Для выполнения компиляции необходимо выполнить получение копии исходного кода DD-WRT. Учитывая что существует много редакций DD-WRT, рекомендую скачивать редакцию рекомендуемую на сайте DD-WRT. Для маршрутизатора Asus RT-N16 на 17 сентября 2010 года рекомендуется версия 14896. Команда на получение копии исходного кода будет выглядеть следующим образом:

svn checkout svn://svn.dd-wrt.com/DD-WRT --revision 14896 trunk-rn16
cd trunk-rn16

Следует обратить внимание что размер исходного кода составляет более 20Gb.

Создание конфигурационных файлов

Конфигурационный файл ядра Linux

cp src/linux/brcm/linux-2.6.23/.config_std src/linux/brcm/linux-2.6.23/.config

Конфигурационный файл системных утилит Linux (busybox)

cp src/router/busybox/.config_micro src/router/busybox/.config

Конфигурационный файл программного обеспечения включаемого в прошивку

cp src/router/configs/broadcom_K26/.config_mini.v24-K26 src/router/.config

Изменение конфигурационных файлов

В конфигурационном файле «src/router/rules/bird.mk» раскоментируем строку «bird-configure» и удаляем опции «–build» и «–no-create». Пример приведен ниже

bird-configure:
        cd bird && ./configure --host=$(ARCH)-linux --prefix=/usr --disable-client --with-sysconfig=sysdep/cf/linux-22.h --localstatedir=/tmp/bird --sysconfdir=/tmp/bird --no-recursion CC=$(ARCH)-linux-uclibc-gcc bird_cv_c_endian=big-endian

В файле «src/router/Makefile.brcm26″ после сроки «$(MAKE) -C $(LINUXDIR) oldconfig» добавляем строку «rm $(LINUXDIR)/include/linux/config.h». Обратите внимание что в начале строки должен стоять символ TAB.

        $(MAKE) -C $(LINUXDIR) oldconfig
        rm $(LINUXDIR)/include/linux/config.h
        $(MAKE) -j 4 -C $(LINUXDIR) vmlinux
        $(MAKE) -j 4 -C $(LINUXDIR) modules

В конфигурационном файле «src/router/.config» комментируем строку CONFIG_SPUTNIK_APD. Пример ниже

#
# Base Features
#
# CONFIG_SPUTNIK_APD=y
CONFIG_EOP_TUNNEL=y

В конце конфигурационного файла «src/linux/brcm/linux-2.6.23/drivers/net/wireless/Kconfig» комментируем четыре строки «source». Пример ниже

          Netgear WG111v2

          Thanks to Realtek for their support!

# source "drivers/net/wireless/hostap/Kconfig"
# source "drivers/net/wireless/bcm43xx/Kconfig"
# source "drivers/net/wireless/zd1211rw/Kconfig"
# source "drivers/net/wireless/madwifi/Kconfig"

endmenu

Компиляция вспомогательных утилит

В процессе подготовки прошивки потребуется утилита trx. Скомпилировать утилиту следует следующей командой:

gcc opt/tools/trx.c -o opt/tools/trx

Компиляция и сборка прошивки

Переходим в рабочую папку

cd src/router/

Выполнение скриптов configure

make -f Makefile.brcm26 configure

Очистка каталогов от предыдущей компиляции кода

make -f Makefile.brcm26 clean

Компиляция кода

make -f Makefile.brcm26 all

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

ln -s ../../opt/sstrip sstrip
make -f Makefile.brcm26 install

Собраная прошивка лежит в папке «src/router/mipsel-uclibc»

Дополнительно

Желающие выполнить компиляцию прошивки для ядра 2.4 могут это сделать если в командах «make» не буду казывать имя Makefile. Например, вместо «make -f Makefile.brcm26 configure» следует дать команду «make configure» . Исключение составляет команда «install». В обычном Makefile этот раздел не до конца описан и рекомендую использовать «make -f Makefile.brcm26 install».

В процессе компиляции ядра 2.4 подребуются «toolchain-mipsel_gcc3.4.6″. Данный тулчейн я брал тот что генерируется в процессе компиляции OpenWRT.

Ссылки

Пост послуживший отправной точкой для написания статьи
Текущая версия инструментария кроскомпиляции
Создание мода прошивки DD-WRT средствами firmware_modkit под Yota

make -f Makefile.brcm26 configure
Categories: DD-WRT Tags: ,

Прошивка DD-WRT для сети Yota

4 Март 2010 197 comments

Что и зачем это сделано

Подготовлена прошивка DD-WRT для маршрутизаторов Asus в которую интегрированы драйвер MadWiMAX. Прошивка сделана с целью упрощения процедуры подготовки маршрутизатора к работе в сети Yota. Сразу после заливки DD-WRT в маршрутизатор Asus, он готов к работе в сети Yota.

Отличительные особенности прошивки

Данная прошивка имеет следующие отличительные особенности:

     

  1. работа по схеме DUAL WAN (основной линк наземного оператора, подключение Yota резерв);
  2. поддержка работы USB принтеров;
  3. легкая процедура инсталляции;
  4. продуманный, хорошо проработанный  и понятный веб интерфейс;
  5. наличие хорошего функционала.

Поддерживаемое оборудование

Прошивка работает на следующих маршрутизаторах:

  1. Asus RT-N16 – рекомендуемая модель
  2. Asus WL-500gP V2
  3. Asus WL520GU
  4. Asus WL-500W
  5. D-Link DIR 320

Требуемые материалы, оборудование и программное обеспечение

В работе нам потребуется:

  1. маршрутизатор из списка выше;
  2. USB-модем Samsung SWC-U200 с версией микропрограммного обеспечения DA15;
  3. прошивка DD-WRT подготовленная для маршрутизатора Asus RT-N16;
  4. прошивка DD-WRT для прочих маршрутизаторов;
  5. программа для заливки DD-WRT в маршрутизатор Asus.

Подготовительные действия

На компьютере необходимо установить статический IP адрес 192.168.1.2 и маску 255.255.255.0.

Соединить компьютер с одним из LAN портов маршрутизатора кабелем Ethernet.

Маршрутизатор должен иметь настройки по умолчанию (заводские настройки).

Перепрошивка

Проверяем что маршрутизатор доступен для компьютера. По умолчанию маршрутизатор имеет IP адрес 192.168.1.1.

ping 192.168.1.1</p>
<p>Pinging 192.168.1.1 with 32 bytes of data:<br />
Reply from 192.168.1.1: bytes=32 time&amp;amp;lt;1ms TTL=64<br />
Reply from 192.168.1.1: bytes=32 time&amp;amp;lt;1ms TTL=64<br />
Reply from 192.168.1.1: bytes=32 time&amp;amp;lt;1ms TTL=64<br />
Reply from 192.168.1.1: bytes=32 time&amp;amp;lt;1ms TTL=64</p>
<p>Ping statistics for 192.168.1.1:<br />
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),<br />
Approximate round trip times in milli-seconds:<br />
Minimum = 0ms, Maximum = 0ms, Average = 0ms

Запускаем программу для заливки DD-WRT и указываем IP адрес маршрутизатора и файл с прошивкой DD-WRT. Читать далее…

Categories: DD-WRT Tags: , ,