 |


 |
pudeev | |
 |
 |
 |
 |
|
 |
 |
Интерфейс JTAG (Joint Test Action Group) служит для тестирования печатных плат с помощью функции граничного сканирования (boundary scan), программирования энергонезависимой памяти и отладки процессора (debug). В чипе Broadcom BCM6348, cо встроенным CPU MIPS32 4Kc, используется расширенная версия JTAG - EJTAG (Enhanced Joint Test Action Group):
 Интерфейс EJTAG в D-Link DSL-2640U (разъем 8pin на печатной плате модема обозначен J7):

|
1 - TDO (Test Data Output) 3.306v 2 - SRST (System Reset) 3.306v 3 - TMS (Test Mode Select) 3.292v 4 - TDI (Test Data Input) 3.294v 5 - TCK (Test Clock) 2.795v 6 - TRST (Test Reset) 3.306v 7 - GND (Ground) 0v 8 - n/a |
Схема адаптера c подключением к LPT порту используется самая простая, на резисторах:
 Сделал кабель (длина 26см) и подключил модем к LPT порту ПК:
 Скачал утилиту EJTAG Debrick Utility Tornado-MOD. Для ОС Windows установил и запустил драйвер GiveIO.sys (Панель управления -> Диспетчер устройств -> Вид -> Показать скрытые устройства -> Драйверы устройств не Plug and Play -> giveio -> Свойства -> Драйвер -> Состояние: Работает). Для определения типа CPU и FLASH памяти нужно выполнить:
C:\ejtag>tjtagv2 -probeonly
==========================================
EJTAG Debrick Utility v2.1.4-Tornado-MOD
==========================================
Probing bus ... Done
Instruction Length set to 5
CPU Chip ID: 00000110001101001000000101111111 (0634817F)
*** Found a Broadcom BCM6348 Rev 1 CPU chip ***
- EJTAG IMPCODE ....... : 00000000100000000000100100000100 (00800904)
- EJTAG Version ....... : 1 or 2.0
- EJTAG DMA Support ... : Yes
- EJTAG Implementation flags: R4k MIPS32
Issuing Processor / Peripheral Reset ... Done
Enabling Memory Writes ... Done
Halting Processor ... Processor did NOT enter Debug Mode! ... Done
Clearing Watchdog ... Done
Probing Flash at (Flash Window: 0x1fc00000) ... Done
Flash Vendor ID: 00000000000000000000000011000010 (000000C2)
Flash Device ID: 00000000000000000010001010101000 (000022A8)
*** Found a MX29LV320B 2Mx16 BotB (4MB) Flash Chip ***
- Flash Chip Window Start .... : 1fc00000
- Flash Chip Window Length ... : 00400000
- Selected Area Start ........ : 00000000
- Selected Area Length ....... : 00000000
*** REQUESTED OPERATION IS COMPLETE *** | Эта же утилита в ОС Linux:
debian:/sbin# tjtag3 -probeonly
==============================================
EJTAG Debrick Utility v3.0 RC1 Tornado-MOD
==============================================
Failed to open /dev/parport0: No such file or directory
debian:/sbin# dmesg | grep parport
parport: PnPBIOS parport detected.
parport0: PC-style at 0x378, irq 7 [PCSPP,TRISTATE,EPP]
debian:/sbin# mknod /dev/parport0 c 99 0
debian:/sbin# chmod a+rw /dev/parport0
debian:/sbin# tjtag3 -probeonly
==============================================
EJTAG Debrick Utility v3.0 RC1 Tornado-MOD
==============================================
Probing bus ... Done
Instruction Length set to 5
CPU Chip ID: 00000110001101001000000101111111 (0634817F)
*** Found a Broadcom BCM6348 Rev 1 CPU chip ***
- EJTAG IMPCODE ....... : 00000000100000000000100100000100 (00800904)
- EJTAG Version ....... : 1 or 2.0
- EJTAG DMA Support ... : Yes
- EJTAG Implementation flags: R4k MIPS32
Issuing Processor / Peripheral Reset ... ECR: 0x00200100 Done
Enabling Memory Writes ... Mem 0x2000001a
Done
Halting Processor ...
00000000001000001000000100000000 (00208100)
00000000001000000000000100000000 (00200100)
Processor Entered Debug Mode! ... Done
Clearing Watchdog ... Done
Probing Flash at (Flash Window: 0x1fc00000) ...
Done
Flash Vendor ID: 00000000000000000000000011000010 (000000C2)
Flash Device ID: 00000000000000000010001010101000 (000022A8)
*** Found a MX29LV320B 2Mx16 BotB (4MB) Flash Chip ***
- Flash Chip Window Start .... : 1fc00000
- Flash Chip Window Length ... : 00400000
- Selected Area Start ........ : 00000000
- Selected Area Length ....... : 00000000
*** REQUESTED OPERATION IS COMPLETE ***
debian:/sbin# | Сделать бэкап 64K-области NVRAM (последний, 71-й блок FLASH памяти):
C:\ejtag>tjtagv2 -backup:nvram /noreset /bypass
....
....
*** You Selected to Backup the NVRAM.BIN ***
=========================
Backup Routine Started
=========================
Saving NVRAM.BIN.SAVED_20081016_195648 to Disk...
[ 0% Backed Up] 1fff0000: ffffffff ffffffff ffffffff ffffffff
....
[ 99% Backed Up] 1ffffff0: ffffffff ffffffff ffffffff ffffffff
Done (NVRAM.BIN.SAVED_20081016_195648 saved to Disk OK)
bytes written: 65536
=========================
Backup Routine Complete
=========================
elapsed time: 23 seconds
*** REQUESTED OPERATION IS COMPLETE *** | Очистить область NVRAM (заполнить "FF-пустышками" все ячейки 71-го блока):
C:\ejtag>tjtagv2 -erase:nvram /noreset /bypass
....
....
*** You Selected to Erase the NVRAM.BIN ***
=========================
Erasing Routine Started
=========================
Total Blocks to Erase: 1
Erasing block: 71 (addr = 1fff0000)...Done
=========================
Erasing Routine Complete
=========================
elapsed time: 0 seconds
*** REQUESTED OPERATION IS COMPLETE *** | Записать дамп NVRAM в FLASH память из файла бэкапа NVRAM.BIN:
C:\ejtag>tjtagv2 -flash:nvram /noemw /bypass
....
....
*** You Selected to Flash the NVRAM.BIN ***
=========================
Flashing Routine Started
=========================
Total Blocks to Erase: 1
Erasing block: 71 (addr = 1fff0000)...Done
Entered Unlock Bypass mode->
Loading NVRAM.BIN to Flash Memory...
[ 0% Flashed] 1fff0000: 00000000 00000000 00000000 00000000
....
[ 99% Flashed] 1ffffff0: 00000000 00000000 00000000 00000000
Done (NVRAM.BIN loaded into Flash Memory OK)
=========================
Flashing Routine Complete
=========================
elapsed time: 193 seconds
*** REQUESTED OPERATION IS COMPLETE *** | По аналогии бэкапим/стираем/записываем остальные области FLASH памяти: CFE, kernel, FS (ключ custom). Или используем весь дамп FLASH памяти (ключ wholeflash). Пример использования ключа custom. Сделать бэкап CFE (64K):
C:\ejtag>tjtagv2 -backup:custom /start:1fc00000 /window:1fc00000 /length:10000 /noreset /bypass
....
....
[ 99% Backed Up] 1fc0fff0: ffffffff ffffffff ffffffff ffffffff
Done (CUSTOM.BIN.SAVED_20081016_034611 saved to Disk OK)
bytes written: 65536
=========================
Backup Routine Complete
=========================
elapsed time: 175 seconds | Полный дамп FLASH памяти с factory firmware v.3-06-04-1C00 для D-Link DSL-2640U можно скачать отсюда (файл сжат 7-Zip). Все дампы на диске сохраняются в бинарном формате с порядком байт в слове - Big-Endian. Для просмотра и редактирования таких файлов в hex-редакторе удобнее использовать привычный порядок байт в слове - Little-Endian. Конвертировать бинарный файл из 32bit формата Big-Endian в Little-Endian можно с помощью утилиты byteswap (скачать утилиту для Linux или Windows):
# ./byteswap CFE.BIN cfe.bin | UrJTAGUrJTAG - мощный инструмент для доступа к CPU, FLASH, RAM через JTAG интерфейс. Скачать и собрать самую свежую версию утилиты UrJTAG
debian:/home/pudeev/Desktop# svn co https://urjtag.svn.sourceforge.net/svnroot/urjtag urjtag
.
.
.
Checked out revision 1417.
debian:/# cd urjtag/trunk/jtag
debian:/home/pudeev/Desktop/urjtag/trunk/jtag# ./autogen.sh
debian:/home/pudeev/Desktop/urjtag/trunk/jtag# ./configure
debian:/home/pudeev/Desktop/urjtag/trunk/jtag# make
debian:/home/pudeev/Desktop/urjtag/trunk/jtag# make install | Запуск UrJTAG 0.9 ревизия #1417
debian:/home/pudeev# jtag
UrJTAG 0.9 #1417
Copyright (C) 2002, 2003 ETC s.r.o.
Copyright (C) 2007, 2008 Kolja Waschk and the respective authors
UrJTAG is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
There is absolutely no warranty for UrJTAG.
WARNING: UrJTAG may damage your hardware!
Type "quit" to exit, "help" for help.
jtag> | Список всех доступных команд
jtag> help
Command list:
quit exit and terminate this session
help display this help
frequency setup JTAG frequency
cable select JTAG cable
reset reset JTAG chain
discovery discovery of unknown parts in the JTAG chain
idcode Read IDCODEs of all parts in a JTAG chain
detect detect parts on the JTAG chain
signal define new signal for a part
scan read BSR and show changes since last scan
salias define an alias for a signal
bit define new BSR bit
register define new data register for a part
initbus initialize bus driver for active part
print display JTAG chain list/status
part change active part for current JTAG chain
bus change active bus
instruction change active instruction for a part or declare new instruction
shift shift data/instruction registers through JTAG chain
dr display active data register for a part
get get external signal value
test test external signal value
shell shell cmmd
set set external signal value
endian set/print endianess
peek read a single word
poke write a single word
readmem read content of the memory and write it to file
writemem write content of file to the memory
detectflash detect parameters of flash chips attached to a part
flashmem burn flash memory with data from a file
eraseflash erase flash memory by number of blocks
script run command sequence from external file
include include command sequence from external repository
addpart manually adds parts on the JTAG chain
usleep Sleep some number of microseconds
debug debug jtag program
Type "help COMMAND" for details about a particular command. | Хелп по любой команде. Например,
jtag> help idcode
Usage: idcode [BYTES]
Read [BYTES]|all IDCODEs of all parts in a JTAG chain.
BYTES must be an unsigned integer, Use 0 for BYTES to read all bytes
jtag> help detectflash
Usage: detectflash ADDRESS
Detect flash memory type connected to a part.
ADDRESS Base address for memory region | Инициализация параллельного порта, к которому подключен кабель DLC5
jtag> cable DLC5 parallel 0x378
Initializing parallel port at 0x378 | Определение типа процессора
jtag> detect
IR length: 5
Chain length: 1
Device Id: 00000110001101001000000101111111 (0x000000000634817F)
Manufacturer: Broadcom
Unknown part!
chain.c(149) Part 0 without active instruction
chain.c(200) Part 0 without active instruction
chain.c(149) Part 0 without active instruction
jtag> | Создал конфигурационные файлы и добавил информацию о CPU 0x000000000 634817F
debian:/# cat /usr/local/share/urjtag/broadcom/PARTS
#
# $Id: PARTS 1399 2008-12-09 21:21:04Z kawk $
#
# Copyright (C) 2003 ETC s.r.o.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
#
# Written by Matan Ziv-Av <matan@svgalib.org>, 2003.
#
# bits 27-12 of the Device Identification Register
0001001001010000 bcm1250 BCM1250
0011001100010000 bcm3310 BCM3310
0101010000100001 bcm5421s BCM5421S
0100011100010010 bcm4712 BCM4712
0110001101011000 bcm6358 BCM6358
0110001101001000 bcm6348 BCM6348
0110001101000101 bcm6345 BCM6345
0110001100111000 bcm6338 BCM6338 |
debian:/# mkdir /usr/local/share/urjtag/broadcom/bcm6348
debian:/# touch /usr/local/share/urjtag/broadcom/bcm6348/STEPPINGS
debian:/# cat /usr/local/share/urjtag/broadcom/bcm6348/STEPPINGS
#
# $Id: STEPPINGS 599 2004-06-13 18:16:43Z telka $
#
# Copyright (C) 2004 Alan Wallace <aww@adelphia.net>
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
#
# Written by Alan Wallace <aww@adelphia.net>, 2004.
#
# bits 31-28 of the Device Identification Register
0000 bcm6348 Rev 1 |
debian:/# touch /usr/local/share/urjtag/broadcom/bcm6348/bcm6348
debian:/# cat /usr/local/share/urjtag/broadcom/bcm6348/bcm6348
#
# $Id: bcm6348 2008-05-12 16:55:43 pudeev.livejournal.com $
#
# JTAG declarations for Broadcom BCM6348
# Copyright (C) 2004 Alan Wallace <aww@adelphia.net>
register BR 1
register BSR 480
register DIR 32
register EJIMPCODE 32
register EJADDRESS 32
register EJDATA 32
register EJCONTROL 32
register EJALL 96
register EJFASTDATA 1
instruction length 5
instruction EXTEST 00000 BSR
instruction BYPASS 11111 BR
instruction SAMPLE/PRELOAD 00010 BSR
instruction IDCODE 00001 DIR
instruction EJTAG_IMPCODE 00011 EJIMPCODE
instruction EJTAG_ADDRESS 01000 EJADDRESS
instruction EJTAG_DATA 01001 EJDATA
instruction EJTAG_CONTROL 01010 EJCONTROL
instruction EJTAG_ALL 01011 EJALL
instruction EJTAGBOOT 01100 BR
instruction NORMALBOOT 01101 BR
instruction EJTAG_FASTDATA 01110 EJFASTDATA
endian big
# initbus ejtag_dma
# initbus ejtag
| Определение типа процессора выполнено корректно
jtag> detect
IR length: 5
Chain length: 1
Device Id: 00000110001101001000000101111111 (0x000000000634817F)
Manufacturer: Broadcom
Part(0): BCM6348
Stepping: Rev 1
Filename: /usr/local/share/urjtag/broadcom/bcm6348/bcm6348 | Просканируем в Test Access Port (TAP) все значения регистра данных (DR), с длиной регистра инструкций (IR) 5 бит
jtag> discovery
Detecting IR length ... 5
Detecting DR length for IR 11111 ... 1
Detecting DR length for IR 00000 ... 480
Detecting DR length for IR 00001 ... 32
Detecting DR length for IR 00010 ... 480
Detecting DR length for IR 00011 ... 32
Detecting DR length for IR 00100 ... 1
Detecting DR length for IR 00101 ... Warning: TDO seems to be stuck at 0 -1
Detecting DR length for IR 00110 ... Warning: TDO seems to be stuck at 0 -1
Detecting DR length for IR 00111 ... 1
Detecting DR length for IR 01000 ... 32
Detecting DR length for IR 01001 ... 32
Detecting DR length for IR 01010 ... 32
Detecting DR length for IR 01011 ... 96
Detecting DR length for IR 01100 ... 1
Detecting DR length for IR 01101 ... 1
Detecting DR length for IR 01110 ... 1
Detecting DR length for IR 01111 ... 1
Detecting DR length for IR 10000 ... Warning: TDO seems to be stuck at 0 -1
Detecting DR length for IR 10001 ... 1
Detecting DR length for IR 10010 ... 1
Detecting DR length for IR 10011 ... 1
Detecting DR length for IR 10100 ... 1
Detecting DR length for IR 10101 ... 1
Detecting DR length for IR 10110 ... 1
Detecting DR length for IR 10111 ... 1
Detecting DR length for IR 11000 ... 1
Detecting DR length for IR 11001 ... 1
Detecting DR length for IR 11010 ... 1
Detecting DR length for IR 11011 ... 1
Detecting DR length for IR 11100 ... 1
Detecting DR length for IR 11101 ... 1
Detecting DR length for IR 11110 ... 1 | Тоже самое, но при сбросе TAP контроллера (подача напряжения +3,3v через резистор 100Ом на TRST)
jtag> discovery
Detecting IR length ... 5
Detecting DR length for IR 11111 ... 1
Detecting DR length for IR 00000 ... 480
Detecting DR length for IR 00001 ... 32
Detecting DR length for IR 00010 ... 480
Detecting DR length for IR 00011 ... 32
Detecting DR length for IR 00100 ... 1
Detecting DR length for IR 00101 ... 1
Detecting DR length for IR 00110 ... 1
Detecting DR length for IR 00111 ... 1
Detecting DR length for IR 01000 ... 32
Detecting DR length for IR 01001 ... 32
Detecting DR length for IR 01010 ... 32
Detecting DR length for IR 01011 ... 96
Detecting DR length for IR 01100 ... 1
Detecting DR length for IR 01101 ... 1
Detecting DR length for IR 01110 ... 1
Detecting DR length for IR 01111 ... 1
Detecting DR length for IR 10000 ... Warning: TDO seems to be stuck at 0 -1
Detecting DR length for IR 10001 ... 1
Detecting DR length for IR 10010 ... 1
Detecting DR length for IR 10011 ... 1
Detecting DR length for IR 10100 ... 1
Detecting DR length for IR 10101 ... 1
Detecting DR length for IR 10110 ... 1
Detecting DR length for IR 10111 ... 1
Detecting DR length for IR 11000 ... 1
Detecting DR length for IR 11001 ... 1
Detecting DR length for IR 11010 ... 1
Detecting DR length for IR 11011 ... 1
Detecting DR length for IR 11100 ... 1
Detecting DR length for IR 11101 ... 1
Detecting DR length for IR 11110 ... 1 | Инициализация шины с режимом DMA (Direct Memory Access) для прямого доступа к FLASH памяти без участия CPU
jtag> initbus ejtag_dma
ImpCode=00000000100000000000100100000100
EJTAG version: <= 2.0
EJTAG Implementation flags: R4k DMA MIPS32
Clear memory protection bit in DCR
Clear Watchdog
Potential flash base address: [0x0], [0x3fc00000]
Processor successfully switched in debug mode.
jtag> print
No. Manufacturer Part Stepping Instruction Register
-------------------------------------------------------------------------------------------------------------------
0 Broadcom BCM6348 Rev 1 EJTAG_CONTROL EJCONTROL
Active bus:
*0: EJTAG compatible bus driver via DMA (JTAG part No. 0)
start: 0x00000000, length: 0x1E000000, data width: 32 bit, (USEG : User addresses)
start: 0x1E000000, length: 0x02000000, data width: 16 bit, (FLASH : Addresses in flash (boot=0x1FC000000))
start: 0x20000000, length: 0x60000000, data width: 32 bit, (USEG : User addresses)
start: 0x80000000, length: 0x20000000, data width: 32 bit, (KSEG0: Kernel Unmapped Cached)
start: 0xA0000000, length: 0x20000000, data width: 32 bit, (KSEG1: Kernel Unmapped Uncached)
start: 0xC0000000, length: 0x20000000, data width: 32 bit, (SSEG : Supervisor Mapped)
start: 0xE0000000, length: 0x20000000, data width: 32 bit, (KSEG3: Kernel Mapped)
jtag> readmem 0x1fc00000 0x00002000 test.bin
address: 0x1FC00000
length: 0x00002000
reading:
addr: 0x1FC02000
Done.
jtag> | Или инициализация шины с режимом PrAcc (Processor Access) для доступа к FLASH памяти через внутреннюю память процессора (считывание данных при этом идет медленно, ориентировочно - 4096 байт за 25 сек)
jtag> initbus ejtag
No. Manufacturer Part Stepping Instruction Register
-------------------------------------------------------------------------------------------------------------------
0 Broadcom BCM6348 Rev 1 EJTAG_DATA EJDATA
Active bus:
*0: EJTAG compatible bus driver via PrAcc (JTAG part No. 0)
start: 0x00000000, length: 0x20000000, data width: 8 bit
start: 0x20000000, length: 0x20000000, data width: 16 bit
start: 0x40000000, length: 0x20000000, data width: 32 bit
jtag> readmem 0x1fc00000 0x00400000 wholeflash.bin
address: 0x1FC00000
length: 0x00400000
reading:
addr: 0x20000000
Done.
| Update до ревизии #1430 (update 10/02/2009):
debian:/home/pudeev/Desktop/urjtag# svn up
...
...
...
Updated to revision 1430.
debian:/# cd urjtag/trunk/jtag
debian:/home/pudeev/Desktop/urjtag/trunk/jtag# ./autogen.sh
debian:/home/pudeev/Desktop/urjtag/trunk/jtag# ./configure
debian:/home/pudeev/Desktop/urjtag/trunk/jtag# make
debian:/home/pudeev/Desktop/urjtag/trunk/jtag# make install | Приветствуется любая информация по работе устройства через интерфейс JTAG !Оглавление:Часть I. Описание, тех. характеристикиЧасть II. Подключаем консольный кабельЧасть III. Boot Loader, OS Linux 2.6.8.1 и оболочка BusyBox 1.0Часть IV. Собрал первую тестовую прошивкуЧасть V. Процесс сборки/разборки и обновления firmwareЧасть VI. Подключение JTAG кабеля Tags: adsl, bcm6348, boundary scan, broadcom, busybox, d-link, debug, dsl-2640u, ejtag, firmware, jtag, linux, linux embedded, modem, red hat
|
 |
 |
 |
 |
