Guida ai segreti del DWL-2100AP

  • 201 Risposte
  • 114878 Visite

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline marven

  • VIP
  • *****
  • 3882
Re: Guida ai segreti del DWL-2100AP
« Risposta #45 il: 30 Marzo 2007, 17:02 »
Ottime notizie Ramponis!  :D Il 2100ap e' sempre meno misterioso!  ;D

Citazione
OCD Flash programmer purtroppo va solo con la wiggler e la mia ancora non va  Pianto
Il vantaggio di OCD e' che e' velocissimo rispetto a debrick e openwince. Per OCD ti serve l'indirizzo della RAM che, dai post sul forum openwrt, dovrebbe essere
0x80010000

Citazione
Quanto pensi dovrebbe essere il bootloader?
Questo non si puo' dire. Probabilmente e' di 64 o 128 KB. Con due 2100ap,  come hai detto, puoi sicuramente ottenere ottimi risultati con il "prelievo" di 64 KB,  128 KB etc. dal 2100ap vivo e "trapianto" su quello morto per vedere se boota.

Probabilmente il bootloader e' piazzato all'inizio della flash cioe' 0xBE000000, anche se potrebbe non esserlo (ma non credo).


Poco fa' ho aperto il DI-624. Ha le piazzole per 2 connettori a 14 pin e 12 pin, del tutto simili a quelli de tuo 2100ap. Quindi dovrebbero essere Jtag e seriale. Quest'ultima non ha le piazzole da ponticellare, per cui dovrebbe funzionare subito. Per fortuna le piazzole non sono stagnate, hanno i fori liberi  :P
Il processore e' un Atheros AR2312-ES, dovrebbe essere supportato da Openwrt.
Per il momento lo tengo sotto osservazione con un alimentatore diverso. Ho il sospetto che l'instabilita' sia dovuta all'alimentatore. Non mi meraviglierebbe, visto che il tutto era acceso da 2 anni 24 ore su 24  :o

Offline marven

  • VIP
  • *****
  • 3882
Re: Guida ai segreti del DWL-2100AP
« Risposta #46 il: 30 Marzo 2007, 17:48 »
Comunque da questa frase di bitbucket su openwrt:
Citazione
Now I'm trying to get redboot work standalone, without 1st stage bootloader, but the compiled and uncompressed image of redboot is bigger than 0x20000 bytes, to it will use more flash.
ho capito che il bootloader originale e' di 128 KB max (0x20000) hex. D'altronde il suo redboot e' di 80 KB circa e quindi anche il bootloader originale e' maggiore di 64 KB e minore o uguale a 128.

Offline ramponis

  • Esperto
  • ****
  • 888
  • Sesso: Maschio
    • DWL-2100AP Ramponis Homepage
Re: Guida ai segreti del DWL-2100AP
« Risposta #47 il: 30 Marzo 2007, 18:05 »
Citazione
Il vantaggio di OCD e' che e' velocissimo rispetto a debrick e openwince. Per OCD ti serve l'indirizzo della RAM che, dai post sul forum openwrt, dovrebbe essere
0x80010000

Si ho visto.  ;)

Citazione
Questo non si puo' dire. Probabilmente e' di 64 o 128 KB. Con due 2100ap,  come hai detto, puoi sicuramente ottenere ottimi risultati con il "prelievo" di 64 KB,  128 KB etc. dal 2100ap vivo e "trapianto" su quello morto per vedere se boota.

Questo è proprio quello che voglio fare.

Per ora sto provando a leggere e salvare tutta la flash, ne ho scaricato circa 1/3

Citazione
Poco fa' ho aperto il DI-624. Ha le piazzole per 2 connettori a 14 pin e 12 pin, del tutto simili a quelli de tuo 2100ap. Quindi dovrebbero essere Jtag e seriale. Quest'ultima non ha le piazzole da ponticellare, per cui dovrebbe funzionare subito. Per fortuna le piazzole non sono stagnate, hanno i fori liberi

