вторник, 23 июня 2015 г.

Twrt triolan rt5350 - make zyxel or openwrt router tWRT-121

По чистой случайности попали мне в руки вот такие платы:


По чипу (RT5350) , памяти и флешке - а также ethernet портам WAN и LAN, стало ясно
что это WIFI устройсво, специфически запитанное по POE.


Найдя на плате нераспаянный USB и UART (ближе к LAN порту) - запитытываем девайс +5V от USB блока питания. (или от  UART токже +5V)

Распиновка на фото : красный +5, черный - земля, зеленый и белый RX и TX


Можно также запитать от любого
инжектора по схеме  Passive PoE :

1 Tx+ Tx+ 1
2 Tx− Tx− 2
3 Rx+ Rx+ 3
4 V+ — 4
5 V+ — 5
6 Rx− Rx− 6
7 V− — 7
8 V− — 8

Устройсво не имеет веб-интерфейса, на WAN порту настроен DHCP клиент, а на LAN
порту DHCP сервер с сетью 192.168.1.0/24. Можно попробовать подключится к 192.168.1.1
по ssh, но со стандартными паролями не попасть.

Что ж,  ломать прошивку пока не будем, тем более нужного функционала там скорее всего нет. А Вот залить альтернативную прошивку можно. Подключившись к устройству по UARТ
(57600 8N1), видим довольно удобный загрузчик U-Boot, который позволяет сменить прошивку через tftp.




Вывод UART:
------------------------------------------------------------------------------------------------
U-Boot 1.1.3 (Jul  5 2012 - 13:54:27)

Board: Ralink APSoC DRAM:  32 MB
relocate_code Pointer at: 81fb4000
spi_wait_nsec: 42 
spi device id: c2 20 16 c2 20 (2016c220)
find flash: MX25L3205D
raspi_read: from:30000 len:1000 
.*** Warning - bad CRC, using default environment

============================================ 
Ralink UBoot Version: 3.6.0.0
-------------------------------------------- 
ASIC 5350_MP (Port5<->None)
DRAM_CONF_FROM: Boot-Strapping 
DRAM_TYPE: SDRAM 
DRAM_SIZE: 256 Mbits
DRAM_WIDTH: 16 bits
DRAM_TOTAL_WIDTH: 16 bits
TOTAL_MEMORY_SIZE: 32 MBytes
Flash component: SPI Flash
Date:Jul  5 2012  Time:13:54:27
============================================ 
icache: sets:256, ways:4, linesz:32 ,total:32768
dcache: sets:128, ways:4, linesz:32 ,total:16384 

 ##### The CPU freq = 360 MHZ #### 
 estimate memory size =32 Mbytes

--------------------------------------------------------------------------------------------------------------

В теории нам подойдет прошивка от любого устройства, реализованого на soc RT5350,
Но на практике, не всем прошивкам хватает 4Mb SPI flash,  они либо не грузятся, либо не сохраняют настройки после перезагрузки.

На этом чипе очень распостранен 3G роутер Hame-a15. Например здесь, предлагают воспользоватся прошивкой от Zyxel

http://mysku.ru/blog/aliexpress/26886.html

Сама прошивка здесь:
http://zyxel.ua/sites/default/download/Keenetic_4G_II/firmware/KEENETIC_4G_II_v2.04%5BAAKW.1%5DC6.zip

Можно собрать самому прошивку OpenWrt
http://tuxotronic.org/wiki/openwrt/rt5350/build-firmware

Ища инфe по сборке прошивки для RT5350, я наткнулся на обзоры популярного китайского роутера NEXX 1520 на том же чипе.

http://habrahabr.ru/post/238713/

Данное устройсво идентично по функционалу нашему, исключая POE.



Используем готовую прошивку от него. Ищем версию 4Mb и качаем 2 файла.

https://downloads.openwrt.org/chaos_calmer/15.05-rc1/ramips/rt305x/openwrt-15.05-rc1-ramips-rt305x-wt1520-4M-initramfs-uImage.bin