|
 |
 |






 |
 |
 |
 |
 |
 |
Здравствуйте. Спасибо данному мануалу, добрался до консольки убитого DSL-2640, но, к сожалению, силёнок определить причину убитости не получается... Ребутается в цикле постоянно, вывод: http://hit.inetcomm.net/~rk/dsl2640.txtПробовал и родную прошивку с консоли через f 192.168.x.x:flash заливать, и wholeflash.bin, скачанный отсюда: результат одинаков. Не подскажете по логу, пациент совсем мертв или можно что потеребить? Убить уже не боюсь, не жалко :) p.s. в качестве консольки прекрасно подошёл "евросетевский" кабель для нокий с PL2303 в прозрачной коробке, стоят всего 100руб (в отличии от родного нокиевского;)
|
 |
 |
 |
 |
|
|  |
 |





 |
 |
 |
 |
 |
 |
| From: (Anonymous) |
Date: February 26th, 2009 10:15 am (UTC) |
| (Link) |
Andy
|
;-)Разобрался-прошил-работает!Сразу удачно подцепил "самопай" и запустил PuTTy.Теперь без "консоли",но ,только прошивка от TD-8811,ставится строго без вебморды.Т.е. по телнет заходишь и всё можно настроить\пользовать,но веб-морды нет?!С консоль-кабелем же всё сразу ОК!Первый раз прошивал так - как только "устаканился" TTL=100 и загорелось нужных 2 диода,вырубил комп(модем-нет),отключил "консоль"(диоды горят).Перезагрузил комп(TTL=100)и чисто по RJ-45 попробовал залить Dynalink rta 1320(плюнуло),Callisto 831+r3(зашла-заработала).С каллисты как с ZTE и Длинков(без консоли)ступор!Далее спокойно -> Beetel -> Intercross -> Compex.С кабелем на Tp-link(с него сейчас и пишу)....
Остались вопросы! 1.Шил (с СОМ-кабелем),но через IP modem\upload.html,не отключая RJ-45,статистику видел в DOS-окне.А шилось(быстро) то реально по какому интерфейсу??? 2.Что же за 4 пина?JTAG или COM ?!? 3. Почему вы советовали лить на 192.168.1.100? 4.Есть ли у BCM 6338 что - то типа Adam2 и как его найти? 5.Почему слетала ВебМорда у TD-8811 и как её вернуть без перепрошивки?
|
 |
 |
 |
 |
