Пошаговая прошивка OpenWRT на роутер Planet WNRT-617v1

Роутеры лишаются своих родных прошивок по разным причинам. Желание добавить функционал, припаять USB порт или просто добавить стабильности в работу роутера.

Это – китайский роутер Planet WNRT-617v1 c версией железа V1 и для него необходимо выбрать версию прошивки OpenWRT. Он не поддерживается разработчиками OpenWRT — поддерживаемое оборудование. Для выбора правильной прошивки OpenWRT, необходимо узнать аппаратную часть WNRT-617v1, т.е . модель процессора, чип wiFi модуля, FLASH, итд. На WikiDevi только производитель процессора Atheros. Скрытия роутера тоже нечего не дал поскольку на процессоре клеен радиатор.

WNRT-617v1_Board
WNRT-617v1_Board

Последовательный порт

Большинство роутеров оснащены UART-ом, чтобы позволить отладку, замену прошивки или подключение последовательных устройств (например, модемов). Загрузчик (bootloader) несет ответственность за прослушивание последовательного порта. Последовательный порт, как правило, предоставляют консоль к загрузчику, а когда загружается прошивка, консоль к работающей системе. Как правило, консоль загрузчика позволит вам настроить сеть, выборки и прошить новую прошивку. Консоль к работающей системе позволит вам исправить с неправильной настройкой сети, посмотреть загружаемые модули системы а также узнать аппаратную часть WNRT-617v1.

Чтобы из компьютера подключиться к последовательному порту роутера нужен USB to RS232 TTL Converter Module.

Распиновка последовательному порта роутера WNRT-617v1

Распиновка последовательному порта роутера WNRT-617v1

SJ1
1 2 3 4
TX RX GND VCC

Кконтактная площадка 1 — TX на плате роутера отмечен квадратной площадкой.

Подключение последовательного порта

Router USB to RS232 TTL module
GND GND
TXD RXD
RXD TXD
VCC Не подключать

На стороне ПК можно использовать Терминал программы для Windows Hterm, Putty, Bray’s Terminal.

Правильные настройки для доступа к последовательной консоли таковы:
Bits per second: 115200
Data bits: 8
Stop bits: 1
Parity: None
Flow control: None

Подключившись терминалом к последовательному порту и подав питание на роутер мы увидим процесс загрузки:
U-Boot 1.1.4 (Apr 25 2011 - 09:54:58)
AP91 (ar7240) U-boot
DRAM:
sri
#### TAP VALUE 1 = 9, 2 = 9
32 MB
id read 0x100000ff
flash size 4194304, sector count = 64
Flash: 4 MB
Using default environment
In: serial
Out: serial
Err: serial
Net: ag7240_enet_initialize...
No valid address in Flash. Using fixed address
: cfg1 0xf cfg2 0x7014
eth0: 00:03:7f:09:0b:ad
eth0 up
No valid address in Flash. Using fixed address
: cfg1 0xf cfg2 0x7214eth1: 00:03:7f:09:0b:ad
ATHRS26: resetting s26
ATHRS26: s26 reset done
eth1 upeth0, eth1
Autobooting in 1 seconds
## Booting image at 9f020000 ...
Uncompressing Kernel Image ... OK
Starting kernel ...
>Booting AR7240(Python)...
Linux version 2.6.15--LSDK-7.3.0.300 gcc version 3.4.4 #32 Mon Apr 25 09:57:40 CST 2011flash_size passed from bootloader = 4CPU revision is: 00019374
..................
..................
..................

Полный процесс загрузки с родной прошивкой Planet WNRT-617v1 в терминале Hterm

Вывод последовательного порта роутера Planet WNRT-617v1

Дождавшись появления на терминале сообщения Autobooting in 1 seconds набираем последовательность tpl и попадаем в бутлоадер (по сообщениям видно что это U-boot).
Password to get into uboot prompt is tpl
Password to get root login is 5up

Аппаратная часть WNRT-617v1

Model WNRT-617v1 Заметки
Version 1
Architecture: MIPS 24Kc
Manufacturer: Atheros
Bootloader: U-Boot 1.1.4 (Apr 25 2011 — 09:54:58)
System-On-Chip: Atheros AR7240 (Python)@400MHz на плате U8, PCI and USB 1.1 host IF, integrated FE Switch
Ref Design: AP91
Flash chip: S25FL032P на плате U6, Аналоги Winbond 25Q32FVS1G, ST 25P32V6P
Flash size: 4 MiB
RAM chip: Zentel A3S56D40FTP -G5 на плате U10
RAM size: 32 MiB
Wireless Atheros AR9285-AL1A (1×1 MIMO 150Mbps) на плате U13
Ethernet: AG71xx 4 LAN, 1 WAN 100/10
USB: ??? 1 x USB 1.1
Serial: Yes на плате SJ1
JTAG: No

