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

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

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

*

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

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

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

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