Ottimo.

Citazione
Il processore e' un Atheros AR2312-ES, dovrebbe essere supportato da Openwrt.

Si esatto

Citazione
ho capito che il bootloader originale e' di 128 KB max (0x20000) hex. D'altronde il suo redboot e' di 80 KB circa e quindi anche il bootloader originale e' maggiore di 64 KB e minore o uguale a 128.

L'avevo letto anche io, ma non ne ero sicuro.
Ora tu mi hai dato conferma  ;)
« Ultima modifica: 30 Marzo 2007, 18:07 da ramponis »
DWL-2100AP Ramponis Homepage

http://xoomer.virgilio.it/ramponis

Offline ramponis

  • Esperto
  • ****
  • 888
  • Sesso: Maschio
    • DWL-2100AP Ramponis Homepage
Re: Guida ai segreti del DWL-2100AP
« Risposta #48 il: 31 Marzo 2007, 13:28 »
Ho saldato il pettine per la JTAG sul 2100AP funzionante è ho scaricato i 128K che dovrebbero corrispondere al boot-loader.

Poi ho provato a flashare il bootloader del 2100AP corrotto, ma resta li in erasing.


Codice: [Seleziona]
====================================
 AR7 EJTAG Debrick Utility v4.5
====================================

Probing bus ... Done

Instruction Length set to 5

CPU Chip ID: 00000000000000000000000000000001 (00000001)
*** CHIP DETECTION OVERRIDDEN ***

    - EJTAG IMPCODE ....... : 01000000010000000100000000000000 (40404000)
    - EJTAG Version ....... : 2.6
    - EJTAG DMA Support ... : No

Issuing Processor / Peripheral Reset ... Done
Enabling Memory Writes ... Skipped
Halting Processor ... <Processor Entered Debug Mode!> ... Done
Clearing Watchdog ... Done

Manual Flash Selection ... Done

Flash Vendor ID: 00000000000000000000000000011111 (0000001F)
Flash Device ID: 00000000000000000000000011001000 (000000C8)
*** Manually Selected a Atmel AT49BV322A 2Mx16 BotB (4MB) Flash Chip ***

    - Flash Chip Window Start .... : be000000
    - Flash Chip Window Length ... : 00400000
    - Selected Area Start ........ : be000000
    - Selected Area Length ....... : 00020000

*** You Selected to Flash the Bootloader.bin ***

=========================
Flashing Routine Started
=========================
Total Blocks to Erase: 9

Erasing block: 1 (addr = be000000)...

Secondo te sbaglio qualche cosa?  ???

Io ho dato il comando:

debrick-mod -flash:custom /skipdetect /instrlen:05 /window:be000000 /start:be000000 /length:20000 /fc:56 /xilinx /f:Bootloader.bin

è giusto?  ???
DWL-2100AP Ramponis Homepage

http://xoomer.virgilio.it/ramponis

Offline marven

  • VIP
  • *****
  • 3882
Re: Guida ai segreti del DWL-2100AP
« Risposta #49 il: 31 Marzo 2007, 15:25 »
Sembra tutto giusto! Cioe' identico a quello che c'e' su openwrt...
Prova ad usare l'ultima versione di debrick http://downloads.openwrt.org/utils/HairyDairyMaid_WRT54G_Debrick_Utility_v48.zip
Potrebbe essere anche un problema di flash non esattamente uguale a quella che c'e' nelle definizioni. Fammi sapere esattamente il modello.

PS
Non c'entra nulla col mancato erase, ma ricordati che prima di inviare il (presunto  ???) bootloader, per motivi di endianess del processore Atheros, devi fargli il byteswap come descritto nel post di nih sul form Openwrt. In giro ci sono varie utility, cerca "byteswap" con Google.

