TD-W8970 / TD-W8980
Guida al flash di openwrt su router Tp-Link TD-W8970 e TD-W8980
I due router, prodotti da Tp-Link sono praticamente identici, l’unica differenza è che il 8980 ha anche il wifi a 5Ghz, mentre il 8970 non lo ha.
In ogni caso, per questioni dovute a driver proprietari, dopo il flash di openwrt non sarà possibile sfruttare la banda a 5Ghz!
Per procedere con la modifica, e’ assolutamente necessario avere un adattatore seriale-usb da connettere alla board durante l’operazione.
IMPORTANTE: Prima di procedere con la guida, è necessario scollegare il cavo del telefono.
NOTA: La procedura viene eseguita su linux.
DISCLAIMER: Non mi ritengo responsabile per eventuali router brickati, pertando è consigliabile seguire alla lettera la guida e leggerla tutta prima di procedere.
Inzio della guida:
-
Smontare il Router svitando le quattro viti presenti nella parte inferiore e forzarne l’apertura usando un plettro o qualcosa del genere, partendo dai lati. Forzando un pò l’unità dovrebbe aprirsi, e non dovrebbe rompersi nessun gancetto in plastica. In ogni caso, anche se dovessero rompersi le 4 viti tengono tutto compatto.
-
I connettori nella uart vanno stagnati nei 3 punti RX, TX e GND, come indicato in foto: Nella foto a destra il TD-W8970, in quella a sinistra il TD-W8980!
-
Connettere l’adattatore seriale-usb al pc e al modem, e usando screen leggere l’output con:
sudo screen /dev/ttyNOMEDEVICE 115200 8N1
-
Avviare il router in modalità bootloader:
-Avviare il router dal pulsante nero posteriore, nella shell dovrebbero comparire delle scritte. Se non compare nulla, probabilmente avete sbagliato a connettere i pin del modem all’adattatore seriale, provate ad invertirli.
-Premeret
finche si arriva ad una shell - Assegnare un Ip statico al pc, utilizzando questi parametri:
-Ip Addr: 192.168.1.2 -Netmask: 255.255.255.0 -Gateway: 192.168.1.1
- Digitare questi comandi nella shell seriale del router
setenv ipaddr 192.168.1.1 setenv serverip 192.168.1.2
-
Connettere il pc al router con un cavo ethernet
-
Scaricare l’immagine corretta per il proprio dispositivo:
TD-W8970
TD-W8980
Qui carico le due immagini di OpenWrt 18.06.2 separate per i due dispositivi. In ogni caso sono scaricabili dal sito di OpenWrt, scegliendo il targetlantiq/xrx200
! -
Sul pc va avviato dnsmasq nel seguente modo:
sudo dnsmasq -d --enable-tftp --tftp-root=*sostituire/con/il/percorso/immagine/openwrt
- Dare in sequenza questi comandi sulla shell del modem, accertandosi di non commettere errori nel trascrivere gli zeri ( pena il brick ):
tftpboot 0x80800000 firmware-name.bin sf erase 0x20000 0x7a0000 sf write 0x80800000 0x20000 0x$(filesize)
NOTA: firmware-name nel primo comando è il nome del firmware, va quindi modificato in base al nome del firmware scaricato. Tra un comando e l’altro accertarsi che tutto venga eseguito con successo e non ci siano errori!
Se dopo l’ultimo comando la shell riporta:Successfully programmed X bytes @ 0x20000
( X è un numero che varia in base alla dimensione del file caricato ),
dare l’ultimo comando :reset
che riavvierà il modem. Dovrebbe caricare OpenWrt! Carico qui sotto il log del mio caricamento oscurando con X i vari dati personali come il mac address:
VR9 # setenv ipaddr 192.168.1.1
VR9 # setenv serverip 192.168.1.2
VR9 # tftpboot 0x80800000 wrt.bin
8192 KiB W25Q64 at 0:3 is now current device
MAC: XX-XX-XX-XX-XX-XX
Using vr9 Switch device
TFTP from server 192.168.1.2; our IP address is 192.168.1.1
Filename 'wrt.bin'.
Load address: 0x80800000
Loading: #################################################################
#################################################################
#################################################################
#################################################################
#################################################################
###################
done
Bytes transferred = 5046461 (4d00bd hex)
VR9 # sf erase 0x20000 0x7a0000
Erasing SPI flash...
..........................................................................................................................
Successfully erased 7995392 bytes @ 0x20000
Done
VR9 # sf write 0x80800000 0x20000 0x$(filesize)
.............................................................................
Successfully programmed 5046461 bytes @ 0x20000
VR9 # reset
Dopo il riavvio del modem, sempre sulla seriale, premendo invio compare:
BusyBox v1.28.4 () built-in shell (ash)
_______ ________ __
| |.-----.-----.-----.| | | |.----.| |_
| - || _ | -__| || | | || _|| _|
|_______|| __|_____|__|__||________||__| |____|
|__| W I R E L E S S F R E E D O M
-----------------------------------------------------
OpenWrt 18.06.2, r7676-cddd7b4c77
-----------------------------------------------------
=== WARNING! =====================================
There is no root password defined on this device!
Use the "passwd" command to set up a new password
in order to prevent unauthorized SSH logins.
--------------------------------------------------
root@OpenWrt:/#
Ora puoi togliere l’IP statico, spegnere dnsmasq e staccare l’adattatore seriale.
L’interfaccia Web di OpenWrt la trovia all’indirizzo 192.168.1.1
NOTA:Per la configurazione della parte ADSL/VDSL, va caricato uno dei firmware che si trovano nel repo di xdarlight: REPO
Va scaricato il firmware ( i più nuovi sono i migliori), va estratto come indicato nel sito, e caricato sul modem usando prima scp:
scp dslfirmware.bin root@192.168.1.1:/lib/firmware/dslfirmware.bin
Poi entrando nella webui, sotto network/interfaces, in Firmware File va inserito il percorso del file ( in questo caso /lib/firmware/dslfirmware.bin) .
In italia, per l’ADSL va scaricato il firmware Annex A, mentre per la vdsl vanno bene tutti quelli che indicano VDSL over ISDN
Se sono presenti quelli col supporto al vectoring, è preferibile scaricare quelli.
Fine