Как прошить роутер tenda ac11
Не так давно я поставил перед собой задачу купить недорогой и стабильно работающий маршрутизатор для родителей. Провайдер скорее всего авангард через отдельный adsl-модем, в будущем возможно проводной билайн. Сам я живу в другом городе, поэтому перенастраивать его, когда желто-полосатый провайдер опять задумает что-нибудь недоброе, компилить последнюю openwrt из trunk, закидывать конфиги по sftp через какой-нибудь teamviewer родителям со своей машины смерти подобно. Это значит прощайте дешевые tp-link (741nd, 841nd и т. д.). Возможно также будем пользоваться файлообменными ресурсами сети, поэтому вай-фай можно и пошустрее. Как оказалось, на *wrt свет клином не сошелся, есть еще неплохая расово русская альтернатива. Я имею ввиду проект открытой прошивки wive-rtnl.
Обо всех плюсах и отличиях прошивки от *wrt можно узнать там же.
Работает прошивка на железе Ralink 305X, самым дешевым маршрутизатором на этом чипе и флеш-памятью на 4 мегабайта (из того, что я нашел в Санкт-Петербурге) является tenda 306R.
Для наших целей нужна версия Acorp_WR-300N-2T2R со страницы загрузки прошивки на sourceforge. Более дешевая модель Tenda 311R+ имеет всего 2 мегабайта памяти, поэтому непригодна. Китайцы наплодили уже несколько аппаратных ревизий, причем на устройстве про ревизию не написано ровным счетом ничего. Узнать ее можно только по надписи на печатной плате, разобрав устройство. Мне досталось версии 2.0 (32 мегабайта оперативной памяти).
- патч-корд, по нему мы загоним на роутер прошивку с tftp сервера
- usb-uart кабель с ttl уровнями (Не USB-COM, вы убьете роутер!)
- прошивка wive-rtnl Acorp_WR-300N-2T2R, сразу переименуем в a.bin
- паяльник и прямые руки
У меня есть не очень красивый кабель для siemens me-45.
Я просто подпаял проводки мгтф к выводам микросхемы prolific cp2303 и вывел через дырки в крышке корпуса, распиновку микросхемы легко найти в гугле.
Разборка и подготовка роутера к прошивке
На нем нет ни гарантийных пломб, ни наклеек. Резиновые ножки легко отклеиваются, под ними четыре крестовых винта.
Надо отдать должное, пластик корпуса собран без щелей, разжать защелки не так просто. Горелой обезьяной почти не пахнет. Однако отсутствие радиатора на чипе печалит.
Даже на tp-link 741nd радиатор есть, хотя там более обжигающий чип от Atheros.
Теперь подпаиваемся к Tx, Rx и GND на обратной стороне печатной платы роутера. Не забывая, что Tx должен быть подключен к Rx usb-uart, а Rx к Tx.
Питание на роутер пока не подаем. Подключаем патч-корд в любой из 4-х LAN разъемов роутера. IP-адреса на машине с ubuntu пропишем чуть позже.
Подготовка машины с ubuntu
Устанавливаем putty и atftpd:
sudo apt-get install putty atftpd
Обычно atftpd запускается inetd, для отключения запуска initd необходимо отредактировать /etc/default/atftpd:
sudo gedit /etc/default/atftpd
Найдите строку
USE_INETD=true
и замените ее на
USE_INETD=false
Сохраните и закройте файл.
sudo invoke-rc.d atftpd start
Cоздаем папку в / машины с ubuntu, куда будем класть нашу прошивку:
sudo mkdir /tftpboot
sudo chmod -R 777 /tftpboot
sudo chown -R nobody /tftpboot
sudo /etc/init.d/atftpd restart
Кладем в /tftpboot файл прошивки. Переименуем его в a.bin и копируем его любым удобным вам образом.
Теперь настроим putty. Запускаем putty, прокручиваем меню слева до низа, видим там под SSH параметры serial. Они должны быть такими:
Serial line to connect: /dev/ttyUSB0 (или другое ttyUSBX, делайте ls /dev до и после подключения usb-uart)
Speed (baud) 57600
Data bits 8
Stop bits 1
Parity NONE
Flow Control NONE
Затем поднимаемся по меню опять в самый верх, жмем на Session, ставим радиокнопку в положение serial.
Open пока не жмем.
Настраиваем сетевое соединение:
Задаем машине с ubuntu адрес 10.10.10.3, сохраняем, запускаем Putty, подаем питание на роутер.
Процесс прошивки
Если usb-uart правильно припаян, мы увидим процесс загрузки:
Ralink UBoot Version: 3.3
ASIC 3052_MP2 (Port5<->None)
DRAM component: 256 Mbits SDR
DRAM bus: 16 bit
Total memory: 32 MBytes
Flash component: NOR Flash
Date:Dec 8 2009 Time:13:38:58
icache: sets:256, ways:4, linesz:32 ,total:32768
dcache: sets:128, ways:4, linesz:32 ,total:16384
SDRAM bus set to 16 bit
SDRAM size =32 Mbytes
Please choose the operation:
1: Load system code to SDRAM via TFTP.
2: Load system code then write to Flash via TFTP.
3: Boot system code via Flash (default).
4: Entr boot command line interface.
9: Load Boot Loader code then write to Flash via TFTP.
У нас будет лишь 2 секунды, чтобы нажать 2, затем мы увидим
2: System Load Linux Kernel then write to Flash via TFTP.
Warning!! Erase Linux in Flash then burn new one. Are you sure?(Y/N)
Please Input new ones /or Ctrl-C to discard
Input device IP (10.10.10.123) ==:10.10.10.123
Input server IP (10.10.10.3) ==:10.10.10.3
Input Linux Kernel filename () ==:a.bin
Где Input device IP (10.10.10.123) — адрес роутера, Input server IP (10.10.10.3) ==:10.10.10.3 — адрес машины с ubuntu, a.bin — имя прошивки в /tftpboot на машине с ubuntu.
В фаерволе ubuntu должно быть разрешено соединение извне по порту 69, иначе tftp-сервер будет отвечать, что такого файла не существует.
Если все правильно, мы увидим радостный лог прошивки и разворачивания wive-rtnl, желающие могут ознакомиться с ним на pastebin.
Заключение
1000 р и 20 минут работы мы получили не очень страшный, мощный и надежный роутер с современной прошивкой, заточенной под суровую российскую действительность. Ну и также незабываемый опыт работы с железом ralink. Отдельное спасибо хочу выразить разработчику wive-rtnl — Маначкину Евгению Романовичу aka sfstudio.
Читайте также: