View Single Post
Old 11-04-2014, 12:08   #2
rylos
Member
 
Iscritto dal: Oct 2011
Messaggi: 205
[Thread Ufficiale] TP-Link TD-W8970v1 - Firmware OpenWRT

Ciao a tutti! Per chi fosse interessato, da circa 4 mesi sto lavorando insieme ai ragazzi di OpenWRT per far funzionare in modo corretto il nostro mitico W8970.

Questo router è un hardware potente x OpenWRT, con ADSL/VDSL:
CPU: Lantiq XWay VRX268 @500MHz
RAM: 64 MiB
Flash: 8 MiB
Switch: 4x 1000mbps
WiFi: AR9381 (onboard) b/g/n
USB: 2 x 2.0

Aprendo il router e flashando un firmware custom perdete ovviamente la garanzia della casa madre.

Premessa, se siete sul firmware originale TPLINK del 15.04.2013 o precedenti allora potete flashare direttamente da interfaccia web;
Se invece siete sull'ultimo firmware del 28.08.2013 allora dovete, come me, eseguire il primo flash con un cavo seriale; è relativamente semplice, basta saldare 3 fili, flashare e dissaldare. I flash successivi si fanno dall'interfaccia Web di OpenWRT.
(TPLINK col firmware del 28 ha cambiato il bootloader proteggendo i flash da web, per fortuna via seriale non ci sono problemi).

L'immagine è basata sugli ultimi sorgenti OpenWRT trunk, con aggiunta la lingua italiana, apportate alcune patch per il corretto funzionamento dei led (gestibili da interfaccia web); disabilitato il debug del kernel, cosi l'immagine è ottimizzata.

Cosa funziona? Tutto! :
1) Switch gigabit (con tanto di utility console per chi lo vuole riconfigurare in modo avanzato)
2) ADSL con i vari tipi di incapsulamento(con possibilità di testare vari firmware software del chip vr9, per ora io sto usando l'originale tplink per il controllo del chip) - si può variare anche l'SNR con l'utility di configurazione via console
Funziona anche la VDSL, ma non credo che a qualcuno interessi, o sbaglio?
3) Wifi, con le varie protezioni (ho testato solo WPA2) - con potenza di trasmissione regolabile fino a 20Dbm
4) Le 2 USB - Una porta USB può anche essere utilizzata per estendere il rootfs cosi potete installare tutti i pacchetti che volete (io attualmente ho installato transmission, pureftp server, un server dlna, pyload ecc ecc)
5) Busybox l'ho ricompilato con il supporto a istruzioni avanzate, compreso il comando find e supporto a mtime (cosi per chi come me usa delle webcam può gestire gli archivi usb, cercare i files "più vecchi di una data" ed eliminarli, in modo programmato - con cron)

Avere OpenWRT su questo router (8mb di flash e 64mb di ram) permette di divertirsi parecchio, vista anche la sua CPU potente da 500Mhz.

Il tutto è stabile per un utilizzo quotidiano.

Le prossime cose che voglio analizzare in dettaglio sono i vari firmware per il chip VR9 (ADSL) per vedere quello più performante (quello fornito da TP-LINK nell'immagine del 28.08 non è il più recente per VR9).

GUIDA d'installazione
Ecco il necessario: https://drive.google.com/folderview?...WM&usp=sharing

All'interno trovate 2 files:
L'immagine da flashare e
il firmware DSL del VR9 (con tutti i parametri ADSL modificabili, compreso SNR) da copiare nella cartella /lib/firmware di openwrt una volta avviato (con ssh o scp o ftp, come volete insomma)
Poi andate via ssh dentro la cartella /lib/firmware ed eseguite questo comando:
ln -s dsl_vr9_firmware_xdsl-05.04.08.00.00.06_05.04.04.04.00.01.bin vdsl.bin
(Se non fate questa operazione, l'ADSL non funzionerà).

GUIDA
{Noobs: Attenzione, leggete prima tutta la guida e vedete se fa al caso vostro, se avete lo conoscenze necessarie per seguirla / non mi prendo nessuna responsabilità, agite per vostra scelta }

Elenco del materiale necessario per programmare via seriale: (editerò questo post con aggiornamenti).

1) TPLINK TD-W8970 (ovviamente )
2) Un cavo usb->seriale CA-42 (quelli dei nokia vecchi) [costano circa 6€]
3) Windows (per questa guida) chi usa linux dovrebbe essere in grado da solo
4) Putty.exe Link
5) Tftpd 64bit o 32bit come preferite Link
6) I 2 files del firmware Link
7) WinSCP

Ora il cavo CA-42 dovrebbe avere 3 fili, GND RX e TX: prima di tagliare il connettore identificate i 3 fili e segnateveli aiutandovi con questa guida: Link

Saldate i 3 fili sulle rispettive piazzole seriali GND RX e TX come indicato qui: Link guardate la foto seriale zona J7 (c'è anche il 3.3volt ma non serve).

Annotate la porta seriale che vi assegna windows quando collegate il cavo (nel mio caso è COM5).

Settate la scheda di rete su ip statico 192.168.1.100 mask 255.255.255.0 (gateway e dns lasciateli pure vuoti).

Aprite putty, scegliete SERIAL e scrivete la porta (nel mio caso COM5), come velocità mettete 115200.

Il router deve essere spento e collegato con cavo di rete al PC e col cavo seriale collegato.

In putty aprite la connessione e avrete una schermata nera.
Ora accendete il router...se avete saldato bene vedrete in putty tutto il log del boot di linux...se è cosi, perfetto: spegnete il router.

Riaccendete il router e premete di continuo il tasto "t" sulla tastiera.

Vedrete che avrete interrotto il boot, vi trovate nella console UBOOT del router, date invio e vi darà errore per via delle "t" che avete scritto...ora siete al prompt.

Avviate tftpd come amministratori e settatelo in ascolto sull'IP 192.168.1.100 e la cartella condivisa deve contenere il mio firmware.

Ora in putty scrivete:
tftpboot 0x80800000 openwrt-lantiq-xrx200-TDW8970-sysupgrade_vXXX.image
il nome del file potrebbe essere diverso (in base alla versione).

Se tutto va bene vedete dei ######### e vi dice che lo ha trasferito.
A questo punto scrivete:
sf erase 0x20000 0x7a0000 + invio
questo cancella kernel e rootfs (non vi preoccupate, il boot è intatto, occhio a non sbagliare i numeri!)

poi scrivete:
sf write 0x80800000 0x20000 0x680004

Questo scrive il firmware. Una volta finito spegnete il router da tastino e riaccendetelo. Vedrete il boot di OpenWRT. Aspettate, il primo boot è luuuuungo. Dopo qualche minuto provate dal browser ad aprire 192.168.1.1 se appare la web interface di OpenWRT siete a posto! Settate subito la password.

Una volta settata la password, aprite WinSCP e create una nuova connessione sul vostro router 192.168.1.1 utente:root password: la vostra
Copiate nel percorso /lib/firmware il file dsl_vr9_firmware_xdsl-05.04.08.00.00.06_05.04.04.04.00.01.bin e rinominatelo in vdsl.bin

Riavviate (o col tastino o da web openwrt). E' tutto pronto.
Benvenuti in OpenWRT

Licenza Creative Commons
Il contenuto di questo post è rilasciato con licenza
Creative Commons Attribution-Noncommercial-Share Alike 2.5

Ultima modifica di rylos : 13-06-2014 alle 14:21.
rylos è offline   Rispondi citando il messaggio o parte di esso