?

Log in

No account? Create an account
entries friends calendar profile My LJ Previous Previous Next Next
ADSL модем D-Link DSL-2640U. Часть VI. Подключение JTAG кабеля. - Michael V. Pudeev
pudeev
pudeev
ADSL модем D-Link DSL-2640U. Часть VI. Подключение JTAG кабеля.

Интерфейс 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



UrJTAG
UrJTAG - мощный инструмент для доступа к 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 0x000000000634817F
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: , , , , , , , , , , , , , ,

193 comments or Leave a comment
Comments
Page 1 of 4
[1] [2] [3] [4]
From: (Anonymous) Date: October 14th, 2008 08:33 am (UTC) (Link)

!!!

Красава! Чую - по этой документажке скоро можно будет самому девайс с нуля собрать!
Автор - МОЛОДЦА! Респект и уважуха трудягам невидимого фронта!
From: (Anonymous) Date: November 1st, 2008 06:35 am (UTC) (Link)

Re: !!!

Молодец - однозначно! Есть несколько убитых 2500U Попробывал поднять аналогичным методом, но tjtagv2.exe не знает моей флешки MX29LV160CBTC, пробывал вручную указывать все 2М флехи из набора программы - результат не пишет ни чего... Может кто знает чем можно кроме программатора залить через EJTAG в 2500U образ?
Re: !!! - (Anonymous) - Expand
From: (Anonymous) Date: November 6th, 2008 04:54 pm (UTC) (Link)

Спасибо за статью

Выражаю благодарность за данную статью. Приконнектился к убитому напрочь девайсу ASUS WL-AM604g. Теперь надо где то найти fullbackup данной железки. Т.к. умерла железка после того как прошили прошивкой от железки AM604g. Кто ж знал что WL-AM604g и AM604g это разные вещи. Тем более на самой железке написано AM604g, только потом нашел коробку и увидел что железка все таки WL-AM604g.
From: fisherman34 Date: June 6th, 2011 06:28 pm (UTC) (Link)

Re: Спасибо за статью

Поиски fullbackup для WL-AM604g увенчались успехом? Если да, то можно ли попросить выслать бэкап на мыло fisherman621(гав)gmail(точка)com?
lisnenko From: lisnenko Date: November 17th, 2008 06:52 pm (UTC) (Link)
Михаил, мегареспект!
lisnenko From: lisnenko Date: November 19th, 2008 10:44 am (UTC) (Link)
Я зеленый в некоторых прикладных областях электроники, поэтому вопрос - значок заземления на практике в данном случае что означает - куда со стороны разъема на плате и db25 кидать эти провода помимо соединения их между собой?

На рисунке два значка заземления.
pudeev From: pudeev Date: November 21st, 2008 10:56 am (UTC) (Link)
можешь оставить как есть!
а вообще, чтобы наводок не было, как вариант, можно еще сделать экранированный кабель и кинуть землю на металлический корпус DB25.
demiurgie From: demiurgie Date: December 4th, 2008 03:54 pm (UTC) (Link)
Здравствуйте.
Спасибо данному мануалу, добрался до консольки убитого DSL-2640, но, к сожалению, силёнок определить причину убитости не получается...
Ребутается в цикле постоянно, вывод:
http://hit.inetcomm.net/~rk/dsl2640.txt

Пробовал и родную прошивку с консоли через f 192.168.x.x:flash заливать, и wholeflash.bin, скачанный отсюда: результат одинаков.

Не подскажете по логу, пациент совсем мертв или можно что потеребить? Убить уже не боюсь, не жалко :)

p.s. в качестве консольки прекрасно подошёл "евросетевский" кабель для нокий с PL2303 в прозрачной коробке, стоят всего 100руб (в отличии от родного нокиевского;)
pudeev From: pudeev Date: December 4th, 2008 07:12 pm (UTC) (Link)
Попробуйте в CFE очистить всю flash командой "e a", затем проинициализируйте плату и еще раз залейте factory firmware, например:

CFE> help
Available commands:

w                   Write the whole image start from beginning of the flash
e                   Erase [n]vram or [a]ll flash except bootrom
r                   Run program from flash image or from host depend on [f/h] flag
p                   Print boot line and board parameter info
c                   Change booline parameters
f                   Write image to the flash
i                   Erase persistent storage data
b                   Change board parameters
reset               Reset the board
flashimage          Flashes a compressed image after the bootloader.
help                Obtain help for CFE commands

For more information about a command, enter 'help command-name'
*** command status = 0

CFE> help e

  SUMMARY

     Erase [n]vram or [a]ll flash except bootrom

  USAGE

     e [n/a]

*** command status = 0

|||||||||||||||

CFE> e n
Erase nvram? (y/n):y

Resetting board...

CFE version 1.0.37-10.2 for BCM96348 (32bit,SP,BE)
Build Date: Tue May  6 11:48:44 CST 2008 (root@nickp43000)
Copyright (C) 2000-2006 Broadcom Corporation.