https://downloads.openwrt.org/chaos_calmer/15.05-rc1/ramips/rt305x/openwrt-15.05-rc1-ramips-rt305x-wt1520-4M-squashfs-sysupgrade.bin

Прошивка обладает богатым функционалом, и веб интерфейсом LUCI

Кстати флешку SPI можно заменить на 8Mb и больше. В таком случае есть версии прошивок для 8Мб.

Очень вероятно, что RAM 32Mb можно успешно заменить на 64Mb, достаточно заменить микросхему на совместимую SDRAM.

Замена флеша на 8Мб
http://cyber-place.ru/showpost.php?p=3157&postcount=25

Итак прошиваем роутер.

1) Для прошивки нам понадобится tftp server. Инструкция по установке

http://debuggertools.blogspot.com/2014/12/we-need-tftp-server.html

2) Выкладываем оба файла в папку тфтп.

3) Дергаем UART +5V или USB питание - и жмем 2 для прошивки по тфтп
------------------------------------------------------------------------------------------------
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.
   7: Load Boot Loader code then write to Flash via Serial. 
   9: Load Boot Loader code then write to Flash via TFTP. 

You choosed 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)
------------------------------------------------------------------------------------------------
4) Роутер подключаем LAN(!) портом к компьютеру, с запущеным тфтп, указываем
ip устройсва и сервера, а также имя первого файла
openwrt-15.05-rc1-ramips-rt305x-wt1520-4M-initramfs-uImage.bin

5) После прошивки и загрузки увидим консоль OpenWrt:

-----------------------------------------------------------------
BusyBox v1.23.2 (2015-04-24 13:19:02 CEST) built-in shell (ash)
  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 CHAOS CALMER (15.05-rc1, r45695)
 -----------------------------------------------------
  * 1 1/2 oz Gin            Shake with a glassful
  * 1/4 oz Triple Sec       of broken ice and pour
  * 3/4 oz Lime Juice       unstrained into a goblet.
  * 1 1/2 oz Orange Juice
  * 1 tsp. Grenadine Syrup
 -----------------------------------------------------

6) Роутер уже может работать, но еще не "видит" флешку.

root@OpenWrt:/# df -h
Filesystem                Size      Used Available Use% Mounted on
tmpfs                    14.2M     52.0K     14.1M   0% /tmp
tmpfs                   512.0K         0    512.0K   0% /dev

7) Для прошивки второй части прошивки - я поднял веб сервер apache, DHCP, выложил файл и переключил роутер WAN портом.

На роутере делаем

root@OpenWrt:/ cd /tmp

root@OpenWrt:/tmp# wget http://10.10.10.1/openwrt-15.05-rc1-ramips-rt305x-wt1520
-4M-squashfs-sysupgrade.bin

прошиваем

root@OpenWrt:/tmp# mtd write openwrt-15.05-rc1-ramips-rt305x-wt1520-4M-squashfs-
sysupgrade.bin firmware
Unlocking firmware ...
Writing from openwrt-15.05-rc1-ramips-rt305x-wt1520-4M-squashfs-sysupgrade.bin to firmware ... [w]

8) Теперь у нас есть место для настроек и установки софта
--------------------------------------------------------
root@OpenWrt:/# df -h
Filesystem                Size      Used Available Use% Mounted on
rootfs                   14.2M     48.0K     14.1M   0% /
/dev/root                 2.3M      2.3M         0 100% /rom
tmpfs                    14.2M     36.0K     14.1M   0% /tmp
tmpfs                    14.2M     48.0K     14.1M   0% /tmp/root
overlayfs:/tmp/root      14.2M     48.0K     14.1M   0% /
tmpfs                   512.0K         0    512.0K   0% /dev
-----------------
9) Отключаем UART , заходим телнетом, и меняем пароль passwd, как нам подсказывает консоль

 === IMPORTANT ============================
  Use 'passwd' to set your login password
  this will disable telnet and enable SSH
 ------------------------------------------

Телнет после єтого отключается - и можно управлять по SSH