Menu principale

DSL-2680 to TD-W8951ND V3: firmware hacking

Aperto da Alby, 17 Aprile 2011, 08:00:17

Alby

DSL-2680 to TD-W8951ND V3: firmware hacking

Attenzione che allo stato il passaggio è irreversibile!


In questo thread vedremo come installare nel nostro modem router DSL-2680 A1 il firmware del modem router TP-Link TD-W8951ND V3.
Come prima cosa scarichiamo e salviamo nel nostro PC il firmware TD-W8951ND_V3_101222.
Poi entriamo nell'interfaccia del DSL-2680 e effettuiamo il backup delle impostazioni del firmware proprie del nostro firmware originale. A questo punto possiamo procedere all'aggiornamento con il nuovo firmware del TD-W8951ND ritrovandoci alla fine con questo risultato:



Sebbene le precedenti impostazioni di configurazione del firmware D-Link siano rimaste completamente immutate e funzionanti, consiglio di effettuare un reset alle impostazioni di fabbrica e riconfigurare il tutto direttamente sul nuovo firmware. Un manuale completo delle funzioni del nuovo firmware è reperibile qui: Download.

Recovery to the previous version of the firmware

Attualmente il ripristino del firmware D-Link non è possibile.

bovirus

Rinomina per favore il .PNG della schermata della versione in .JPG (il file è un JPEG).

Per il downgrade prova a vedere se funziona il comando telnet

sys modelcheck off

che permette di disabilitare il controllo versione.



Alby

Questo è l'esito del comando che mi hai suggerito:

CitazionePassword: *****
Copyright (c) 2001 - 2010 TP-LINK TECHNOLOGIES CO., LTD.
TP-LINK> sys modelcheck off
old model check flag: on.
new model check flag: off.
product/customer/version number: 89511/9418/0

TP-LINK>
 newFlashSupportFlag = 1
 new FW version is 0
 new flash can not support old firmware
 newFlashSupportFlag = 1
 new FW version is 0
 new flash can not support old firmware
 newFlashSupportFlag = 1
 new FW version is 0
 new flash can not support old firmware
Wrong product firmware!!
Please upgrade the newest firmware version!!

Connessione all'host perduta.

C:\Users\Asus>

I due tentativi sono avvenuti tramite l'intefaccia web e tramite il comando telnet:

C:\Users\Asus\Downloads>tftp -i 192.168.1.1 put C:\Users\Asus\Downloads\DSL-2680
\a.bin

WinAgents TFTP Client version 1.4 Copyright (c)2004-2007 by Tandem Systems,Ltd.
http://www.winagents.com - Software for network administrators

Transfering file C:\Users\Asus\Downloads\DSL-2680\a.bin to server in octet mode.
..
File C:\Users\Asus\Downloads\DSL-2680\a.bin was transferred successfully.
1487036 bytes transfered for 2 seconds, 743518 bytes/second


Pondera

Per il ripristino bisognerebbe andare di seriale visto che praticamente il bootloader resta quello D-Link...
Sai che versione di bootloader usa il W8951ND?
La versione interna RAS di questo fw qual'è?

Ma i led poi funzionano?

Alby

Citazione di: Pondera il 17 Aprile 2011, 12:40:17Per il ripristino bisognerebbe andare di seriale visto che praticamente il bootloader resta quello D-Link...
Sai che versione di bootloader usa il W8951ND?
La versione interna RAS di questo fw qual'è?

Ma i led poi funzionano?

Il router funziona bene, salvo che una volta su 10, pur andando tutto, il led power resta spento, mentre tutti gli altri vanno. Il firmware ha una montagna di opzioni, ma la solita difficile configurabilità dei TP-Link. Tra le features ho visto al volo WDS, LAN virtuali (naturalmente per 5 porte 4 lan+wifi, ma questo ne avrebbe solo 3 quindi è da verificare la cosa), multi pvc etc.
Ho anche individuato la modalità di recovery tenendo premuto il tasto reset per 15 sec da prima di accenderlo, ma non ho trovato l'IP da impostare sulla scheda di rete del pc per il recovery e in rete dicono che funzioni solo IExplorer 7 su XP con 192.168.0.254. Tutti i led rimangono spenti, mentre lampeggia solo quello della porta ethernet 1 cui si è collegato il cavo ethernet.
In alcuni forum dicono che occorra premere la lettera a dalla console seriale, ma non ne sono convinto.

Nel mio caso il firmware viene sempre caricato, sia tramite l'interfaccia web che tramite telnet che come si vede dà sempre "upload successful", ma non passa il controllo di genuinità. Se il comando suggerito da bovirus funzionasse, forse sarebbe proprio quello più giusto.

Il bootloader dovrebbe essere il solito cfe, a quanto sembra.



Pondera

Citazione di: Pondera il 17 Aprile 2011, 12:40:17La versione interna RAS di questo fw qual'è?
Quella del fw W8951ND. Dovrebbe essere visualizzabile col comando show:
Citazione di: Pondera il 25 Marzo 2010, 08:42:49DSL-2640R | 2.11.78.0(RED.C2)3.9.4.150

2.11.78.0 -> versione del firmware (che TrendChip chiama RAS)

RED.C2 -> versione piattaforma TrendChip.revisione piattaforma TrendChip

3.9.4.150 -> versione del driver ADSL

Citazione di: Alby il 17 Aprile 2011, 14:42:24Ho anche individuato la modalità di recovery tenendo premuto il tasto reset per 15 sec da prima di accenderlo, ma non ho trovato l'IP da impostare sulla scheda di rete del pc per il recovery e in rete dicono che funzioni solo IExplorer 7 su XP con 192.168.0.254.
L'avevo individuata quella, ma non l'IP, anche se presumo funzioni solo nelle versioni TT. Cmq appena ho un po' di tempo...

Citazione di: Alby il 17 Aprile 2011, 14:42:24Il bootloader dovrebbe essere il solito cfe, a quanto sembra.
Il CFE (Common Firmware Environment) viene usato dai Broadcom ed è incluso nel file firmware. Quindi ad ogni aggiornamento si aggiorna anche il bootloader.
I TrendChip/Ralink usano il BootBase.

Alby

Citazione di: Pondera il 17 Aprile 2011, 16:35:37
Citazione di: Pondera il 17 Aprile 2011, 12:40:17La versione interna RAS di questo fw qual'è?
Quella del fw W8951ND. Dovrebbe essere visualizzabile col comando show:
Citazione di: Pondera il 25 Marzo 2010, 08:42:49DSL-2640R | 2.11.78.0(RED.C2)3.9.4.150

2.11.78.0 -> versione del firmware (che TrendChip chiama RAS)

RED.C2 -> versione piattaforma TrendChip.revisione piattaforma TrendChip

3.9.4.150 -> versione del driver ADSL

Citazione di: Alby il 17 Aprile 2011, 14:42:24Ho anche individuato la modalità di recovery tenendo premuto il tasto reset per 15 sec da prima di accenderlo, ma non ho trovato l'IP da impostare sulla scheda di rete del pc per il recovery e in rete dicono che funzioni solo IExplorer 7 su XP con 192.168.0.254.
L'avevo individuata quella, ma non l'IP, anche se presumo funzioni solo nelle versioni TT. Cmq appena ho un po' di tempo...

Citazione di: Alby il 17 Aprile 2011, 14:42:24Il bootloader dovrebbe essere il solito cfe, a quanto sembra.
Il CFE (Common Firmware Environment) viene usato dai Broadcom ed è incluso nel file firmware. Quindi ad ogni aggiornamento si aggiorna anche il bootloader.
I TrendChip/Ralink usano il BootBase.


Info:

TP-LINK> show all

 RAS version: 3.0.0 Build 101222 Rel.05090
 System   ID: $2.12.28.0(SRE9.D3)3.12.8.31 20101220_v005  [Dec 20 2010 14:58:01]
 romRasSize: 1471328
 system up time:     0:05:26 (7fb0 ticks)
 bootbase version: VTC_SPI1.6 | 2010/2/6

Hostname        = TP-LINK
Message         =
ip route mode   = Yes
bridge mode     = Yes
DHCP setting:
  DHCP Mode      = Server
  Client IP Pool Starting Address = 192.168.1.2
  Size of Client IP Pool = 100
  Primary DNS Server     = 0.0.0.0
  Secondary DNS Server   = 0.0.0.0
  DHCP server leasetime  = 259200
TCP/IP Setup:
  IP Address     = 192.168.1.1
  IP Subnet Mask = 255.255.255.0
  Rip Direction  = None
    Version      = Rip-2B
  Multicast      = IGMP-v2

RemoteNode     = 0
Rem Node Name  = Node1
Encapsulation  = RFC 1483
Multiplexing   = LLC-based
Channel active = Yes
VPI/VCI value  = 1/32
IP Routing mode= No
Bridge mode    = Yes
Remote IP Addr        = 0.0.0.0
Remote IP Subnet Mask = 0.0.0.0
IP address assignment type = Dynamic
SUA            = Yes
Multicast      = None
Default Route node            = No

RemoteNode     = 1
Rem Node Name  = Node2
Encapsulation  = RFC 1483
Multiplexing   = LLC-based
Channel active = Yes
VPI/VCI value  = 0/33
IP Routing mode= No
Bridge mode    = Yes
Remote IP Addr        = 0.0.0.0
Remote IP Subnet Mask = 0.0.0.0
IP address assignment type = Dynamic
SUA            = Yes
Multicast      = None
Default Route node            = No

RemoteNode     = 2
Rem Node Name  = Node3
Encapsulation  = RFC 1483
Multiplexing   = LLC-based
Channel active = Yes
VPI/VCI value  = 0/35
IP Routing mode= No
Bridge mode    = Yes
Remote IP Addr        = 0.0.0.0
Remote IP Subnet Mask = 0.0.0.0
IP address assignment type = Dynamic
SUA            = Yes
Multicast      = None
Default Route node            = No

RemoteNode     = 3
Rem Node Name  = Node4
Encapsulation  = RFC 1483
Multiplexing   = LLC-based
Channel active = Yes
VPI/VCI value  = 0/100
IP Routing mode= No
Bridge mode    = Yes
Remote IP Addr        = 0.0.0.0
Remote IP Subnet Mask = 0.0.0.0
IP address assignment type = Dynamic
SUA            = Yes
Multicast      = None
Default Route node            = No

RemoteNode     = 4
Rem Node Name  = Node5(ISP)
Encapsulation  = PPPoE
Multiplexing   = LLC-based
Channel active = Yes
VPI/VCI value  = 8/35
IP Routing mode= Yes
Bridge mode    = No
PPP Username   = aliceadsl

PPP Password   = aliceadsl

Service name   =
Remote IP Addr        = 0.0.0.0
Remote IP Subnet Mask = 0.0.0.0
IP address assignment type = Dynamic
SUA            = Yes
Multicast      = None
Default Route node            = Yes

RemoteNode     = 5
Rem Node Name  = Node6
Encapsulation  = RFC 1483
Multiplexing   = LLC-based
Channel active = Yes
VPI/VCI value  = 8/48
IP Routing mode= No
Bridge mode    = Yes
Remote IP Addr        = 0.0.0.0
Remote IP Subnet Mask = 0.0.0.0
IP address assignment type = Dynamic
SUA            = Yes
Multicast      = None
Default Route node            = No

RemoteNode     = 6
Rem Node Name  = Node7
Encapsulation  = RFC 1483
Multiplexing   = LLC-based
Channel active = Yes
VPI/VCI value  = 0/38
IP Routing mode= No
Bridge mode    = Yes
Remote IP Addr        = 0.0.0.0
Remote IP Subnet Mask = 0.0.0.0
IP address assignment type = Dynamic
SUA            = Yes
Multicast      = None
Default Route node            = No

RemoteNode     = 7
 
TP-LINK>




Comunque la via primaria per il downgrade dovrebbe essere quella software, dato che il firmware è perfettamente funzionante. Se il comando suggerito da bovirus non funziona, al limite potrebbe essere utile modificare il binario del firmware per farlo sembrare un tp-link.

Pondera

Citazione di: Alby il 18 Aprile 2011, 07:27:24TP-LINK> show all

 RAS version: 3.0.0 Build 101222 Rel.05090
 System   ID: $2.12.28.0(SRE9.D3)3.12.8.31 20101220_v005  [Dec 20 2010 14:58:01]
 romRasSize: 1471328
 system up time:     0:05:26 (7fb0 ticks)
 bootbase version: VTC_SPI1.6 | 2010/2/6


Interessante!

D-Link> show all

 RAS version: EU_1.03_SE
 System   ID: $2.12.16.0(SRED.D3)3.12.8.7 20100802_V001  [Aug 02 2010 11:24:00]
 romRasSize: 1487036
 system up time:     3:23:50 (12a9a3 ticks)
 bootbase version: VTC_SPI1.6 | 2010/2/6


BootBase è rimasto sempre quello!
Le versioni interne del fw e del driver ADSL non si discostano molto, non credo nemmeno le funzionalità disponibili tramite Telnet... Quindi la vera differenza sarebbe nelle funzionalità offerte tramite interfaccia web!

Pondera

Citazione di: Alby il 17 Aprile 2011, 14:42:24Ho anche individuato la modalità di recovery tenendo premuto il tasto reset per 15 sec da prima di accenderlo, ma non ho trovato l'IP da impostare sulla scheda di rete del pc per il recovery e in rete dicono che funzioni solo IExplorer 7 su XP con 192.168.0.254. Tutti i led rimangono spenti, mentre lampeggia solo quello della porta ethernet 1 cui si è collegato il cavo ethernet.
Provato! Quell'IP non va!

m4ss1

Citazione di: Pondera il 17 Aprile 2011, 12:40:17Se il comando suggerito da bovirus funzionasse, forse sarebbe proprio quello più giusto.

Funziona nel 99% dei casi :D

Alby

Ho fatto delle ulteriori prove di recovery al firmware originale con il comando "sys modelcheck off": dopo averlo dato la prima volta i due flag come nelle foto precedenti che ho messo sono il primo su on e il secondo su off. Cercando di caricare il firmware via http si ottiene il messaggio di firmware non corretto.
Dando sys modelcheck off una seconda volta entrambi i flag vengono impostati su off, ma cercando di caricare il firmware si ottiene solamente che il router sembra bloccarsi (o si blocca l'interfaccia web) senza dare errore, ma senza aggiornare il firmware. Dopo un pò ho spento.

Ho idea che il recovery sia possibile solo via seriale a sto punto.

Pondera

Forse quei comandi effettuano il controllo solo su una parte della stringa identificativa, quindi, magari, bisognerebbe operare anche sulla eventuale firma...
I due firmware non sono propriamente per due piattaforme identiche:

RED.C2 -> DSL-2640R B1
NRED.C2 -> DSL-2740R A1

SRE9.D3 -> TD-W8951ND V3
SRED.D3 -> DSL-2680 A1

Quella del DSL-2680, quindi, sarebbe la piattaforma più aggiornata...


Alby

Vabbeh, ma comunque sembra non esserci un modo agevole di ricaricare il firmware originale senza console seriale, a meno di non trovare quale sia l'IP del recovery mode che sembrerebbe esserci come ho detto più su. Ma chissà qual'è l'IP ...

piebi75

salve a tutti
sono nuovo e ho un tp-link td-w8951nd v3
vorrei sapere se è possibile fare il contrario, cio installare il firmware del ds-2680
lo chiedo perchè il firmware (tutti quelli provati per questo router) del tp-link mi risulta bacato
riesce a comunicare con un dwl900 solo se al router si imposta la modalità wireless b, se si imposta la modalità b+g oppure b+g+n non comunicano tra di loro
grazie

Pondera

In teoria si, ma non otterresti risultati visto che il DWL-900AP+ è datato ed è in standard Wireless 802.11b a 11 Mbps.
Cerca in rete, sul DWL-900AP+ ci sono numerose modifiche per aumentare il segnale e cambiargli il firmware.

piebi75

ho già provato vari firmware
comunque il dwl 900 resterebbe sembre un wifi classe b
e per quello che mi serve è più che sufficente
il problema dei firmware per il tp-link è che anche selezionando la modalità wifi b+g+n o la b+g non comunica con il dwl900, come se in queste due configurazioni la classe b non fosse attiva
se invece metto solo la classe b va tutto ok, ma il router è inutilizzabile per lo streaming
se non si può caricare il firmware del d-link dovrò trovarmi un altro access point
se invece si può caricare come devo fare? lo scarico e lo carico sul tp-link?

bovirus

Sul sito TP-Link è disponibile il firmware 20.07.2011 (italiano) e 21.07.2011 per iL W8951ND V3

Firmware 21.07.2011 (inglese) - http://www.tp-link.it/Resources/software/TD-W8951ND_V3_110721.zip

Firmware 20.07.2011 (italiano) - http://www.tp-link.it/Resources/software/TD-W8951ND_V3_110720_IT.zip

bovirus

E' possibile ricaricare il firmware originale attraverso al console seriale.

Foto della board del DSL-2680: http://img232.imageshack.us/img232/1774/dsl2680pcb.jpg

fare attenzione al pinout della console seriale

[RX] [VUOTO] [+3.3v] [GND] [TX]

Io ho usato un convertitore USB basato sul chipset CP2102 acquistato su Ebay (ho usato solo TX/RX/GND).

Ho usato le istruzioni per il recovery da bootloader

https://www.dlink-forum.it/index.php?topic=586.0

e ho ricaricato il firmware 1.00 2.12.58.8(SRED.D3)3.12.8.182 2011/01/19 prelevato dal thread DSL-2680

https://www.dlink-forum.it/index.php?topic=391.0

bovirus

Questo è il risultato della console seriale

***** Avvio del modem con blocco del processo di avvio

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


Bootbase Version: VTC_SPI1.6 | 2010/2/6 09:32:52
RAM: Size = 16384 Kbytes
DRAM POST: Testing: 15680K
OK
Found SPI Flash 2MiB Winbond W25Q16 at 0xbfc00000
SPI Flash Quad Enable
Turn off Quad Mode

RAS Version: 2.12.58.8(SRED.D3)3.12.8.182
System   ID: $2.12.58.8(SRED.D3)3.12.8.182 20120118_v003  | 2012/01/18

Press any key to enter debug mode within 3 seconds.
.........................
Enter Debug Mode
athe
======= Debug Command Listing =======
AT          just answer OK
ATHE          print help
ATBAx         change baudrate. 1:38.4k, 2:19.2k, 3:9.6k 4:57.6k 5:115.2k
ATENx,(y)     set BootExtension Debug Flag (y=password)
ATSE          show the seed of password generator
ATTI(h,m,s)   change system time to hour:min:sec or show current time
ATDA(y,m,d)   change system date to year/month/day or show current date
ATDS          dump RAS stack
ATDT          dump Boot Module Common Area
ATDUx,y       dump memory contents from address x for length y
ATRBx         display the  8-bit value of address x
ATRWx         display the 16-bit value of address x
ATRLx         display the 32-bit value of address x
ATGO(x)       run program at addr x or boot router
ATGR          boot router
ATGT          run Hardware Test Program
ATRTw,x,y(,z) RAM test level w, from address x to y (z iterations)
ATSH          dump manufacturer related data in ROM
ATDOx,y       download from address x for length y to PC via XMODEM
ATTD          download router configuration to PC via XMODEM
ATUR          upload router firmware to flash ROM
ATLC          upload router configuration file to flash ROM
ATXSx         xmodem select: x=0: CRC mode(default); x=1: checksum mode
ATLD          Upload Configuration File and Default ROM File to Flash
ATCD          Convert Running ROM File to Default ROM File into Flash

OK

***** Avvio del modem in modo normale

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

Bootbase Version: VTC_SPI1.6 | 2010/2/6 09:32:52
RAM: Size = 16384 Kbytes
DRAM POST: Testing: 16384K
OK
Found SPI Flash 2MiB Winbond W25Q16 at 0xbfc00000
SPI Flash Quad Enable
Turn off Quad Mode

RAS Version: 2.12.58.8(SRED.D3)3.12.8.182
System   ID: $2.12.58.8(SRED.D3)3.12.8.182 20120118_v003  | 2012/01/18

Press any key to enter debug mode within 3 seconds.
............................................................
Copyright (c) 2001 - 2006       D-Link C
initialize ch = 0, TC2104MC,  TC2206, ethernet address: xx:xx:xx:xx:xx:xx
initialize ch = 1, PhyMode = 7
ethernet address: xx:xx:xx:xx:xx:xx
Wan Channel init ........ done
Initializing ADSL F/W ........ done

==>natTableMemoryInit
<==natTableMemoryInitANNEXAIJLM
US bitswap on,DS bitswap on
OlrON
Unknown SRA Mode!! 271

Erasing 4K Sector...

Erasing 4K Sector...

writeRomBlock(): Erase OK!
channeldisp = enable
Testlab 32
set try multimode number to 3 (dropmode try num 3)
largeD flag=2 (0:maxD=64, 1:maxD=128, 2:maxD=511)
dhcp address probe action is disabled
adjtime         countrycode     edit            feature
hostname        log             resetlog        stdio
time            syslog          version         view
wdog            romreset        upnp            atsh
diag            routeip         bridge          save
display         password        default         adminname
modelcheck      parentctrl      defaultTCrestorepswauthen
hangdbg         ledtr68         pppnamelock     defaultpwdcheck
languagechange  atshw           remotemgropen   sptromsize
compileid       dhcpprobe       dhcpfor2ndusr   etherportnummask
etherportreversesocket          filter          ddns
cpu
input line: sportreverse : on

adjtime         countrycode     edit            feature
hostname        log             resetlog        stdio
time            syslog          version         view
wdog            romreset        upnp            atsh
diag            routeip         bridge          save
display         password        default         adminname
modelcheck      parentctrl      defaultTCrestorepswauthen
hangdbg         ledtr68         pppnamelock     defaultpwdcheck
languagechange  atshw           remotemgropen   sptromsize
compileid       dhcpprobe       dhcpfor2ndusr   etherportnummask
etherportreversesocket          filter          ddns
cpu
input line: sysName Checking for Firmware Upgrade is OFF
disable PM!
Dyingasp OFF!
Valid Loss of power OFF!
enableap        disableap       bssnum          bssindex
node            ht              ate             wsc
igmp            efuse           rtdisplay       driverVersion
countryregionabacountrystring   countrycode     basicrate
txpower         disableolbc     idletimeout     setbssidnum
wmmcapable      NoForwardingBTNBIEEE80211H      CSPeriod
VLANID          VLANPriority    WpaMixPairCipherRekeyInterval
RekeyMethod     PMKCachePeriod  ResetCounter    DisConnectSta
McastPhyMode    McastMcs        ShowMcastRate   FixedTxMode
LongRetry       ShortRetry      MeasureReq      TpcReq
PwrConstraint   OBSSScanParam   AP2040Rescan    channeldisp
showmactable    dumprf          dumpmac         dumpbbp
rf              mac             bbp             pollingmode
stat            autochannel
input line: rtSyncookie switch On!
Press ENTER to continue...

bovirus

SOliti problemi di versioni e di date

DSL-2680 - Firmware originale Dlink 19.01.2011
Internal string 2.12.58.8 (SRED.D3) 3.12.8.182

TP-Link W8951ND v3 - Firmware 21.07.2011
Internal string: (SRE9.D3) 3.12.8.31
- Firmware più recente come data ma teoricamente più vecchio come versione

TP-Link W8951ND v4 - Firmware 14.03.2012
Internal string: (SRE9.D3) 3.12.8.31
- Firmware più recente come data ma teoricamente più vecchio come versione

Licenza Creative Commons
Il contenuto dei messaggi del forum è distribuito con
Licenza Creative Commons Attribuzione Non commerciale 4.0
Tutti i marchi registrati citati appartengono ai legittimi proprietari