|

|  |
 |







 |
 |
|

 |
 |
 |
 |
 |
| From: (Anonymous) |
Date: May 22nd, 2009 07:55 am (UTC) |
| (Link) |
|
при попытке загрузить прошивку взятую отсюда wholebackup.bin из режима cfe в конце процесса записи посыпались ошибки. вот теперь похоже модому пришел настоящий песец. дамп wholeflash.bin не предназначен для заливки через CFE. Прошивать нужно только с помощью JTAG, тк его формат отличается от формата firmware.bin порядком байт в слове - Big-Endian против Little-Endian
через jtag ничего не получается проц в дебаг не переводится и из памяти читает только нули. предположительно имеющаяся под винду программа tjtagv2 предназначенная для программирования флеш через интерфейс ejtag не работает с чипом mx29lv302cbt Чип FLASH памяти MX29LV320C от Macronix функционально ничем не отличается от других ревизий A,D и без буквы. Все программы (tjtagv2, tjtagv3, TopJTAG Flash Programmer, UrJTAG, Macraigor Flash Programmer, итд) считывают данные о производителе и модели чипа из CFI. У всех выше перечисленных флешек эти данные одинаковые: Manufacture Code = C2 (Macronix) Device Code ID = 22A7 (для T - Top Boot), 22A8 (для B - Bottom Boot)
Как вариант попробовать утилиту tjtagv3 или программу UrJTAG.
Если программно процессор не переводится в режим DEBUG, можно его еще попробовать перевести хардварно. Я этим вопросом пока не занимался, нет времени. Если есть желание поэксперименторовать, то welcome :-)
|
 |
 |
 |
 |
