Openwrt сборка из исходников и прошивка Dir-320 A1

В этой статье собирается различная информация об OpenWRT. Весь нужный набор утилит завязан на Linux.  Ради примера выбран Dir-320 как самый лучший по соотношению цена-производительность-функционал.

СпецификацииD-Link Dir-320 A1:

CPU : Broadcom BCM5354KFBG

Flash : Spansion S29AL032D (4Mbytes)

RAM : 32Mbytes SAMSUNG

Switch : ? Wi-Fi : BCM4318

Serial : yes

USB : yes

JTAG : yes

Serial pinout [x] : TX [x] : GND [x] : VCC 3.3V [ ] [x] : RX

Спецификации D-Link Dir-330

CPU : Broadcom BCM5836PKPBG

Flash : Spansion S29GL064A (8Mbytes)

RAM : 2x16Mbytes Switch : 5325e

Wi-Fi : BCM4318

Serial : yes

USB : yes

JTAG : yes

Serial(UART) pinout:[x] : RX[x] : TX[x] : NC[x] : NC[x] : GND[x] : VCC

Сборка из исходников

Собирать будем в UBUNTU для D-Link dir-320.

Забираем исходники

Для начала поставим Subversion

# sudo apt-get install subversion

Вытянем самые свежие исходники, ветка называетя Kamikaze

# svn co svn://svn.openwrt.org/openwrt/trunk/ openwrt && cd openwrt

Если нужны стабильные то тянем отсюда

# svn co svn://svn.openwrt.org/openwrt/branches/backfire backfire_dir-320 && cd backfire_dir-320

Устанавливаем пакеты необходимые для сборки

У меня нехватало вот этого:

# sudo aptitude install g++ flex libncurses5-dev zlib1g-dev patch gettext gawk

Так же можно проверить чего не хватает, набрав в корне дерева с исходниками вот это:

# make prereq

Сама сборка

Устанавливаем исходники дополнительных пакетов и делаем возможным их включение в прошивку:
# ./scripts/feeds update -a && ./scripts/feeds install -a

Проверяем, установлено ли все необходимое програмное обеспечение для создания прошивки и собираем tools и toolchain, т.к. процессор в роутере MIPS и софт нужен от этой же архитектуры:

# make prereq && make tools/install && make toolchain/install
Создаём конфиг для сборки
# make menuconfig

Теперь выбрав нужные приложения редактируем конфиг ядра:

# make kernel_menuconfig

Ручное редактирование конфига  ядра не обязательно. И для первого раза я советую добавить только поддержку русского языка для разных кодировок, например если вы собираетесь монтировать флешку в FAT32 вам потребуется cp866 или cp1251.

Обычно мастерство сборки придет с опытом, мне понадобилось перепрошить точку 3 раза пержде чем я выбрал подходящий набор программ.

После всех настроек запускаем саму сборку:

# make

Довольно часто бывает, что во время сборки появляется ошибка. В таком случае запускаем make с выводом отладочной информации:

# make V=99

Прошивка

Тупая прошивка

Устанавливаем tftp клиент, многие под Линукс используют интерактивный tftp, но мне больше приглянулся atftp. Ставим его:

# sudo apt-get install atftp

Втыкаем провод, один конец в комп другой в LAN 1 роутера. Настраиваем сеть предварительно отключив Network manager:

# sudo ifconfig eth0:1 192.168.1.2 up

Пишем указанную строчку ниже в консоли, включаем питание на роутере, считаем до 3-х и жмем энтер.

# atftp --option "mode octet" --option "timeout 60" --verbose --trace -p -l openwrt-brcm47xx-squashfs.trx 192.168.1.1

Прошивка с использование serial console (uart)

Подключаем консоль к компьтеру. В моём случае это был usb-to-com адаптер т.е. /dev/ttyUSB0. Если у вас будут встроенные в компьютер порты то смотрите в сторону /dev/ttyS1 или /dev/ttyS2 Открываем какую-нибудь терминальную софтину - putty, picocom, minicom. Я использовал minicom так:

$ minicom -l -8 -c on -s
Настройки:

Включаем питание роутера и зажимаем Ctrl-C пока не выпадем в меню CFE. На экране видим приглашение :

CFE>

Немного остановимся. Сейчас нужно перейти в консоль и сконфигурировать интерфейс так:

ifconfig eth0:2 192.168.0.25

Даём комманду, которая поднимает на роутере TFTP сервер на несколько секунд , т.е. после этого он примет от нас по tftp всё что мы ему подсунем.:

CFE> flash -noheader : flash1.trx

И сразу же выполняем:

atftp --option "mode octet" --option "timeout 60" --verbose --trace -p -l openwrt-brcm47xx-squashfs.trx 192.168.0.2

Сразу говорю, с первого раза можно не успеть.

Ссылки

  1. Вот эта статья воодушевила
  2. OpenWRT Network Configuration
  3. Схема uart 2 com адаптера
  4. Дата кабель на микросхеме MAX232
  5. jtag pinout
  6. Про Dir-330 на dd-wrt.com
  7. Dlink DIR-320 + Адаптер COM-порта + USB-HDD
  8. JTAG pinout for D-Link DIR-330 JPG
  9. Universal JTAG User Manual (Parallel)
  10. ejtag
  11. Железный тюнинг Dir-320
  12. dir-320 UART pinout
  13. Install DD-WRT on a D-Link DIR-330 router
  14. OpenWrtDocs/Hardware/D-Link/DIR-330
  15. прошивка Dir-320
  16. Dir-320 serial jpg
  17. MIPS JTAG
  18. Восстановление АДСЛ-модемов DLink
  19. Прошивка Dir-320 через serial console
  20. Поиск распиновки последовательной консоли
  21. LaFonera_Hardware_Serial-Cable-Port
  22. http://klauth.telenet.ru/dl/0004A2A02.html
  23. http://sites.google.com/site/zigfisher/Home/sinus-1054-dsl
  24. http://dd-wrt.com/phpBB2/viewtopic.php?t=32983&highlight=dir330
  25. http://www.nslu2-linux.org/wiki/HowTo/AddASerialPort
  26. http://www.hardware.zp.ua/mobile/data-cable-max232.html
  27. http://www.e-kit.ru/2007/232/index.htm
  28. http://mightyohm.com/blog/2008/10/building-a-wifi-radio-part-3-hacking-the-asus-wl-520gu/
  29. http://www.xakep.ru/magazine/xa/125/114/1.asp
  30. Transmission bittorrent client on OpenWRT
  31. OpenWrt USB automount on boot
  32. https://dev.openwrt.org/ticket/7740
  33. http://tinyhack.com/2010/04/04/d-link-dir-300-serial-port-and-sd-mod/
  34. http://www.prist.ru/info.php/articles/i2c_spi_rs_lecroy_analyze.htm
  35. http://www.gaw.ru/html.cgi/txt/interface/spi/index.htm
  36. http://sites.google.com/site/bifferboard/sd_mmc_howto

Теги: , , , , , ,

Дата: 15 ноября 2011

Автор: ignusius

Комментарии: 5

Комментарии: 5

  1. Можно схемку для подключения к uart ?

  2. если отключена отладочная консоль, через ком прошьется?

  3. Не получается залить собранную прошивку.
    На команду
    atftp --trace --verbose --option "timeout 15" --option "mode octet" -p -l openwrt-brcm47xx-squashfs.trx 192.168.0.1
    пишет 6 раз:
    sent WRQ <file: openwrt-brcm47xx-squashfs.trx, mode: octet >
    timeout: retrying...

    чяднт?
    tftp: aborting

Оставить комментарий

*

Комментарий:

Ваш e-mail не будет опубликован.
Обязательные поля помечены *

Разрешенные HTML теги:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>