PPS
Vedo che ci sono news da bitbucket!
Citazione
Flash starts at 0x1fc00000 , it is in 8bit mode. Bootloader size is 0x41690 . At 0x50000 starts tffs filesystem.

http://rapidshare.com/files/23550744/athorigbl.bin.html - original bootloader from my device.
Quindi il bootloader non e' di 128 KB ma di  oltre 256 KB...
Prova anche con 0x1fc00000 anziche' be000000 e come length metti 0x41690
« Ultima modifica: 31 Marzo 2007, 15:50 da marven »

Offline ramponis

  • Esperto
  • ****
  • 888
  • Sesso: Maschio
    • DWL-2100AP Ramponis Homepage
Re: Guida ai segreti del DWL-2100AP
« Risposta #50 il: 31 Marzo 2007, 16:21 »
Citazione
Sembra tutto giusto! Cioe' identico a quello che c'e' su openwrt...
Prova ad usare l'ultima versione di debrick http://downloads.openwrt.org/utils/HairyDairyMaid_WRT54G_Debrick_Utility_v48.zip
Potrebbe essere anche un problema di flash non esattamente uguale a quella che c'e' nelle definizioni. Fammi sapere esattamente il modello.

Ok provo e ti dico.
La memoria flash è giusta è una Atmel AT49BV322A

Citazione
PS
Non c'entra nulla col mancato erase, ma ricordati che prima di inviare il (presunto ???) bootloader, per motivi di endianess del processore Atheros, devi fargli il byteswap come descritto nel post di nih sul form Openwrt. In giro ci sono varie utility, cerca "byteswap" con Google.

Non ci ho capito molto  :-[

Potresti spiegarti meglio su questa procedura.
Qual'è il suo scopo?  ???
E perchè è nacessaria?  ???

Citazione
PPS
Vedo che ci sono news da bitbucket!
Citazione
Flash starts at 0x1fc00000 , it is in 8bit mode. Bootloader size is 0x41690 . At 0x50000 starts tffs filesystem.
http://rapidshare.com/files/23550744/athorigbl.bin.html - original bootloader from my device.

Si ho visto, e ho anche downloadato il suo boot-loader

Citazione
Quindi il bootloader non e' di 128 KB ma di oltre 256 KB...
Prova anche con 0x1fc00000 anziche' be000000 e come length metti 0x41690

Si l'ho fatto ma quello che io leggo a quegli indirizzi è molto diverso dal bootloader di bitbucket.
Parlo del 2100AP buono
« Ultima modifica: 31 Marzo 2007, 16:36 da ramponis »
DWL-2100AP Ramponis Homepage

http://xoomer.virgilio.it/ramponis

Offline marven

  • VIP
  • *****
  • 3882
Re: Guida ai segreti del DWL-2100AP
« Risposta #51 il: 31 Marzo 2007, 16:46 »
Qui
Citazione
http://www.gfdl.noaa.gov/products/vis/utilities/GFDL_VG_Utilities.html#byteswap
c'e' una ottima spiegazione della questione e anche il sorgente del programmillo che di default fa lo swap che serve a te (word di 4 byte). Fammi sapere se ti serve l'eseguibile per windows che te lo compilo...

PS
Compilato fresco fresco: http://marven.altervista.org/byteswap/byteswap.exe

PPS
Attenzione che il programmillo funziona solo con file di lunghezza in byte esattamente multipla di 4 per cui se il tuo file non e' multiplo di 4 byte devi "paddarlo" cioe' aggiungere alla fine dei byte 00 quanto bastano per renderlo multiplo di 4.
Esempio: il file byteswap.c e' di lunghezza   4.241 byte, quindi non e' multipla di 4. dividendo per 4 ottengo 4240 col resto 1. Per renderlo multiplo esatto di 4 devo aggiungere 3 byte e  portarne la lunghezza a 4.244 che e' esattamente divisibile per 4. Per paddare basta usare un editor hex e aggiungere alla fine del file tot 00 quanti ne servono.
« Ultima modifica: 31 Marzo 2007, 17:19 da marven »

Offline ramponis

  • Esperto
  • ****
  • 888
  • Sesso: Maschio
    • DWL-2100AP Ramponis Homepage
Re: Guida ai segreti del DWL-2100AP
« Risposta #52 il: 31 Marzo 2007, 17:08 »
Grazie mille  ;)