|

|  |
 |

 |
 |
|

 |
 |
 |
 |
 |
 |
From: pudeev |
Date: May 27th, 2009 06:26 am (UTC) |
| (Link) |
EJTAG Debrick Utility Tornado-MOD & UrJTAG
|
скачал tjtag3 а там в виндовой папке какойто бинарник , пробовал его переименовать в экзешник - невышлоEJTAG Debrick Utility v3.0 RC1 Tornado-MOD http://pudeev.nightmail.ru/utility/jtag/tjtag/попробовал UrJTAG под винду - при старте пишет что libusb0.dll не найден, пытаюсь раскопать что за зверь и с чем его едятUrJTAG в Windows прекрасно работает под Cygwin. Если используете кабель DLC5, при сборке отключите ненужные модули: ./configure --enable-bus=ejtag,ejtag_dma --enable-cable=dlc5,wiggler --without-libusb --without-libftdi --without-ftd2xx Да, и не забудьте запустить драйвер для LPT IOperm.sys в Cygwin:
Microsoft Windows XP [Версия 5.1.2600]
(С) Корпорация Майкрософт, 1985-2001.
C:\>cygwin\bin\ioperm.exe -v
Usage: ioperm [--usage] [--help] [-V] [-v] [-i|-u]
C:\>cygwin\bin\ioperm.exe -V
ioperm 0.4 for Cygwin
Copyright (C) 2002, 2003 ETC s.r.o.
ioperm is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
There is absolutely no warranty for ioperm.
Written by Marcel Telka
C:\>C:\cygwin\bin\ioperm.exe -i
ioperm.sys is already installed.
C:\>cygwin\bin\ioperm.exe -i
ioperm.sys is already installed.
ioperm.sys is already running.
C:\> |
|
 |
 |
 |
 |
