OpenWRT и TP-LINK TL-MR3220 v1.2

Приобрёл недавно замечательный роутер TP-LINK TL-MR3220 v1.2 с целью прошивки на него OpenWRT. Мой выбор пал на него из-за того, что это самое дешёвое и мощное решение, с полной поддержкой OpenWRT. Я несомненно рад покупке, особенно на фоне и печальном опыте с пропроетарщиной от Broadcom.

Основные технические характеристаки:

CPU: Atheros AR7241@400MHz
Ram: 32MiB
Flash: 4MiB
Network: 4 x 1
USB: 2.0
Serial: Yes
JTag: No

Минус, это отсутствие JTag и в очень плохом качестве платы, будьте аккуратны при пайке ибо дорожки сползают на "Ура".

Первым делом, что нужно сделать - это спаять преобразователь уровней на базе MAX232, на нашем сайте есть соответствующая статья. После этого нужно впаять контакты на плате роутера:

Разобранный TP-LINK MR-3220 v1.2

Эта железяка устроена так, что она должна скачивать с сервера tftp прошивку т.к. стоит загрузчик u-boot, а не наоборот как в случае с D-Link Dir-320 и д.р c загрузчиком CFE.

Подымаем tftp-сервер

Наигравшись с нерабочим в Ubuntu поделием под названием atftpd, я решил поставить tftpd.

sudo apt-get install openbsd-inetd tftpd tftp

Настройка tftpd:

sudo vi /etc/inetd.conf

Правим конфиг:

tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /tftpboot

Создадим директорию /tftpboot и добавляем права:

sudo mkdir /tftpboot

sudo chmod -R 777 /tftpboot

sudo chown -R nobody /tftpboot

Копируем прошивку и называем её как: code.bin

cp openwrt-trunk/bin/ar71xx/openwrt-ar71xx-generic-tl-mr3220-v1-squashfs-factory.bin  /tftpboot/code.bin

Запуск службы inetd:

sudo /etc/init.d/openbsd-inetd restart

Настройка сетевых интерфейсов

Настраиваем в вашем дистрибутиве Linux сеть,а именно нужно выставить следующие параметры:

IP-address: 192.168.1.27

Netmask: 255.255.255.0

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

  • Подключаемся к роутеру через UART-RS232.
  • Включаем роутер
  • Когда в окне появится "Autoboot in ..", тогда быстро набираем tpl
  • Видим приглашение типа: ar7100>
  • Далее колдовство:
ar7100> erase 0x9f020000 +0x3c0000
ar7100> tftpboot 0x81000000 code.bin
ar7100> cp.b 0x81000000 0x9f020000 0x3c0000
ar7100> bootm 0x9f020000

Вот и всё! Заметьте, что такой способ прошивки используется только один раз, после чего роутер можно прошивать средствами mtd. Для более подробного разъяснения воспользуйтесь вот этой документацией.


								
								

Теги: , , ,

Дата: 19 декабря 2011

Автор: ignusius

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

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

  1. А почему Вы решили,что отсутствует JTAG ?
    вот,пожалуйста... ;)
    http://wiki.openwrt.org/ru/toh/tp-link/tl-mr3420#jtag

  2. А зачем Вы для перепрошивки паяли? Я через веб-морду спокойно прошил это чудо на OpenWRT.

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

  4. Имеется роутер TL-WR740N ver:2.5. Был убит неудачной прошивкой.
    Спаял кабель с преобразователем на ИМС PL2303, подключил к диагностическим точкам на плате роутера. Далее с помощью диалогового окна PUTTY "зашёл" в устройство. Здесь всё ОК.

    Имеется известная инструкция: https://docs.google.com/file/d/0B8RHAmW ... l=en&pli=1
    Делаю всё по ней, но при заливке файла прошивки наблюдается следующее: Load address: 0x81000000
    Loading: T T T T T
    Retry count exceeded; starting again
    eth0 link down
    ... и так очень долго...
    Tftpd32 работает. IP-шники прописаны правильно... В чём проблема?

  5. роутер не видит твой пк через сеть...
    ip точно 192.168.1.27 выставил сетевухе?
    в роутер в lan 1 воткнул? если что,то firewall или антивирь могут блокировать...
    если уверен что всё правильно,то прибей Tftpd32, и снова запусти...надеюсь прошивка лежить в папке где и сама Tftpd32

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

*

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

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

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

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