Один малоизвестный форумный чел подогнал как-то такую железячку)...
И все бы хорошо, только оторван на этом 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 брал с сайта ОпенВрт.