Ora mi do una letta con calma  :P

Ho provato con l'ultima versione di debrick ma stessa cosa.

Intanto per non stare con le mani in mano ho portato avanti openwince jtag e leggendo il 2100AP...

Il bootloader che scarico è più simile a quello di bitbucket, mentre con debrick era completamente diverso.

Col 2100AP funzionante non ho accesso perchè come riporta bitbucket è necessario bloccarlo con OCD, ma io non posso con la xilinx. Comunque posso provare col suo bootloader  ;)
DWL-2100AP Ramponis Homepage

http://xoomer.virgilio.it/ramponis

Offline ramponis

  • Esperto
  • ****
  • 888
  • Sesso: Maschio
    • DWL-2100AP Ramponis Homepage
Re: Guida ai segreti del DWL-2100AP
« Risposta #53 il: 31 Marzo 2007, 17:22 »
Ho finito di scricare il bootloader dal 2100AP corrotto e confrontandolo con quello di bitbucket (con Araxis Merge) ha solo un carattere diverso  :o

Direi che sia la jtag che il software funzionano bene.

Che dici provo il flashing?  ???
DWL-2100AP Ramponis Homepage

http://xoomer.virgilio.it/ramponis

Offline marven

  • VIP
  • *****
  • 3882
Re: Guida ai segreti del DWL-2100AP
« Risposta #54 il: 31 Marzo 2007, 17:27 »
Citazione
Il bootloader che scarico è più simile a quello di bitbucket, mentre con debrick era completamente diverso.
Potrebbe essere un problema di byte swappati...
vedi se sono scambiati a grupppi di 4....
per esempio in uno potresti avere all'inizio
4D 5A 90 00
e nell'altro
00 90 5A 4D
Come esempio ho preso l'inizio di byteswap.exe e della sua versione swappata s_byteswap.exe  ;)

Offline marven

  • VIP
  • *****
  • 3882
Re: Guida ai segreti del DWL-2100AP
« Risposta #55 il: 31 Marzo 2007, 17:42 »
Citazione
Che dici provo il flashing?  Huh
Io dire di si!  :D
Nel caso non booti leggi se i byte (in quello morto) sono swappati... 

Offline ramponis

  • Esperto
  • ****
  • 888
  • Sesso: Maschio
    • DWL-2100AP Ramponis Homepage
Re: Guida ai segreti del DWL-2100AP
« Risposta #56 il: 31 Marzo 2007, 17:47 »
Citazione
Potrebbe essere un problema di byte swappati...
vedi se sono scambiati a grupppi di 4....

Si marven hai perfettamente ragione sono swappati a gruppi di 4, ho controllato con un edito hex.

Openwince JTAG non riesce a scriver nella flash, o meglio mi da errore facendo l'erasing
Ammesso che il tuo debrick-mod riesca a scriver la flash, come devo passargli il bootloader di bitbucket?

Così com'è? o devo swappare il file a gruppi di 4?
DWL-2100AP Ramponis Homepage

http://xoomer.virgilio.it/ramponis

Offline marven

  • VIP
  • *****
  • 3882
Re: Guida ai segreti del DWL-2100AP
« Risposta #57 il: 31 Marzo 2007, 17:55 »
Citazione
Openwince JTAG non riesce a scriver nella flash, o meglio mi da errore facendo l'erasing
Questo non ci voleva... mi sa che ti devi fare la wiggler e provare con OCD...

Citazione
Ammesso che il tuo debrick-mod riesca a scriver la flash, come devo passargli il bootloader di bitbucket?