Следует использовать именно тот файл, который согласуется с версией железа вашей модели.

Прошивка OpenWRT для роутера Planet WNRT-617v1

По аппаратной частьи подходит роутер TP-Link TL-WR841ND v7 поддерживается разработчиками TP-Link TL-WR841ND.
Возможны два варианта файловой системы для загрузки: JFFS2 и SquashFS. Судя по отзывам стоит остановить свой выбор на SquashFS-файлах. Слово factory в названии файла значит, что такой файл вы должны заливать на ваше устройство поверх заводской (родной) прошивки. файл со словом sysupgrade применим только для обновления OpenWRT, т.е. заливается после factory прошивки.
Качаем factory прошивку OpenWRT — openwrt-ar71xx-generic-tl-wr841nd-v7-squashfs-factory.bin и шьём обычным способом (System Tools -> Firmware Upgrade).
После успешной прошивки подключившись терминалом к последовательному порту и подав питание на роутер мы увидим процесс загрузки OpenWRT:
U-Boot 1.1.4 (Apr 25 2011 - 09:54:58)

AP91 (ar7240) U-boot
DRAM:
sri
#### TAP VALUE 1 = 9, 2 = 9
32 MB
id read 0x100000ff
flash size 4194304, sector count = 64
Flash: 4 MB
Using default environment

In: serial
Out: serial
Err: serial
Net: ag7240_enet_initialize…
No valid address in Flash. Using fixed address
: cfg1 0xf cfg2 0x7014;
eth0: 00:03:7f:09:0b:ad
eth0 up
No valid address in Flash. Using fixed address
: cfg1 0xf cfg2 0x7214
eth1: 00:03:7f:09:0b:ad
ATHRS26: resetting s26
ATHRS26: s26 reset done
eth1 up
eth0, eth1
Autobooting in 1 seconds
## Booting image at 9f020000 …
Uncompressing Kernel Image … OK

Starting kernel …

OpenWrt kernel loader for AR7XXX/AR9XXX Copyright (C) 2011 Gabor Juhos juhosg@openwrt.org Looking for OpenWrt image… found at 0xbf022000 Decompressing kernel… done! Starting kernel at 80060000…
………………
………………
………………

Полный процесс загрузки Planet WNRT-617v1 с OpenWrt прошивкой squashfs-factory

После успешной прошивки мы получаем рабочий роутер с выключеным web-интерфейсом. Поэтому зайти в настройки через браузер уже не получиться. Дальнейшие действия таковы:

В терминале Набираем команду: И два раза пишем новый пароль для пользователя root.

root@openwrt:~$ passwd
Changing password for root
New password: ******
Retype password: ******
Password for root changed by root
root@openwrt:~$

OpenWrt System Default
Любое свежеустановленное OpenWrt начнется с этих значений по умолчанию:
• Внутренний интерфейс lan и беспроводной интерфейс / интерфейсы wlan0 / wlan1 соединены между собой в br-lan
• Wi-Fi отключен
• IP-адрес внутреннего интерфейса / моста устройства OpenWrt — 192.168.1.1/24
• работает dnsmasq; он выделяет IP-адреса в диапазоне от 192.168.1.100 до .250 на внутреннем интерфейсе для подключенных хостов
• dropbear не принимает соединения (релизы до Chaos Calmer 15.05 и сборки соединительных линий до r46809)
• Демон telnet работает на стандартном порту 23 (выпуски до Chaos Calmer 15.05 и сборки соединительных линий до r46809)
• Демон ssh запущен на стандартном порту 22 (строковые сборки после r46809)

uci set network.wan.proto=static
uci get network.wan.proto
uci set network.wan.ipaddr=192.168.0.88
uci set network.wan.netmask=255.255.255.0
uci set network.wan.gateway=192.168.0.1
uci set network.wan.dns=8.8.8.8
uci commit
/etc/init.d/network restart

root@OpenWrt:/# uci -P/var/state show network.wan
network.wan=interface
network.wan.ifname='eth1'
network.wan.proto='static'
network.wan.ipaddr='192.168.0.88'
network.wan.netmask='255.255.255.0'
network.wan.gateway='192.168.0.1'
network.wan.dns='8.8.8.8'
network.wan.up='1'
network.wan.device='eth1'

Открываем WinSCP, выбираем SCP протокол, адрес 192.168.0.88 порт 22, User name: root, Password тот который задали раннее, жмём «Login».

