Достался мне, по случаю, беспроводной 3G /Wi-Fi маршрутизатор МТС DIR-320 в нерабочем состоянии.
Симптоматика как здесь: "Работал до тех пор, пока однажды не засветились сразу 6 светодиодов: power, internet и все 4 LAN".
Первичные предпринятые меры:
– припаять разъем JTAG
![]() |
DIR-320 JTAG Pinout |
(перед экспериментами, сохранить оригинальный загрузчик CFE)
– используя программу BrJTAG стереть NVRAM, Kernel, записать CFE.
Эти действия ни к чему не привели — гирлянда как горела так и горит. Однако флеш прошивается и читается — значит процессор и флеш исправны, проблема в чем то другом.
Дальнейшее изучение вопроса показало, что такие же симптомы были в случаях, когда при замене чипа RAM был непропай. Вероятно, в моем случае битая память не дает роутеру загрузиться.
Меняем установленную в роутере память на новую: Увеличение оперативной памяти до 64MB на D-Link DIR-320 (cписок совместимых модулей и чипов).
Я использовал чип с такого модуля памяти:
![]() |
VDATA MDYVD6F4G2880B1E0H DDR400(3) 256MX4 |
Зальем прошивку заново. Попытки перевести роутер в Crash mode (режим для восстановления ПО в случае возникновения проблем при обновлении) при помощи кнопки Reset потерпели неудачу. Пришлось поступить так:
через JTAG стираю NVRAM, Kernel, записываю загрузчик CFE:
C:\DIR-320\win32>brjtag -erase:nvram /wiggler /wx8 /dma /fc:033
===============================================
Broadcom EJTAG Debrick Utility v1.9o-hugebird
===============================================
Probing bus ... Done
Detected IR Length is 8
CPU assumed running under LITTLE endian
CPU Chip ID: 00110101001101010100000101111111 (3535417F)
*** Found a Broadcom manufactured BCM5354 REV 03 CPU ***
- EJTAG IMPCODE ....... : 00000000100000010000100100000100 (00810904)
- EJTAG Version ....... : 1 or 2.0
- EJTAG DMA Support ... : Yes
- EJTAG Implementation flags: R4k MIPS16 MIPS32
*** DMA Mode Forced On ***
Issuing Processor / Peripheral Reset ... Done
Enabling Memory Writes ... Done
Halting Processor ... <Processor Entered Debug Mode!> ... Done
Clearing Watchdog ... Done
Loading CPU Configuration Code ... Skipped
*** Manually Selected a MX29LV320AT/BT 2Mx16 TopB (4MB) from Macronix
- Flash Chip Window Start .... : 1FC00000
- Flash Chip Window Length ... : 00400000
- Selected Area Start ........ : 1FFF0000
- Selected Area Length ....... : 00010000
*** You Selected to Erase the NVRAM.BIN ***
=========================
Erasing Routine Started
=========================
Total Blocks to Erase: 8
Erasing block: 64 (addr = 1FFF0000)...Done
Erasing block: 65 (addr = 1FFF2000)...Done
Erasing block: 66 (addr = 1FFF4000)...Done
Erasing block: 67 (addr = 1FFF6000)...Done
Erasing block: 68 (addr = 1FFF8000)...Done
Erasing block: 69 (addr = 1FFFA000)...Done
Erasing block: 70 (addr = 1FFFC000)...Done
Erasing block: 71 (addr = 1FFFE000)...Done
=========================
Erasing Routine Complete
=========================
elapsed time: 3 seconds
*** REQUESTED OPERATION IS COMPLETE ***
===============================================
Broadcom EJTAG Debrick Utility v1.9o-hugebird
===============================================
Probing bus ... Done
Detected IR Length is 8
CPU assumed running under LITTLE endian
CPU Chip ID: 00110101001101010100000101111111 (3535417F)
*** Found a Broadcom manufactured BCM5354 REV 03 CPU ***
- EJTAG IMPCODE ....... : 00000000100000010000100100000100 (00810904)
- EJTAG Version ....... : 1 or 2.0
- EJTAG DMA Support ... : Yes
- EJTAG Implementation flags: R4k MIPS16 MIPS32
*** DMA Mode Forced On ***
Issuing Processor / Peripheral Reset ... Done
Enabling Memory Writes ... Done
Halting Processor ... <Processor Entered Debug Mode!> ... Done
Clearing Watchdog ... Done
Loading CPU Configuration Code ... Skipped
*** Manually Selected a MX29LV320AT/BT 2Mx16 TopB (4MB) from Macronix
- Flash Chip Window Start .... : 1FC00000
- Flash Chip Window Length ... : 00400000
- Selected Area Start ........ : 1FFF0000
- Selected Area Length ....... : 00010000
*** You Selected to Erase the NVRAM.BIN ***
=========================
Erasing Routine Started
=========================
Total Blocks to Erase: 8
Erasing block: 64 (addr = 1FFF0000)...Done
Erasing block: 65 (addr = 1FFF2000)...Done
Erasing block: 66 (addr = 1FFF4000)...Done
Erasing block: 67 (addr = 1FFF6000)...Done
Erasing block: 68 (addr = 1FFF8000)...Done
Erasing block: 69 (addr = 1FFFA000)...Done
Erasing block: 70 (addr = 1FFFC000)...Done
Erasing block: 71 (addr = 1FFFE000)...Done
=========================
Erasing Routine Complete
=========================
elapsed time: 3 seconds
*** REQUESTED OPERATION IS COMPLETE ***
C:\DIR-320\win32>brjtag -erase:kernel /wiggler /wx8 /dma /fc:033
===============================================
Broadcom EJTAG Debrick Utility v1.9o-hugebird
===============================================
Probing bus ... Done
Detected IR Length is 8
CPU assumed running under LITTLE endian
CPU Chip ID: 00110101001101010100000101111111 (3535417F)
*** Found a Broadcom manufactured BCM5354 REV 03 CPU ***
- EJTAG IMPCODE ....... : 00000000100000010000100100000100 (00810904)
- EJTAG Version ....... : 1 or 2.0
- EJTAG DMA Support ... : Yes
- EJTAG Implementation flags: R4k MIPS16 MIPS32
*** DMA Mode Forced On ***
Issuing Processor / Peripheral Reset ... Done
Enabling Memory Writes ... Done
Halting Processor ... <Processor Entered Debug Mode!> ... Done
Clearing Watchdog ... Done
Loading CPU Configuration Code ... Skipped
*** Manually Selected a MX29LV320AT/BT 2Mx16 TopB (4MB) from Macronix
- Flash Chip Window Start .... : 1FC00000
- Flash Chip Window Length ... : 00400000
- Selected Area Start ........ : 1FC40000
- Selected Area Length ....... : 003B0000
*** You Selected to Erase the KERNEL.BIN ***
=========================
Erasing Routine Started
=========================
Total Blocks to Erase: 59
Erasing block: 5 (addr = 1FC40000)...Done
Erasing block: 6 (addr = 1FC50000)...Done
Erasing block: 7 (addr = 1FC60000)...Done
Erasing block: 8 (addr = 1FC70000)...Done
Erasing block: 9 (addr = 1FC80000)...Done
Erasing block: 10 (addr = 1FC90000)...Done
Erasing block: 11 (addr = 1FCA0000)...Done
Erasing block: 12 (addr = 1FCB0000)...Done
Erasing block: 13 (addr = 1FCC0000)...Done
Erasing block: 14 (addr = 1FCD0000)...Done
Erasing block: 15 (addr = 1FCE0000)...Done
Erasing block: 16 (addr = 1FCF0000)...Done
Erasing block: 17 (addr = 1FD00000)...Done
Erasing block: 18 (addr = 1FD10000)...Done
Erasing block: 19 (addr = 1FD20000)...Done
Erasing block: 20 (addr = 1FD30000)...Done
Erasing block: 21 (addr = 1FD40000)...Done
Erasing block: 22 (addr = 1FD50000)...Done
Erasing block: 23 (addr = 1FD60000)...Done
Erasing block: 24 (addr = 1FD70000)...Done
Erasing block: 25 (addr = 1FD80000)...Done
Erasing block: 26 (addr = 1FD90000)...Done
Erasing block: 27 (addr = 1FDA0000)...Done
Erasing block: 28 (addr = 1FDB0000)...Done
Erasing block: 29 (addr = 1FDC0000)...Done
Erasing block: 30 (addr = 1FDD0000)...Done
Erasing block: 31 (addr = 1FDE0000)...Done
Erasing block: 32 (addr = 1FDF0000)...Done
Erasing block: 33 (addr = 1FE00000)...Done
Erasing block: 34 (addr = 1FE10000)...Done
Erasing block: 35 (addr = 1FE20000)...Done
Erasing block: 36 (addr = 1FE30000)...Done
Erasing block: 37 (addr = 1FE40000)...Done
Erasing block: 38 (addr = 1FE50000)...Done
Erasing block: 39 (addr = 1FE60000)...Done
Erasing block: 40 (addr = 1FE70000)...Done
Erasing block: 41 (addr = 1FE80000)...Done
Erasing block: 42 (addr = 1FE90000)...Done
Erasing block: 43 (addr = 1FEA0000)...Done
Erasing block: 44 (addr = 1FEB0000)...Done
Erasing block: 45 (addr = 1FEC0000)...Done
Erasing block: 46 (addr = 1FED0000)...Done
Erasing block: 47 (addr = 1FEE0000)...Done
Erasing block: 48 (addr = 1FEF0000)...Done
Erasing block: 49 (addr = 1FF00000)...Done
Erasing block: 50 (addr = 1FF10000)...Done
Erasing block: 51 (addr = 1FF20000)...Done
Erasing block: 52 (addr = 1FF30000)...Done
Erasing block: 53 (addr = 1FF40000)...Done
Erasing block: 54 (addr = 1FF50000)...Done
Erasing block: 55 (addr = 1FF60000)...Done
Erasing block: 56 (addr = 1FF70000)...Done
Erasing block: 57 (addr = 1FF80000)...Done
Erasing block: 58 (addr = 1FF90000)...Done
Erasing block: 59 (addr = 1FFA0000)...Done
Erasing block: 60 (addr = 1FFB0000)...Done
Erasing block: 61 (addr = 1FFC0000)...Done
Erasing block: 62 (addr = 1FFD0000)...Done
Erasing block: 63 (addr = 1FFE0000)...Done
=========================
Erasing Routine Complete
=========================
elapsed time: 42 seconds
*** REQUESTED OPERATION IS COMPLETE ***
===============================================
Broadcom EJTAG Debrick Utility v1.9o-hugebird
===============================================
Probing bus ... Done
Detected IR Length is 8
CPU assumed running under LITTLE endian
CPU Chip ID: 00110101001101010100000101111111 (3535417F)
*** Found a Broadcom manufactured BCM5354 REV 03 CPU ***
- EJTAG IMPCODE ....... : 00000000100000010000100100000100 (00810904)
- EJTAG Version ....... : 1 or 2.0
- EJTAG DMA Support ... : Yes
- EJTAG Implementation flags: R4k MIPS16 MIPS32
*** DMA Mode Forced On ***
Issuing Processor / Peripheral Reset ... Done
Enabling Memory Writes ... Done
Halting Processor ... <Processor Entered Debug Mode!> ... Done
Clearing Watchdog ... Done
Loading CPU Configuration Code ... Skipped
*** Manually Selected a MX29LV320AT/BT 2Mx16 TopB (4MB) from Macronix
- Flash Chip Window Start .... : 1FC00000
- Flash Chip Window Length ... : 00400000
- Selected Area Start ........ : 1FC40000
- Selected Area Length ....... : 003B0000
*** You Selected to Erase the KERNEL.BIN ***
=========================
Erasing Routine Started
=========================
Total Blocks to Erase: 59
Erasing block: 5 (addr = 1FC40000)...Done
Erasing block: 6 (addr = 1FC50000)...Done
Erasing block: 7 (addr = 1FC60000)...Done
Erasing block: 8 (addr = 1FC70000)...Done
Erasing block: 9 (addr = 1FC80000)...Done
Erasing block: 10 (addr = 1FC90000)...Done
Erasing block: 11 (addr = 1FCA0000)...Done
Erasing block: 12 (addr = 1FCB0000)...Done
Erasing block: 13 (addr = 1FCC0000)...Done
Erasing block: 14 (addr = 1FCD0000)...Done
Erasing block: 15 (addr = 1FCE0000)...Done
Erasing block: 16 (addr = 1FCF0000)...Done
Erasing block: 17 (addr = 1FD00000)...Done
Erasing block: 18 (addr = 1FD10000)...Done
Erasing block: 19 (addr = 1FD20000)...Done
Erasing block: 20 (addr = 1FD30000)...Done
Erasing block: 21 (addr = 1FD40000)...Done
Erasing block: 22 (addr = 1FD50000)...Done
Erasing block: 23 (addr = 1FD60000)...Done
Erasing block: 24 (addr = 1FD70000)...Done
Erasing block: 25 (addr = 1FD80000)...Done
Erasing block: 26 (addr = 1FD90000)...Done
Erasing block: 27 (addr = 1FDA0000)...Done
Erasing block: 28 (addr = 1FDB0000)...Done
Erasing block: 29 (addr = 1FDC0000)...Done
Erasing block: 30 (addr = 1FDD0000)...Done
Erasing block: 31 (addr = 1FDE0000)...Done
Erasing block: 32 (addr = 1FDF0000)...Done
Erasing block: 33 (addr = 1FE00000)...Done
Erasing block: 34 (addr = 1FE10000)...Done
Erasing block: 35 (addr = 1FE20000)...Done
Erasing block: 36 (addr = 1FE30000)...Done
Erasing block: 37 (addr = 1FE40000)...Done
Erasing block: 38 (addr = 1FE50000)...Done
Erasing block: 39 (addr = 1FE60000)...Done
Erasing block: 40 (addr = 1FE70000)...Done
Erasing block: 41 (addr = 1FE80000)...Done
Erasing block: 42 (addr = 1FE90000)...Done
Erasing block: 43 (addr = 1FEA0000)...Done
Erasing block: 44 (addr = 1FEB0000)...Done
Erasing block: 45 (addr = 1FEC0000)...Done
Erasing block: 46 (addr = 1FED0000)...Done
Erasing block: 47 (addr = 1FEE0000)...Done
Erasing block: 48 (addr = 1FEF0000)...Done
Erasing block: 49 (addr = 1FF00000)...Done
Erasing block: 50 (addr = 1FF10000)...Done
Erasing block: 51 (addr = 1FF20000)...Done
Erasing block: 52 (addr = 1FF30000)...Done
Erasing block: 53 (addr = 1FF40000)...Done
Erasing block: 54 (addr = 1FF50000)...Done
Erasing block: 55 (addr = 1FF60000)...Done
Erasing block: 56 (addr = 1FF70000)...Done
Erasing block: 57 (addr = 1FF80000)...Done
Erasing block: 58 (addr = 1FF90000)...Done
Erasing block: 59 (addr = 1FFA0000)...Done
Erasing block: 60 (addr = 1FFB0000)...Done
Erasing block: 61 (addr = 1FFC0000)...Done
Erasing block: 62 (addr = 1FFD0000)...Done
Erasing block: 63 (addr = 1FFE0000)...Done
=========================
Erasing Routine Complete
=========================
elapsed time: 42 seconds
*** REQUESTED OPERATION IS COMPLETE ***
C:\DIR-320\win32>brjtag -flash:cfe /wiggler /wx8 /dma /fc:033
===============================================
Broadcom EJTAG Debrick Utility v1.9o-hugebird
===============================================
Probing bus ... Done
Detected IR Length is 8
CPU assumed running under LITTLE endian
CPU Chip ID: 00110101001101010100000101111111 (3535417F)
*** Found a Broadcom manufactured BCM5354 REV 03 CPU ***
- EJTAG IMPCODE ....... : 00000000100000010000100100000100 (00810904)
- EJTAG Version ....... : 1 or 2.0
- EJTAG DMA Support ... : Yes
- EJTAG Implementation flags: R4k MIPS16 MIPS32
*** DMA Mode Forced On ***
Issuing Processor / Peripheral Reset ... Done
Enabling Memory Writes ... Done
Halting Processor ... <Processor Entered Debug Mode!> ... Done
Clearing Watchdog ... Done
Loading CPU Configuration Code ... Skipped
*** Manually Selected a MX29LV320AT/BT 2Mx16 TopB (4MB) from Macronix
- Flash Chip Window Start .... : 1FC00000
- Flash Chip Window Length ... : 00400000
- Selected Area Start ........ : 1FC00000
- Selected Area Length ....... : 00040000
*** You Selected to Flash the CFE.BIN ***
=========================
Flashing Routine Started
=========================
Total Blocks to Erase: 4
Erasing block: 1 (addr = 1FC00000)...Done
Erasing block: 2 (addr = 1FC10000)...Done
Erasing block: 3 (addr = 1FC20000)...Done
Erasing block: 4 (addr = 1FC30000)...Done
Loading CFE.BIN to Flash Memory...
Done (CFE.BIN loaded into Flash Memory OK)
=========================
Flashing Routine Complete
=========================
elapsed time: 925 seconds
*** REQUESTED OPERATION IS COMPLETE ***
===============================================
Broadcom EJTAG Debrick Utility v1.9o-hugebird
===============================================
Probing bus ... Done
Detected IR Length is 8
CPU assumed running under LITTLE endian
CPU Chip ID: 00110101001101010100000101111111 (3535417F)
*** Found a Broadcom manufactured BCM5354 REV 03 CPU ***
- EJTAG IMPCODE ....... : 00000000100000010000100100000100 (00810904)
- EJTAG Version ....... : 1 or 2.0
- EJTAG DMA Support ... : Yes
- EJTAG Implementation flags: R4k MIPS16 MIPS32
*** DMA Mode Forced On ***
Issuing Processor / Peripheral Reset ... Done
Enabling Memory Writes ... Done
Halting Processor ... <Processor Entered Debug Mode!> ... Done
Clearing Watchdog ... Done
Loading CPU Configuration Code ... Skipped
*** Manually Selected a MX29LV320AT/BT 2Mx16 TopB (4MB) from Macronix
- Flash Chip Window Start .... : 1FC00000
- Flash Chip Window Length ... : 00400000
- Selected Area Start ........ : 1FC00000
- Selected Area Length ....... : 00040000
*** You Selected to Flash the CFE.BIN ***
=========================
Flashing Routine Started
=========================
Total Blocks to Erase: 4
Erasing block: 1 (addr = 1FC00000)...Done
Erasing block: 2 (addr = 1FC10000)...Done
Erasing block: 3 (addr = 1FC20000)...Done
Erasing block: 4 (addr = 1FC30000)...Done
Loading CFE.BIN to Flash Memory...
Done (CFE.BIN loaded into Flash Memory OK)
=========================
Flashing Routine Complete
=========================
elapsed time: 925 seconds
*** REQUESTED OPERATION IS COMPLETE ***
После перезагрузки роутера появилась возможность зайти в Сrash mode по адресу 192.168.0.1
![]() |
DIR-320 Loader |
Получаю рабочий роутер DIR-320 с восстановленной заводской прошивкой.
![]() |
DIR-320 Login |
прошиваю OpenWRT.
Осталось задействовать весь объем ОЗУ и отрихтовать MAC-адреса.
Скажите, как припаять такой разъем к JTAG?
ОтветитьУдалитьКак паять?
УдалитьВопрос в чем?
Каким способом вы припаяли разъем к месту, где должен стоять JTAG?
УдалитьОтверстия под пайку залиты тугоплавким припоем. Очистил отверстия, (здесь есть технология http://ydoma.info/kak-payat-payalnikom.html), вставил колодку (типа такой http://goo.gl/1EMk3r) и припаял паяльником, используя припой и флюс.
УдалитьОтчищали отсосом?
УдалитьУвидел. Спасибо, посмотрю.
Удалитьв общем собрал виглер. проц определяеться флешка пишется и стирается. но гирлянда горит как и горела, дважды менял оперативку не помогло. не подскажете куда копать, и где взять гарантировано рабочий CFE. как я понимаю для загрузки crash mode нужен только CFE больше заливать не чего не надо?
ОтветитьУдалитьhttps://drive.google.com/file/d/0B1W1Gn-qVH-AbXpBbHVtUzFyUnM/edit?usp=sharing
УдалитьЗдесь CFE и программа для записи флеши, которыми я пользовался. Если флеш записывается и читается (записанный и считанный файлы на идентичность я проверял НЕХ-редактором http://mh-nexus.de/en/hxd/), и ОЗУ нормальное, то я не знаю что еще посоветовать.
спасибо за помощь, но роутер так и не удалось поднять. CFE заливалась без ошибок. но проблема видимо не в этом. да и проц как то подозрительно греется. за 5-10 минут работы начинают лезть ошибки и приходиться прибегнуть к активному охлаждению. видимо в нем и проблема
УдалитьБез пайки реально такое провернуть? Просто у меня та же проблема!
ОтветитьУдалитьА почему пи работе с brjtag вы указываете /fc:033 это для MX29LV320AT/BT, а на dir-320 A1, насколько я знаю S29AL032D90TFI03
ОтветитьУдалить???