Boot Address 0xbfc00000

Initializing Arena.
Initializing Devices.
Parallel flash device: name MX29LV320AB, id 0x22a8, size 4096KB

*** Board is not initialized properly ***

Press:   to use current value
        '-' to go previous parameter
        '.' to clear the current value
        'x' to exit this command
R                ------- 0
R2P-16M          ------- 1
WLAN             ------- 2
CT5612S-122      ------- 3
D-1P-W           ------- 4
D-4P-W           ------- 5
D-4P-WPS         ------- 6
D-1P-3P-W        ------- 7
WLAN-F           ------- 8
WLAN-N           ------- 9
Board Id (0-9)      

....              :
Use default boot line parameters: e=192.168.1.1:ffffff00 h=192.168.1.100 g= r=f f=vmlinux i=bcm963xx_fs_kernel d=3 p=0
Board IP address                  : 192.168.1.1:ffffff00
Host IP address                   : 192.168.1.100
Gateway IP address                :
Run from flash/host (f/h)         : f
Default host run file name        : vmlinux
Default host flash file name      : bcm963xx_fs_kernel
Boot delay (0-9 seconds)          : 3
Board Id (0-9)                    : D-4P-W
Number of MAC Addresses (1-32)    : 24
Base MAC Address                  : 00:10:18:00:00:00
PSI Size (1-128) KBytes           : 128
Dying Gasp Enable (0:Disable 1:Enable)  : 1
Product Name (maximum 16 words)  : D-Link 2640U
Serial Number (maximum 16 words)  : 1234
Hardware version (maximum 16 words)  : 23445

*** Press any key to stop auto run (3 seconds) ***
Auto run second count down: 2
web info: Waiting for connection on socket 0.

