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 преобразователь будет же держать на нём высокий уровень напряжения, что не даст МК загрузиться в нормальном режиме.

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:~#

Роутер 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.