Нетобзор - форум про интернет

Пожалуйста, войдите или зарегистрируйтесь.


Расширенный поиск  

Автор Тема: Восстановление прошивки роутера Archer C20 через COM порт  (Прочитано 1284 раз)

0 Пользователей и 1 Гость просматривают эту тему.

testАвтор темы

  • Модератор форума
  • *
  • Благодарность: +224/-0
  • Оффлайн Оффлайн
  • Сообщений: 1220
  • Об888ббЧ95

Впервые в мире! Только от меня!
Ну или если кто найдет инфы хоть пачечку - тот получит ...качечку)))...

Роутер Archer C20 сделан на:
1. Центральный проц (плюс вайфай 2,4 ГГц) - Mediatek MT7620A.
2. Wi-Fi 5 ГГц - Mediatek MT7610EN.
3. Флешка на 8М - Winbond 25Q64FVSIG.
4. Оперативка на 64М - Zentel A3R12E40CBF-8E.

COM порт расположен слева от оперативки на этом рисунке.



Не удивляйтесь). Это рисунок из темы Отвал оперативки в роутерах Archer C20 и Archer C9. Поэтому сама оперативка несколько изгажена)...

Используем только три нижних пина, начиная от GND. Верхний квадратный с питанием нам не нужен.

Для работоспособности самого COM порта с обратной стороны платы под ним распаиваем перемычки R600 и R601.

В свойствах сетевой карты компа выставляем 192.168.0.100

Подключаем к роутеру COM кабель и сетевой кабель, нажимаем кнопку питания и клавишу "4" на клавиатуре.

Попадаем в загрузчик.

U-Boot 1.1.3 (Sep  9 2014 - 17:29:44)

Board: Ralink APSoC DRAM:  64 MB
relocate_code Pointer at: 83fb0000
enable ephy clock...done. rf reg 29 = 5
SSC disabled.
------------------
Archer C20 v1.0.0
------------------
spi_wait_nsec: 29
spi device id: ef 40 17 0 0 (40170000)
find flash: W25Q64BV
============================================
Ralink UBoot Version: 4.1.2.0
--------------------------------------------
ASIC 7620_MP (Port5<->None)
DRAM component: 512 Mbits DDR, width 16
DRAM bus: 16 bit
Total memory: 64 MBytes
Flash component: SPI Flash
Date:Sep  9 2014  Time:17:29:44
============================================
icache: sets:512, ways:4, linesz:32 ,total:65536
dcache: sets:256, ways:4, linesz:32 ,total:32768

 ##### The CPU freq = 580 MHZ ####
 estimate memory size =64 Mbytes
 0
TODO, Read MAC Address from Flash

switch BootType:
rt_rtl8367_init(1363):Begin
rt_rtl8367_init(1376):MT7620 SMI Init ERROR

4: System Enter Boot Command Line Interface.

U-Boot 1.1.3 (Sep  9 2014 - 17:29:44)
MT7620 #

Если в командной строке набрать help - увидим список поддерживаемых команд.

MT7620 # help
?       - alias for 'help'
base    - print or set address offset
bdinfo  - print Board Info structure
bootm   - boot application image from memory
bootp   - boot image via network using BootP/TFTP protocol
coninfo - print console devices and information
cp      - memory copy
crc32   - checksum calculation
erase   - erase SPI FLASH memory
go      - start application at address 'addr'
help    - print online help
iminfo  - print header information for application image
loadb   - load binary file over serial line (kermit mode)
loop    - infinite loop on address range
md      - memory display
mdio   - Ralink PHY register R/W command !!
mm      - memory modify (auto-incrementing)
mtest   - simple RAM test
nm      - memory modify (constant address)
printenv- print environment variables
rarpboot- boot image via network using RARP/TFTP protocol
reset   - Perform RESET of the CPU
rf      - read/write rf register
rtl8367 - rtl8367 switch command
saveenv - save environment variables to persistent storage
setenv  - set environment variables
sleep   - delay execution for some time
tftpboot- boot image via network using TFTP protocol
version - print monitor version
MT7620 #