(no subject) - (Anonymous) - Expand
From: (Anonymous) Date: February 1st, 2009 07:19 pm (UTC) (Link)
Михаил - тут 2 момента ... поглядел что за железка neuf box 4 подо что французы фирмварь ваяют.
bcm6358 (2 ядра 300 мгц)32 мега озу 16 флеша 2 порта USB2 ... имхо тут смысл есть, а наши 2640 мыльницы :(

и еще - попалось вот решение по распайке USB в 6348 (то есть имеется схема электрическая принципиальная : надо кренку 5 вольтовую(если нет требований по питанию от USB если есть то надо импульсник )+ рассыпуха из резисторов и конденсаторов) Все это на ноги проца bcm6348.

см тут http://wiki.openwrt.org/OpenWrtDocs/Hardware/Netgear/DG834GT

вопрос (мой длинк на стене висит и по пптп ходит к прову разбирать лениво)
на плате 2640U нет ли нераспаянной кренки и рассыпухи вокруг или надо навесом паять ?





From: (Anonymous) Date: April 26th, 2009 06:39 pm (UTC) (Link)

А у Вас имеется расПИНОВка 6348????

У меня WL-AM604G/Хочу примаунтить USB-дисок,но ни чего не нашел.Товарисч выше рекомендовал схемку http://oldwiki.openwrt.org/OpenWrtDocs(2f)Hardware(2f)Netgear(2f)DG834GT.html?highlight=%28OpenWrtDocs/Hardware%29, но плата другая.
Буду благодарен любой информации.
ПС: ЖЖ у меня нет, извините.Буду заглядывать!Заранее спасибо!
Максим.
From: (Anonymous) Date: February 25th, 2009 01:56 pm (UTC) (Link)

Andy

Здравствуйте Михаил!
Есть модем compex MRL21e.У него на борту Broadcom 6338,EtronTech em638165,KH29lv160(Flash)и распаян разъём 4 пин (3 по 3,хх вольта и один видно земля).Была неудачная(оборвалась)прошивка!До этого модем был перешит на ZTE ZXDSL 831A II c TP-8811.А до этого он был Интеркроссом 5633е и dlinkами 2520\2540\2300U.C Dlinков уходить на другие не хотел(только прерывание прошивки на помогло).Из краша шиться тоже не желал иногда и на вызов краш-решима ресетом не реагировал.Зашёл в краш только прерыванием прошивки!После прерывания прошивки ZTE модем пингуется но не даёт коннекта ни веб ни телнет(пишет - соединение по 23 порту сброшено).Как его посоветуете вернуть на родную прошивку Compex или TP-link?Или его только в мусор?!Кстати он на вид вылитый Beetel 220bx1
pudeev From: pudeev Date: February 25th, 2009 03:33 pm (UTC) (Link)

Re: Andy

Подключите консольный кабель(Rx,Tx,Gnd) к 4-х пиновому разъему.
Войдите в CFE и запишите во флеш родную прошивку
CFE> flashimage 192.168.1.100:firmware.bin
From: (Anonymous) Date: February 25th, 2009 06:00 pm (UTC) (Link)

Andy

Спасибо за ответ!Но есть засада....1.Есть USB-кабель(купленный в мобильном салоне от х3)и свой "самопай" на COM-обоими перепрошивал Siemens S55\C45.Такой подойдёт? 2.На модеме из 4х-3 токовых пина - предлагаете "методом тыка" найти Rx Tx ?Каким софтом посоветуете пользоваться(у меня Runtu 3 и WinXp x64)?С командной строкой дружу.4.Не шил консольным кабелем АДСЛ-модемы (только по ftp\web)не представляю каким софтом добиться CFE ибо с reset+power on это модем делать не желает.Заметил по пингу,что при данном способе вызова CFE,модем восвращает ровно 3 раза TTL=100 и потом снова TTL=64?!
From: (Anonymous) Date: February 25th, 2009 06:37 pm (UTC) (Link)

Andy

Вы написали что прошивку надо слать на 192.168.1.100.А почему не на 192.168.1.1.По умолчанию адрес модема 192.168.1.1.Сетевая карта на 192.168.1.2.
P.S.Из операционок есть ещё W2K3 Server Standart но на старом железе(P-II 450mhz\RAM512mb)
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: October 13th, 2010 06:38 am (UTC) (Link)

Re: Andy

1. управление идет через UART интерфейс (CFE), передача данных по Ethernet (TFTP/UDP)

2. UART

3. В CFE по дефолту установлен 192.168.1.100

4. Adam2 используется у Texas Instruments, а у Broadcom - CFE

5. возможно глючит прошивка.
From: (Anonymous) Date: April 8th, 2009 07:09 pm (UTC) (Link)

Помогите реанимировать D-Link 2640U

кабель сделал EJTAG, подключил, забиваю -probeonly - проц определяет, а флэш пишет Unknow flash, ставлю /fc:40 (и 41 пробовал) согласно моей флеш

MX29LV320CB, но тогда -backup выдает пустые .bin (с нулями), а при попытке -erase тупо зависает на стирании первого блока.Помогает только Ctrl-C.

мои контакты bla84diamond@gmail.com , ICQ 408377

Заранее всем благодарен.
From: (Anonymous) Date: April 12th, 2009 12:32 pm (UTC) (Link)

Re: Помогите реанимировать D-Link 2640U

У меня абсолютно такая же проблема.
From: (Anonymous) Date: April 27th, 2009 09:46 am (UTC) (Link)
Кто-нибудь находил распиновку JTAG для Compex MRL21E ? Может у кого-нибудь есть документация на SoC BCM6338KFB ?

Буду признателен за ответы !
pudeev From: pudeev Date: May 6th, 2009 06:19 am (UTC) (Link)

Поиск выводов JTAG

Поиск EJTAG - (Anonymous) - Expand
Re: Поиск EJTAG - (Anonymous) - Expand
Re: Поиск EJTAG - (Anonymous) - Expand
Re: Поиск EJTAG - (Anonymous) - Expand
Re: Поиск EJTAG - (Anonymous) - Expand
From: (Anonymous) Date: May 4th, 2009 10:32 am (UTC) (Link)

Как определить где TDO, TDI и т.д?

Не могу определить что, где соединять...Пробывал разные комбинации методом тыка, но требуемый результат не получил. У меня есть мультитестер...можежет с его помощью можно это определить??
pudeev From: pudeev Date: May 6th, 2009 06:17 am (UTC) (Link)

Re: Как определить где TDO, TDI и т.д?

Ищите на печатной плате место где есть "подтягивающие" резисторы (pull-up resistor) одинакового номинала(обычно 10кОм), которые подключены к шине +3,3V.
Выход TDO должен быть без "подтягивающего" резистора.
По фото можно попробовать определить это место.
From: (Anonymous) Date: May 16th, 2009 10:35 am (UTC) (Link)

почему не видит флешь? (D-Link 2640U)

Проц определяет, далее пишет no flash detected.
Флешь стоит MX29LV320CBT.
Пробовал принудительно fc:31 и fc:32 читает одни 0, при стирании зависает.
Пробовал много раз подряд прогу запускать, как написано выше - не помогает.
Но в списке только флеши 320В и 320Т, а 320С нет. Как быть? Прога не поддерживает эту память?
From: (Anonymous) Date: May 19th, 2009 08:02 pm (UTC) (Link)

Re: почему не видит флешь? (D-Link 2640U)

аналогичная ситуация.
если поставить ключ noerase то виснет не на очистке а на одной и той же строке выполнив пару десятков строк .
cpu компа загружено на 100% а не движется
если прервать и попробовать рестор - в рестор пишутся все ноли, даже в те ячейки где было что прошито
подробности - (Anonymous) - Expand
From: (Anonymous) Date: May 20th, 2009 12:08 pm (UTC) (Link)
А флешь какая? 320CBT? Может прога не поддерживает алгоритм 320C и отсюда все грабли?
From: (Anonymous) Date: May 20th, 2009 04:37 pm (UTC) (Link)

Да!

именно она!
и что теперь делать???
193 comments or Leave a comment
Page 1 of 4
[1] [2] [3] [4]