Нетобзор - форум про интернет

Пожалуйста, войдите или зарегистрируйтесь.


Расширенный поиск  

Автор Тема: Восстановление прошивки роутера BT HomeHub 2.0 с помощью JTAG  (Прочитано 3731 раз)

0 Пользователей и 1 Гость просматривают эту тему.

test

  • Гость

Один малоизвестный форумный чел подогнал как-то такую железячку)...
И все бы хорошо, только оторван на этом BT HomeHub 2.0 шильдик с паролями. Как на него зайти - хз)...

И лежал бы он себе еще, как тут у друга оказалась какая-то хренотень для видеонаблюдения, которая подсдохла, и в которой оказалась NOR флешка на 16М в корпусе TSOP56 Spansion S29GL128P.
Точно такая же флешка, как и в этом роутере.

Решил использовать BT HomeHub 2.0 в качестве программатора. Так как имеющийся в наличии TL866A такие флешки не умеет, а купленный NOR NAND программатор ProMan пока еще не приехал.

Распин JTAG-а на сайте OpenWrt есть. Есть у меня и 4шт. JTAG-а)))... Хвастаюсь:



Самый первый и самый дорогой - RIFF Box - оказался бесполезным. Даже больше - именно им я и прибил заводскую прошивку роутера.
Второй - USB-ишный Jet-Link v.5 - оказался самым полезным.
Третий - спаянный когда-то Wiggler - заработал, но нужно было доставать из загашника старенький ноут с LPT портом.
Четвертый - проводки со 100-омными резисторами. Копеечный вариант, но нужен тот же LPT порт. И в моем случае я не увидел стабильной работы - все время зависал.

Сама плата роутера BT HomeHub 2.0 с напаянными JTAG-ными проводками и проводками к COM порту выглядит так:





И фотки основных деталюшек:
Основной проц BCM6358



Свитч BCM5325



16М NOR Flash S29GL128P от Spansion



Для работы с USB JTAG-ом Jet-Link с этим процем и флешкой использовал программу zjtag-1.8.
Для чтения загрузчика 0х0-0х20000 использовал команду в таком виде:
zjtag -backup:custom /window:1e000000 /start:1e000000 /length:20000 /cable:6
Для записи:
zjtag -flash:custom /window:1e000000 /start:1e000000 /length:20000 /cable:6

А вот пример чтения всей флешки на частоте 12МГц:
c:\z>zjtag -backup:custom /window:1e000000 /start:1e000000 /length:1000000 /cabl
e:6 /L1:12000

        ==============================================
               zJTAG EJTAG Debrick Utility v1.8 RC3
        ==============================================

cableid=6, cabletype=0

  Open USB device: 0x1366:0101
  Vendor Name: [SEGGER]
  Produc Name: [J-Link]
  Serial No  : [123456]

Initializing J-Link HW Ver. 5.3
 Set I/O speed to 12000 KHz
 Detected target Vref = 3.306V

USB TAP device has been initialized. Please confirm VREF signal connected!
Press any key to continue... ONCE target board is powered on!

>>>JL det insta =                       FFFFFF21
                        005E78A8
>>>JL det insta =                       FFFFFF21
                        005E78A8
Detected IR chain length = 32

There are 1 device(s) in the JTAG chain
 IDCODE for device 1 is 0x0635817F (IR length:1)

Probing bus ... Done

Defined IR Length is 5 bits

CPU assumed running under BIG endian

CPU Chip ID: 00000110001101011000000101111111 (0x0635817F)
*** Found a Broadcom manufactured BCM6358 REV 01 CPU ***

    - EJTAG IMPCODE ....... : 00000000100000011000100100000100 (0x00818904)
    - EJTAG Version ....... : 1 or 2.0
    - EJTAG DMA Support ... : Yes
    - EJTAG Implementation flags: R4k MIPS16 MIPS32

Issuing Processor / Peripheral Reset ... Done
Enabling Memory Writes ... Done
Halting Processor ... <Processor did NOT enter Debug Mode!> ... Done
Clearing Watchdog ... Done
Loading CPU Configuration Code ... Skipped
Detecting Flash Base Address...
Read MPI register value : 1E00000C
MPI register show Flash Access Base Addr : 1E000000

Probing Flash at Address: 0x1E000000 ...
Detected Chip ID (VenID:DevID = 017E : 2101)
*** Found a CFI Compatiable Flash Chip from AMD/Spansion

    - Flash Chip Window Start .... : 1E000000
    - Flash Chip Window Length ... : 01000000
    - Selected Area Start ........ : 1E000000
    - Selected Area Length ....... : 01000000

*** You Selected to Backup the CUSTOM.BIN ***

=========================
Backup Routine Started
=========================

Saving CUSTOM.BIN.SAVED_20160526_143056 to Disk...
Done  (CUSTOM.BIN.SAVED_20160526_143056 saved to Disk OK)

bytes written: 16777216
=========================
Backup Routine Complete
=========================
elapsed time: 610 seconds


 *** REQUESTED OPERATION IS COMPLETE ***


c:\z>

