TP-LINK TD-W8970 V1.2 bricked


(ggkbb) #1

Witam,
Jestem posiadaczem TD-W8970 V1.2 od wczoraj. Wszystko działało ok, jednak zaktualizowalem firmware do najnowszego ze strony TP-link.
TD-W8970_V1_140613
Co ciekawe w routerze zainstalowany był nowszy soft, jednak niedostępny na oficjalnej stronie. (14.09.19)
Z tego co wyczytałem nie powinno być problemów z aktualizacją, natomiast po upgradzie router nie wstał. Świeci się tylko power a po czasie migną wszystkie ledy i tak w kółko. Firmware wgrywałem przez WIFI wbrew zaleceniom.
Moje pytanie brzmi - co mogę z tym teraz zrobić, jakie mam możliwości? Czy router ma opcje recovery? Czy musze się łączyć po serialu?
Jeśli tak jaki dokładnie moduł zakupić?
Dziękuję i pozdrawiam.


(Heinz) #2
  1. Najlepiej zanieś go do sklepu i wymień na gwarancji.
  2. Nie ma recovery
  3. Tak. Serial + LAN

Inaczej to szukaj modułu USB-TTL np na CP2102 lub na CH340


(ggkbb) #3

Dzięki.
Kupiłem http://allegro.pl/cp2102-usb-uart-konwerter-rs232-arduino-i6140441564.html
Kable mam lutować bezpośrednio do płytki routera?
I czy firmware tplinka mam wgrywac tak samo jak np Openwrt?
Czy najpierw openwrt a potem z gui tplinka?


(Heinz) #4

Najlepiej jest wlutować goldpiny . Zawsze w razie awarii można łatwo podłączyć interfejs.

Dokładnie tak samo.
Możesz od razu wgrać fabryczne firmware


(ggkbb) #5

Witam,

TFTP from server 192.168.1.100; our IP address is 192.168.1.1
Filename 'tplink.bin'.
Load address: 0x80800000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ##################################
done
Bytes transferred = 8126976 (7c0200 hex)
VR9 # sf erase '0x20000' '0x7a0000'
...
Successfully erased 7995392 bytes @ 0x20000
VR9 # sf write '0x80800000' '0x20000' '0x7c0200'
...
Successfully programmed 8126976 bytes @ 0x20000
VR9 #reset
Hit any key to stop autoboot:  0
8192 KiB W25Q64 at 0:3 is now current device
8192 KiB W25Q64 at 0:3 is now current device
        Uncompressing ... LZMA: uncompress or overwrite error 1 - must RESET board to recover

wlutowalem goldpiny i uruchomilem usb2serial.
wgrałem TD-W8970v1_0.6.0_2.8_up_boot(130828)_2013-08-28_10.41.41.bin
bajtów: 8 126 976

prawdopodobnie wgrałem za duży firmware z bootloaderem?
zamiast TD-W8970v1_0.6.0_2.1_up(130415).bin bez booatloadera?
czy da sie to jeszcze odratowac?


(Heinz) #6

Ten router w zasadzie można bez wylutowania flasha postawić nawet jak mu bootloader nadpiszesz.
Tutaj:

Możesz pobrać firmware które przywraca fabryczny soft z openwrt ale można go także wgrać przez bootloader.


(ggkbb) #7

Witam, dzięki za odpowiedź i sugestie.
Sciągnąłem restore_kernel_rootfs_org.bin.
Wgrałem wgetem z lokalnego ftp do /tmp

sysupgrade -F -n restore_kernel_rootfs_org.bin

lecz router nie wstaje.
którym sposobem najpewniej wgrac orginalny soft?


(ggkbb) #8

wgrałem ponownie poprzez:

tftpboot '0x80800000' 'restore_kernel_rootfs_org.bin'
sf erase 0x20000 0x7a0000
sf write 0x80800000 0x20000 0x7a0000
reset

po restarcie:

...
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
CPU 0 Unable to handle kernel paging request at virtual address c002dea4, epc == 80124b9c, ra == 80124b38
Oops[#1]:
Cpu 0
$ 0   : 00000000 00000000 c002dea4 fffe9dd0
$ 4   : 00020000 00009dd0 fffe0000 c000e677
$ 8   : 81074340 80398360 00000041 7e65e512
$12   : 00000001 838e6f80 838f7200 000014dd
$16   : 00000003 00000000 000e9dcf 00009c74
$20   : c01df644 0000000a 83a97b04 c002e000
$24   : 00000000 80022a00
$28   : 83a96000 83a97ad8 000e9dd0 80124b38
Hi    : 00000001
Lo    : 0642ac00
epc   : 80124b9c unlzma+0xf04/0x105c
    Not tainted
ra    : 80124b38 unlzma+0xea0/0x105c
Status: 1100fc03    KERNEL EXL IE
Cause : 00800008
BadVA : c002dea4
PrId  : 00019556 (MIPS 34Kc)
Modules linked in: scsi_wait_scan usb_storage usbcore sd_mod scsi_mod
Process insmod (pid: 223, threadinfo=83a96000, task=83841638, tls=00000000)
Stack : 00000002 800aebbc 00010000 803cff20 00000003 00000027 0000001f 6d000200
        00000000 00000200 008962a0 80123b10 c000e67a c000c000 c0012df0 00006df0
        0176cf06 02a859e8 027f1a40 8000c9b8 000003a8 00000160 00002f40 00000000
        c000c000 c01df000 00000003 00000003 00000001 c01df644 c01dfa68 c01df664
        00000007 803cff20 83a97af0 83a97aec 803e0000 83a09870 00000000 00000000
        ...
Call Trace:
[<80124b9c>] unlzma+0xf04/0x105c
[<800da82c>] lzma_uncompress+0x180/0x320
[<800d6860>] squashfs_read_data+0x494/0x738
[<800d71e8>] squashfs_cache_get+0x1bc/0x2f0
[<800d81cc>] squashfs_readpage+0x5c0/0x9c0
[<80068540>] __do_page_cache_readahead+0x21c/0x284
[<800685d0>] ra_submit+0x28/0x34
[<80068bb0>] page_cache_sync_readahead+0x5c/0x68
[<80060e24>] generic_file_aio_read+0x28c/0x878
[<80086b48>] do_sync_read+0xd4/0x13c
[<80087908>] sys_read+0x58/0xa0
[<800041a4>] stack_done+0x20/0x3c

Code: 1440fffb  02651023  02e21021 <90520000> 02f31821  26730001  08049302  a0720000  027e1823
Disabling lock debugging due to kernel taint
Segmentation fault

(Heinz) #9

Na openwrt działał normalnie?


(ggkbb) #10

no nie zupełnie.
udało mi się wgrać luci-15.05-lantiq-xrx200-TDW8970-sysupgrade.image i zalogowałem się do luci ale nie bylo w panelu WIFI.

potem probowalem wgrywac factory firmware i sie sypały błędy.
teraz chciałem wrócić do luci-15.05-lantiq-xrx200-TDW8970-sysupgrade.image, działa ale nie moge wejść do panelu (bad gateway)

sypie różnymi błędami a'la kernel panic segmentation fault czy

[   98.272000] SQUASHFS error: squashfs_read_data failed to read block 0x2b5f3a
[   98.276000] SQUASHFS error: Unable to read fragment cache entry [2b5f3a]
[   98.284000] SQUASHFS error: Unable to read page, block 2b5f3a, size 1a158

czy wgranie i nadpisanie 8126976 (7c0200 hex)
zamiast 7995392 (7a0000 hex)
może mieć takie konsekwencje? być może nie nadpisałem bootloadera a inną partycję?


(Heinz) #11

Najprawdopodobniej uszkodziłeś partycję ART przez co nie startuje wifi.
Kolejna sprawa to możliwe uszkodzone "bloki" w pamięci flash.
Spróbuj pobrać zawartość partycji "config" oraz "board config"
W terminalu wpisz polecenia:

cat /dev/mtd4 > /tmp/mtd4.bin
cat /dev/mtd5 > /tmp/mtd5.bin

Teraz przekopiuj te pliki na pendrive lub przez scp do komputera.
Skoro masz już ich kopie to teraz możesz spróbować wgrać pliki z mojego routera:
pobierz, wypakuj i udostępnij w tftpd plik z załącznika. Wgraj do pamięci flash przez bootloader używając poleceń:

tftpboot '0x80800000' 'mtd4.bin'
sf erase 0x7c0000 0x10000
sf write 0x80800000 0x7c0000 0x10000

oraz

tftpboot '0x80800000' 'mtd5.bin'
sf erase 0x7d0000 0x30000
sf write 0x80800000 0x7d0000 0x30000

(ggkbb) #12

nie bardzo wiedzialem jak podmontowac usb wiec poszlo bez backupu ;D
zrobiłem jak nakazałeś, zrestartowałem, wszystko hula już bez zadnych błędów.
bardzo dziękuję i prosze o numer konta na podziękowania.
jak rozumiem powinno teraz zadziałać wgranie firmwareu orginalnego:

sysupgrade -F -n restore_kernel_rootfs_org.bin

tftpboot '0x80800000' 'restore_kernel_rootfs_org.bin'
sf erase 0x20000 0x7a0000
sf write 0x80800000 0x20000 0x7a0000
reset

czy te metody są równorzędne?
czy wgranie przez www/luci tez jest możliwe i równorzędne z powyższymi?


(Heinz) #13

Dokładnie wszystko jest to samo.


#14

A ja sie wlasnie na tym forum chciałem dowiedzieć, jak aktualizować sobie firmware tego rutera z 130828 na 140613. Dobrze że nawet nie zacząłem.
Dzieki koledzy za tego posta bo z moimi umiejetnościami to ruterek wyladowałby obok innego szmelcu w piwnicy !!