
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. Для более подробного разъяснения воспользуйтесь вот этой документацией.