|

|  |
 |




 |
 |
 |
 |
 |
 |
| From: (Anonymous) |
Date: August 5th, 2009 05:32 am (UTC) |
| (Link) |
Board Id
|
Михаил, подскажите пожалуйста, есть ли шанс оживить D-Link 2500U когда на консоли вообще тишина?
Мне он достался некорректно прошитым, поэтому не запускался. Я подключился к консольному порту и увидел, что он просит выбрать тип платы. Там в списке (почему-то) так и было 2500U. Выбрал это, он запустился, на веб-интерфейсе - предложение загрузить прошивку. Скачал с ftp.d-link.com, залил. Перезапускаю - снова просит выбрать Board Id. Но в списке нет 2500U. Выбрал D-4P (не помню почему), модем запустился. Но сеть не работала. Снова зашёл в CFE, выбрал другой Board Id - с тем же номером, что раньше был 2500U (номер 9, board id: R2P-4M-16M), модем сказал "Press any key to reset the board"...
Больше он на консоль ничего уже не говорил 8((
Потом я узнал что для моего модема Board Id должен быть D-1P.
Но как теперь поменять 8((
Удерживание reset при включении питания пробовал многократно, начиная от 10сек и заканчивая 30сек... на консоли тишина всё равно..
Светодиод power горит красным, DSL - зеленым, и LAN в момент включения загорается на одну-две секунды.
Собрал JTAG кабель, попробовал достучаться до флеш разными утилитами (tjtagv2, tjtagv3, urjtag, CiClaMaB), последняя из них не может опознать даже процессор. Остальные его нормально detect-ят (0x000000000633817F), но не могут определить флеш. У меня MX 29LV160CBT, при выборе вручную /fc:09 тот же результат (про него уже писали, при считывании дампа все нули). Я тут измерил свой кабель, он был около 40см. Подумав, что дело может оказаться в этом, я уменьшил его длину до 15см. Всё также.
|
 |
 |
 |
 |
|

|  |
 |


 |
 |
 |
 |
 |
 |
| From: (Anonymous) |
Date: September 2nd, 2009 04:01 am (UTC) |
| (Link) |
благодарность и уважение
|
Кратенько опишу что было: ASUS WL-AM604g перегревался и видимо из-за этого терял настройки. Мой друг (в принципе не ламер) решил его перепрошить. Я из отпуска возвращаюсь, а это "тело" уже почти дохлое - горит индикатор питания зеленым, рядом восклицательный знак красным и ACT - зеленым. Зайти на него по сети не возможно. При подключении к компу даже c установленным стационарным IP 192.168.1.2 все равно ищет адрес. Соответсвенно не пингуется, по веб-интерфейсу не заходит. Как оказалось попытался он залить прошивку от ASUS AM604g, что как пишут не одно и тоже. Чудом набрел на эту статью. Огромное спасибо за информацию. Теперь, что делали: 1.Распаяли шнурок как в статье - подключили. 2.С помощью программы EJTAG Debrick Utility Tornado-MOD подключились. 3.Увидели что проц вошел в режим отладки командой tjtagv2 -probeonly. А дальше самое интересное: Поскольку родного дампа от ASUS WL-AM604g не нашел, решил залить полный дамп FLASH памяти с factory firmware v.3-06-04-1C00 для D-Link DSL-2640U (они же близнецы). Причем сделал это не очищая предварительно флешы по частям, а сразу ввел команду tjtagv2 -flash:wholeflash /noemw /bypass. Минут 40 лилась прошивка и мы почти ни на что не надеялись. После окончания заливки и перезагрузки девайса компьютер подключенный к нему по сети сразу получил автоматом IP, что нас обнадежило. А когда, мы зашли по вебу, то все очумели - там D-Link DSL-2640U. Но самое смешное, что настроили ADSL, Wi-Fi и LAN - dc` работает. Решили так: если будет нормально фунциклировать, то и хрен с ним, что там D-Link внутри. Вот такой получился волк в овечьей шкуре! Так что, Майкл, огромная благодарность и уважение.
|
 |
 |
 |
 |
|

|  |
 |

|
 |
|
 |