Così com'è? o devo swappare il file a gruppi di 4?
Con debrick  credo cosi' com'e' (almeno con i 30xt et simili e' cosi') . Mentre con OCD flash programmer va swappato prima (ma li c'e' anche il discorso dei file .S19 ... che vedremo dopo nel caso) 

PS
No pero'... con debrick adam2 scaricato dal 30xt e' uguale all'originale, e non deve essere swappato per inviarlo. Nel tuo quello scaricato dal router e' swappato quindi presumo che l'originale lo devi swappare prima di inviarlo.
« Ultima modifica: 31 Marzo 2007, 18:01 da marven »

Offline ramponis

  • Esperto
  • ****
  • 888
  • Sesso: Maschio
    • DWL-2100AP Ramponis Homepage
Re: Guida ai segreti del DWL-2100AP
« Risposta #58 il: 31 Marzo 2007, 18:07 »
No nisba  :'(

Non flasha neanche debrick, ho provato con questo comando ma sta li...  :-\

Codice: [Seleziona]
debrick-mod -flash:custom /skipdetect /window:1fc00000 /start:1fc00000 /length:41690 /fc:56 /xilinx /f:out.bin

====================================
 AR7 EJTAG Debrick Utility v4.5
====================================

Probing bus ... Done

Instruction Length set to 0

CPU Chip ID: 00000000000000000000000000000000 (00000000)
*** CHIP DETECTION OVERRIDDEN ***

    - EJTAG IMPCODE ....... : 00000000000000000000000000000000 (00000000)
    - EJTAG Version ....... : 1 or 2.0
    - EJTAG DMA Support ... : Yes

Issuing Processor / Peripheral Reset ... Done
Enabling Memory Writes ... Done
Halting Processor ... <Processor did NOT enter Debug Mode!> ... Done
Clearing Watchdog ... Done

Manual Flash Selection ... Done

Flash Vendor ID: 00000000000000000000000000011111 (0000001F)
Flash Device ID: 00000000000000000000000011001000 (000000C8)
*** Manually Selected a Atmel AT49BV322A 2Mx16 BotB (4MB) Flash Chip ***

    - Flash Chip Window Start .... : 1fc00000
    - Flash Chip Window Length ... : 00400000
    - Selected Area Start ........ : 1fc00000
    - Selected Area Length ....... : 00041690

*** You Selected to Flash the out.bin ***

=========================
Flashing Routine Started
=========================
Total Blocks to Erase: 12

Erasing block: 1 (addr = 1fc00000)...
DWL-2100AP Ramponis Homepage

http://xoomer.virgilio.it/ramponis

Offline marven

  • VIP
  • *****
  • 3882
Re: Guida ai segreti del DWL-2100AP
« Risposta #59 il: 31 Marzo 2007, 20:03 »
Ho esaminato la situazione e ne ho dedotto che la tua flash non e' la 56 ma la 57.
Infatti openwince ti ha detto che:
Codice: [Seleziona]
Device geometry definition:
        Device Size: 4194304 B (4096 KiB, 4 MiB)
        Flash Device Interface Code description: 0x0002 (x8/x16)
        Maximum number of bytes in multi-byte program: 1
        Number of Erase Block Regions within device: 2
        Erase Block Region Information:
                Region 0:
                        Erase Block Size: 65536 B (64 KiB)
                        Number of Erase Blocks: 63
                Region 1:
                        Erase Block Size: 8192 B (8 KiB)
                        Number of Erase Blocks: 8
Cioe' la geometria della Atmel AT49BV322AT che e' invertita rispetto alla AT49BV322A.
Prova, dovrebbe funzionare... spero  ;)

PS
Potresti anche tralasciare l'opzione /fc e lasciargli riconoscere la flash in automatico... di solito e' meglio provare prima cosi', solo in caso di problemi si fa la selezione manuale.
« Ultima modifica: 31 Marzo 2007, 20:22 da marven »