На все смутные вопросы отвечаем да и видим окошко с файлами на вашем компьютере и на роутере. Далее берем вторую часть прошивки openwrt-15.05-ar71xx-generic-tl-wr841nd-v7-squashfs-sysupgrade.bin (та которая sysupgrade), и забрасываем её на роутер в папку /tmp. Закрываем программу.
В терминале набираем команду: root@OpenWrt:/# sysupgrade -n /tmp/openwrt-ar71xx-generic-tl-wr841nd-v7-squashfs-sysupgrade.bin
Процесс обновления прошивки
root@OpenWrt:/# sysupgrade -n /tmp/openwrt-ar71xx-generic-tl-wr841nd-v7-squashfs-sysupgrade.bin
killall: watchdog: no process killed
Sending TERM to remaining processes ... ubusd logd netifd odhcpd uhttpd ntpd dnsmasq
Sending KILL to remaining processes ...
Switching to ramdisk...
Performing system upgrade...
Unlocking firmware ...
Writing from to firmware ..

Полный процесс загрузки Planet WNRT-617v1 с OpenWrt прошивкой sysupgrade


Выключаем роутер, включаем роутер.
По адресу 192.168.1.1 вам доступен web-интерфейс LuCI. Заходим под пользователем root и паролем, который задали раннее для root.

Если в сборке вашей прошивки нет WebUI (Web user interface — пользовательский web-интерфейс) вы можете очень просто инсталлировать его следуя этому

  • opkg update
  • opkg install luci
  • /etc/init.d/uhttpd start
  • /etc/init.d/uhttpd enable
Если пока все OK неплохо сохранить свою флэш к себе на ПК.

backup u-boot:
cat /dev/mtd0 > /tmp/backup_u-boot.bin
backup art:
cat /dev/mtd4 > /tmp/backup_art.bin
backup firmware с вашими установками:
cat /dev/mtd5 > /tmp/backup_firmware.bin
Эту прошивку можно прошивать MTD методом!
Ну и наконец полный backup флэш:
cat /dev/mtd0 > /tmp/backup_fullflash.bin
cat /dev/mtd5 >> /tmp/backup_fullflash.bin
cat /dev/mtd4 >> /tmp/backup_fullflash.bin

затем скопировать бинарный файл backup_fullflash.bin из каталога /tmp на маршрутизаторе в компьютер через WinSCP.

Файл backup_fullflash.bin — это ваша родная флэшь память т.е. со своим МАС адресом и проч. настройками им можно восстановить флэш  через программатор.

Добавление USB порта на роутер

Припаяйте два провода к контактам 73 и 74 на Atheros AR7240. Виводы можно подсчитать, начиная с верхнего левого угла чипа с точкой (контакт 1) и против часовой стрелки вдоль сторон. Поскольку SOC имеет 128 контактов, на каждой стороне имеется 32 контакта. Виводы 73 и 74 должны быть на правой стороне чипа, если вы смотрите к чипу правой стороной вверх. В качестве альтернативы, два вывода имеют значение 9 и 10 при подсчете от нижней части чипа.Контакт 73/9 — D-, а контакт 74/10 — D +. Как только оба провода будут спаяны, нанесите горячий клей на плату, чтобы они не обрывались.

Добавление USB порта

После того, как вы припаяли два провода и проверили свою работу, используйте резистор 15 кОм, чтобы вытягивать линии  D + и D- на низком уровне.Вам нужно зацепить один конец резистора к GND, а другой конец — к одной из линий. Сделайте это для каждой лини D + и D-.

Затем подключите две линии к гнезду USB типа A. + 5В (красный) может быть подключен к выходу LV7805 (Вход LV7805 к  разъему 9В маршрутизатора), а GND (черный) можно подключить на любой незанятой GND-плате на плате. D-, вероятно, будет белого цвета и D + зеленый на разъеме USB-разъема.

Программного обеспечения

Проверьте → Базовая поддержка USB и → USB Хранилище или просто создайте собственную прошивку — всем уже интегрированным:
Образ OpenWrt Chaos Calmer 15.05 уже содержит в себе LuCI (web-интерфейс). Из-за чего не остается свободного места для установки модулей, необходимых для организации extroot (Корневая файловая система на внешнем устройстве). Если Вы планируете использовать extroot для расширения внутренней памяти, Вам необходимо воспользоваться Image Builder для создания облегченного образа OpenWrt, с последующей доустановкой необходимых пакетов посредством opkg.

Кстати, попытки снести какие-либо из пакетов, присутствующих в прошивке приведут к уменьшению свободного места – так как пакеты останутся там же, где и были, плюс создастся оверлейная копия файлов настроек и прочих вещей, затронутых удалением.