Openwrt

OpenWRT

USB-Serial UHttpd Lua HAME MPR-Ax Компактные роутеры построенные на базе МК RT5350. Роутеры и их клоны имеют разный формфактор, но практически однотипную схематику, что позволяет использовать для разных моделей одну прошивку. Hame Build firmware TP-LINK WR703N How to install Network configure Serial port Use external USB disk Upgrade SDRAM Use GPIO Магия Узнать какие USB устройства обнаружены на шине можно командой cat /sys/kernel/debug/usb/devices

Ralink uBoot

Получить доступ к uBoot можно получить через аппаратный UART, пады которого расположены на плате устройства и зачастую подписаны. Я подключаю роутер через USB-UART преобразователь. Это может быть преобразователь на базе микросхем FT232, PL2303, CP2102 и им подобные. Главное, что бы напряжение на выводах TXD/RXD не превышал 3.3в. Другая особенность МК RT5350 состоит в том, что при подаче питания для нормального старта МК на его выводе RXD был низкий уровень напряжения. USB-UART преобразователь будет же держать на нём высокий уровень напряжения, что не даст МК загрузиться в нормальном режиме.

Serial port

На плате роутера разведены пины последовательного порта. TP_OUT - TX TTL 3.3V TP_IN - RX TTL 3.3V Землю удобно подпаять к большому паду рядом с USB разъёмом (сам корпус USB соединён с землёй через развязывающий конденцатор). Питание 3.3 вольта, если оно необходимо можно взять с первого вывода посадочного места под светодиод.

U-Boot для WR703N

http://code.google.com/p/wr703n-uboot-with-web-failsafe/ http://see.sl088.com/wiki/WR703N_16M_Flash http://see.sl088.com/wiki/16M_SOP8_Flash http://tl-wr703n.blogspot.ru/2012/07/promjena-flash-rom-memorije-4mb-8mb.html http://www.auditeon.com/projects:routers:tp-link:tl-wr703n

uhttpd lua mod

http://wiki.openwrt.org/doc/uci/uhttpd#embedded.lua root@OpenWrt:~# opkg install uhttpd-mod-lua Installing uhttpd-mod-lua (18) to root... Downloading http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/uhttpd-mod-lua_18_ar71xx.ipk. Configuring uhttpd-mod-lua. root@OpenWrt:~# uci set uhttpd.main.lua_prefix=/lua root@OpenWrt:~# uci set uhttpd.main.lua_handler=/root/test.lua root@OpenWrt:~# cat /root/test.lua function handle_request(env) uhttpd.send("HTTP/1.0 200 OK\r\n") uhttpd.send("Content-Type: text/plain\r\n\r\n") uhttpd.send("Hello world.\n") end root@OpenWrt:~# /etc/init.d/uhttpd restart root@OpenWrt:~# wget -qO- http://127.0.0.1/lua/ Hello world. root@OpenWrt:~#

Добавляем оперативную память

Если Вы дружите с паяльником, то можно увеличить объём памяти WR703N до 64Мб (теоретически до 128Мб, если найдёте микросхему такого объёма). Список подходящих чипов находится на странице http://wiki.openwrt.org/toh/tp-link/tl-wr703n#mb.ram.mod Мне удалось успешно установить микросхему MT46V32M16. Второй успешный вариант: HY5DU121622AT-J Здесь обновлена не только память, но и установлен разъём под внешнюю антенну.

Настройка сети

Настройки сети OpenWRT хранит в файле /etc/config/network Что бы подключить роутер в свою сеть, нам нужно указать адрес роутера в нашей сети в параметре ipaddr и дополнительно указать адреса шлюза (gateway) и адреса DNS-серверов (dns) config 'interface' 'loopback' option 'ifname' 'lo' option 'proto' 'static' option 'ipaddr' '127.0.0.1' option 'netmask' '255.0.0.0' config 'interface' 'lan' option 'ifname' 'eth0' option 'type' 'bridge' option 'proto' 'static' option 'ipaddr' '192.168.11.111' option 'netmask' '255.255.255.0' option gateway '192.

Прошивка OpenWRT на TP-Link WR703N

Для начала воспользуемся готовыми образом прошивки: http://downloads.openwrt.org/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-tl-wr703n-v1-squashfs-factory.bin http://downloads.openwrt.org/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-tl-wr703n-v1-squashfs-sysupgrade.bin Подключите роутер через ethernet к компьютеру и настройте IP адрес из подсети 192.168.1.0/24 (например 192.168.1.100). Адрес роутера по умолчанию 192.168.1.1 Через оригинальную прошивку Оригинальная прошивка позволяет быстро перешить роутер в OpenWRT, но к сожалению имеет интерфейс на китайском языке. Войдите через броузер на роутер по адресу http://192.168.1.1. Логин: admin, пароль: admin. Найдите в левом меню раздел http://192.168.1.1/userRpm/SoftwareUpgradeRpm.htm (прямая ссылка не работает).

Работа с GPIO

Роутер WR703N (да и многие другие) вполне может управлять внешними устройствами (например реле). Для этого можно использовать подключение через порты ввода-вывода процессора (GPIO).

Работа с внешним диском

Нам необходимо будет добавить некоторые пакеты в систему, для этого необходимо настроить подключение к интернету. Обновим список пакетов: opkg update Устанавливаем модули ядра для работы с USB Storage: opkg install kmod-usb-storage Устанавливаем модули для поддержки файловых систем: opkg install kmod-fs-ext4 kmod-fs-vfat Теперь можно подключить USB диск и подмонтировать его: mount /dev/sda1 /mnt ls -l /mnt Поддерживаются файловые системы EXT2, EXT3, EXT4, FAT16, FAT32. Если нужна поддержка определённой ФС, то ставим только нужный модуль.

Роутер TP Link WR703N

Обновление прошивки Настройка сети Подключение внешнего диска Загрузчик U-Boot Последовательный порт Порты ввода-вывода Наращивание SDRAM

Роутеры HAME MPR-Ax

и их клоны OpenWRT wiki no firmware firmware GPIO map Прошивки Перепрошивка роутера из уже установленной ранней версии OpenWrt достаточно проста и доступна из Luci или командной строки при наличии интернет подключения: $ cd /tmp $ wget http://downloads.openwrt.org/barrier_breaker/14.07/ramips/rt305x/openwrt-ramips-rt305x-mpr-a2-squashfs-sysupgrade.bin $ mtd write openwrt-ramips-rt305x-mpr-a2-squashfs-sysupgrade.bin firmware Прочее [Mini USB Portable 3G/4G router - rt5350f)(http://my-embedded.blogspot.ru/2013/12/mini-4g-router-rt5350f.html) Mini USB Portable 3G/4G router - rt5350f - 32M version Neato XV series WiFi remote control Лог Мне попался интересный экземпляр, с 32мб SDRAM на борту, которые прекрасно видел штатный uBoot, но сама прошивка считала, что у неё только 16мб.

Сборка прошивки для роутеров на базе RT5350

Написано на основе сборки для HAME MPR-A2. На самом деле под рукой у меня был клон MPR-A1, но с 32Мб оперативной памяти. Необходимость сборки прошивки возникла из желания заменить флеш-память объёмом 4Mb на более ёмкую. Естественно для этого нужно владеть паяльником. Я пошел по простому пути: Подключил UART: его пады разведены на плате, и в MPR-A1 даже подписаны ;-) UART нам понадобится, что бы получить доступ к U-boot; Выпаял SPI FLASH; Считал существующую прошивку с помощью Flashrom: flashrom -p serprog:dev=/dev/ttyACM0:4000000 -r backup_firmware.