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, на нашем сайте есть соответствующая статья. После этого нужно впаять контакты на плате роутера:
Эта железяка устроена так, что она должна скачивать с сервера 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 +0x3c0000ar7100> tftpboot 0x81000000 code.binar7100> cp.b 0x81000000 0x9f020000 0x3c0000ar7100> bootm 0x9f020000
Вот и всё! Заметьте, что такой способ прошивки используется только один раз, после чего роутер можно прошивать средствами mtd. Для более подробного разъяснения воспользуйтесь вот этой документацией.

4 апреля 2012 / 07:16
А почему Вы решили,что отсутствует JTAG ?
вот,пожалуйста... ;)
http://wiki.openwrt.org/ru/toh/tp-link/tl-mr3420#jtag
4 ноября 2012 / 19:12
А зачем Вы для перепрошивки паяли? Я через веб-морду спокойно прошил это чудо на OpenWRT.
15 ноября 2012 / 22:24
Так хардкорнее, да всё равно если прошивка умрёт, то можно бысто её поднять.
16 ноября 2012 / 22:40
так легко восстановить,если роутер не отвечает после кривой прошивки через web или же,чего намудрите в настройках и не сможете попасть в него (бывает аварийный режим не всегда работает) особенно на старых сборках (там вообще gpio перепутанны... так что ком порт ,рулит... ;)
26 ноября 2012 / 14:20
Имеется роутер 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-шники прописаны правильно... В чём проблема?
28 ноября 2012 / 11:41
роутер не видит твой пк через сеть...
ip точно 192.168.1.27 выставил сетевухе?
в роутер в lan 1 воткнул? если что,то firewall или антивирь могут блокировать...
если уверен что всё правильно,то прибей Tftpd32, и снова запусти...надеюсь прошивка лежить в папке где и сама Tftpd32