Но сразу скажу, что и как считалось не проверял. Потому как пишет такой JTAG без ошибок только на частоте, выставленной программой по умолчанию. При повышении - наблюдаются ошибки:

Loading CUSTOM.BIN to Flash Memory...
   0%   bytes = 64
 dma write not correctly !!
 00000000 - 84FEC4FE
   2%   bytes = 2816
 dma write not correctly !!
 00000000 - FFFF0000

 dma write not correctly !!
 9CFE7B27 - 04FE44FE
   4%   bytes = 6080
 dma write not correctly !!
 07004010 - 84FEC4FE
   4%   bytes = 6144
 dma write not correctly !!
 0020023C - 84FEC4FE
   4%   bytes = 6400
 dma write not correctly !!
 1400B1AF - 84FEC4FE
   5%   bytes = 7296
 dma write not correctly !!
 FF27BE9B - 04FE44FE
   6%   bytes = 8512
 dma write not correctly !!
 2B45466B - 84FEC4FE
   7%   bytes = 10432
 dma write not correctly !!
 103C955C - 84FEC4FE

 dma write not correctly !!
 418666BB - 84FEC4FE

 dma write not correctly !!
 5A0DCF81 - 84FEC4FE
   8%   bytes = 10880
 dma write not correctly !!
 879F114B - FFFF114B
  10%   bytes = 14016
 dma write not correctly !!
 1FE303A1 - 84FEC4FE
  10%   bytes = 14080
 dma write not correctly !!
 B05389D8 - 04FE44FE
  11%   bytes = 14848
 dma write not correctly !!
 5E6831F0 - 84FEC4FE
  13%   bytes = 17408
 dma write not correctly !!
 70212AD3 - 84FEC4FE
  13%   bytes = 17536
 dma write not correctly !!
 C895571C - 04FE44FE
  14%   bytes = 18432
 dma write not correctly !!
 115A390D - 84FEC4FE
  14%   bytes = 18624
 dma write not correctly !!
 277B207A - FFFF207A
  14%   bytes = 19328
 dma write not correctly !!
 D059AA84 - 04FE44FE
  15%   bytes = 20672
 dma write not correctly !!
 57977EB4 - 84FEC4FE
  16%   bytes = 22272
 dma write not correctly !!
 0E70B990 - FFFFB990
  17%   bytes = 22464
 dma write not correctly !!
 AF6E318E - FFFF318E
  17%   bytes = 22720
 dma write not correctly !!
 A878ACF7 - 04FE44FE
  20%   bytes = 26368
 dma write not correctly !!
 FF448BB7 - FFFF8BB7
  20%   bytes = 26752
 dma write not correctly !!
 4D3E8A58 - 84FEC4FE
  20%   bytes = 26880
 dma write not correctly !!
 145C90CD - FFFF90CD
  20%   bytes = 27392
 dma write not correctly !!
 223C4F39 - 84FEC4FE
  22%   bytes = 29440
 dma write not correctly !!
 2A7A357F - 84FEC4FE
  23%   bytes = 30464
 dma write not correctly !!
 B7AE59AB - 04FE44FE
  23%   bytes = 30976
 dma write not correctly !!
 511014B6 - 84FEC4FE
  25%   bytes = 33088
 dma write not correctly !!
 1D4BD4DF - 84FEC4FE
  26%   bytes = 34560
 dma write not correctly !!
 968C8733 - 04FE44FE
  28%   bytes = 36864
 dma write not correctly !!
 2D317C09 - 84FEC4FE
  30%   bytes = 39872
 dma write not correctly !!
 2D820F34 - 84FEC4FE
  32%   bytes = 42752
 dma write not correctly !!
 D24C41EF - 04FE44FE
  32%   bytes = 43200
 dma write not correctly !!
 12838208 - 84FEC4FE
  33%   bytes = 43264
 dma write not correctly !!
 1BDC79DB - 84FEC4FE

 dma write not correctly !!
 E6722D35 - 04FE44FE
  36%   bytes = 47552
 dma write not correctly !!
 8FC210EF - 04FE44FE
  38%   bytes = 50816
 dma write not correctly !!
 DB2F33BF - 04FE44FE
  39%   bytes = 51200
 dma write not correctly !!
 3011A0E0 - 84FEC4FE
  39%   bytes = 52224
 dma write not correctly !!
 64E0C119 - 64E080FE
  39%   bytes = 52288
 dma write not correctly !!
 FF0FAB52 - 04FE44FE
  43%   bytes = 56576
 dma write not correctly !!
 0300D414 - 84FEC4FE
  45%   bytes = 59136
 dma write not correctly !!
 01000424 - 84FEC4FE
  45%   bytes = 60096
 dma write not correctly !!
 DBFF6015 - FFFF6015
  48%   bytes = 63424
 dma write not correctly !!
 21186500 - 84FEC4FE
Done  (CUSTOM.BIN loaded into Flash Memory OK)

=========================
Flashing Routine Complete
=========================
elapsed time: 40 seconds


 *** REQUESTED OPERATION IS COMPLETE ***


c:\z>

Файлы загрузчика и прошивки OpenWrt Chaos Calmer брал с сайта ОпенВрт.
Записан