Ну а дальше все очень просто). Вернее совсем не просто, потому как мне пришлось полазить по бинарнику загрузчика для выуживания правильных данных.

Да, разделы прошивки роутера Archer C20 выглядят так.

0x000000000000-0x000000020000 : "boot"
0x000000020000-0x000000160000 : "kernel"
0x000000160000-0x0000007c0000 : "rootfs"
0x0000007c0000-0x0000007d0000 : "config"
0x0000007d0000-0x0000007e0000 : "romfile"
0x0000007e0000-0x0000007f0000 : "rom"
0x0000007f0000-0x000000800000 : "radio"


Запускаем на компе tftpd32 и копируем в папку с ним подготовленный файл с прошивкой. Я его обозвал Archer_C20v1.bin.

Дальше выполняем последовательность команд.

1. Копируем файл прошивки в роутер Archer C20.
tftpboot 0x80000000 Archer_C20v1.bin

2. Удаляем необходимый участок флешки.
erase tplink 0x00020000 0x7a0000

3. Пишем скопированную в оперативку прошивку на флешку.
cp.b 0x80000000 0x00020000 0x7a0000

4. Перегружаем роутер.
bootm
И убеждаемся, что все работает))).

MAC адрес и PIN код роутера лежат в файле config. Если его вытереть, например, в названии вайфай сети будет FFFF вместо последних байт мак-а.
В качестве примера покажу лог восстановления этого файла config.

MT7620 # tftpboot 0x80000000 Archer_C20v1_config.bin

 netboot_common, argc= 3

 NetTxPacket = 0x83FE57C0

 KSEG1ADDR(NetTxPacket) = 0xA3FE57C0

 NetLoop,call eth_halt !

 NetLoop,call eth_init !
Trying Eth0 (10/100-M)

 Waitting for RX_DMA_BUSY status Start... done


 ETH_STATE_ACTIVE!!
TFTP from server 192.168.0.100; our IP address is 192.168.0.1
Filename 'Archer_C20v1_config.bin'.

 TIMEOUT_COUNT=10,Load address: 0x80000000
Loading: Got ARP REPLY, set server/gtwy eth addr (00:00:00:00:00:01)
Got it
#############
done
Bytes transferred = 65536 (10000 hex)
NetBootFileXferSize= 00010000
MT7620 # erase tplink 0x007c0000 0x10000

 Erase flash !!
From 0x7C0000 length 0x10000
raspi_erase: offs:7c0000 len:10000
.
MT7620 # cp.b 0x80000000 0x007c0000 0x10000

 Copy 0x80000000 to 0x007C0000, count 0x10000....
raspi_write: to:7c0000 len:10000
.
MT7620 # bootm

Ну а если затрете табличку с калибровками радио - восстанавливайте раздел "radio".

Пока, наверное, и все)...

testАвтор темы

  • Модератор форума
  • *
  • Благодарность: +224/-0
  • Оффлайн Оффлайн
  • Сообщений: 1220
  • Об888ббЧ95

ну и два слова о работе роутера Archer C20 с 3G модемами.

попытался скормить ему CDMA модем Huawei UML397.

на заводской прошивке, включая последнюю, печально(...

роутер написал, что модем найден, но сам модем в инет не пошел. со всякими разными вариантами настроек.

захотел поставить OpenWrt. на сайте польской гаргульи чуток не досмотрел и впихнул файл gargoyle-1.9.0.3-ramips-ArcherC20i-squashfs-sysupgrade.bin. а это граната другой системы)... тоесть Archer C20i.
в результате роутер запустился, но по кабелю не увиделся никак. только по Wi-Fi.
Зато модем Huawei UML397 отдетектился и сразу пошел в инет.



ну и еще одна печалька - на OpenWrt радио только 2 и 4 гига. пять, к сожалению нет и врядли появится(...



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

+ Быстрый ответ