IPB
X   Сообщение сайта
(Сообщение закроется через 2 секунды)
> Ваше меню

Здравствуйте, гость
( Вход | Регистрация )

> Заработай на форуме


Зарегистрируйтесь как вебмастер и следуйте инструкции по установке кода. Подробности можно узнать на форуме участников системы.

> Полезные ссылки






 
> D-Link DWL-2100AP, JTAG
УКРОП
сообщение 11.1.2008, 15:26
Сообщение #1


Администратор


Группа: Главные администраторы
Сообщений: 265
Регистрация: 7.1.2008
Из: вне
Пользователь №: 1



Восстановление работоспособности точки доступа D-Link DWL-2100AP когда точка абсолютно не подаёт признаков работоспособности (не светится ниодин светодиод, через COM-порт не видится), так бывает если отформатировать флэш через COM-порт или когда повреждается загрузчик. (мой случай ) Рассмотрено под ревизии A3 и A4.

В случае когда по разным причинам точка не подаёт никаких признаков жизни есть последний шанс восстановить точку - это подключиться через JTAG кабель и сделать необходимое.

Нам понадобится:
1. Компьютер с операционной системой Linux или FreeBSD (в моём случае я использовал Linux ASP11) имеющий LPT-порт для принтера.
2. JTAG-кабель по схеме WIGGLER. Отечественный аналог микросхемы 74HC244 - КР1564АП5
3. Источник бесперебойного питания (UPS) ОБЯЗАТЕЛЬНО! Через него обязательно подключать точку и желалательно компьютер, в противном случае от малейших импульсов в сети посыпятся ошибки при программировании! Процесс прошивки достаточно длительный поэтому лучше перестраховаться.
Прикрепленный файл  wiggler.gif ( 27.24 килобайт ) Кол-во скачиваний: 488

Я использовал упрощённый вариант без микросхемы
Прикрепленный файл  wiggler_mini.gif ( 7.86 килобайт ) Кол-во скачиваний: 444

Основной недостаток упрощённый схемы это критичность к длине кабеля, его длина должна быть менее 10 см! Если у Вас компьютер не АТХ то нужно учитывать и длину шлейфа от LPT разъёма до материнской платы!

Разъём подключаем к LPT-порту компьютера (не забудьте его включить в биосе на стандартное прерывание IRQ7, 0x378), а вторым концом припаиваемся к контактам помеченным J5 (у ревизии А3 и А4)
Прикрепленный файл  2100_j5.gif ( 3.85 килобайт ) Кол-во скачиваний: 397

3. Софт для работой через JTAG. Я использовал готовый пропатченый jtag Прикрепленный файл  jtag_bin.zip ( 887.32 килобайт ) Кол-во скачиваний: 1046

Распаковав папку jtag-bin.zip, заходим в папку, куда распаковали и копируем директорию share в директорию /usr/local/ Запускать JTAG следует обязательно от пользователя root.

И так, точка подуключена к LPT-порту, питание к точке включено, запускаем ./jtag и делаем следующее:
Код
[root@boss jtag_bin]# ./jtag
JTAG Tools 0.6-cvs-20051228
Copyright (C) 2002, 2003 ETC s.r.o.
JTAG Tools 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 JTAG Tools.

Warning: JTAG Tools may damage your hardware! Type ''quit'' to exit!

Type ''help'' for help.

jtag> cable parallel 0x378 WIGGLER
Initializing Macraigor Wiggler JTAG Cable on parallel port at 0x378
jtag> detect
IR length: 5
Chain length: 1
Device Id: 00000000000000000000000000000001
  Unknown manufacturer!
chain.c(110) Part 0 without active instruction
chain.c(133) Part 0 without active instruction
chain.c(110) Part 0 without active instruction
jtag> include atheros/ar2312/ar2312
jtag> poke 0x58400000 0x000e3ce1
ImpCode=01000000010000000100000000000000
EJTAG version: 2.6
EJTAG Implementation flags: R4k ASID_8 NoDMA MIPS32
jtag> detectflash 0x1fc00000
dev ID=007e man ID=0001
Using CFI flash chip detection, not jedec
Query identification string:
        Primary Algorithm Command Set and Control Interface ID Code: 0x0002
(AMD/Fujitsu Standard Command Set)
        Alternate Algorithm Command Set and Control Interface ID Code: 0x0000 (null)
Query system interface information:
        Vcc Logic Supply Minimum Write/Erase or Write voltage: 2700 mV
        Vcc Logic Supply Maximum Write/Erase or Write voltage: 3600 mV
        Vpp [Programming] Supply Minimum Write/Erase voltage: 0 mV
        Vpp [Programming] Supply Maximum Write/Erase voltage: 0 mV
        Typical timeout per single byte/word program: 128 us
        Typical timeout for maximum-size multi-byte program: 128 us
        Typical timeout per individual block erase: 1024 ms
        Typical timeout for full chip erase: 0 ms
        Maximum timeout for byte/word program: 256 us
        Maximum timeout for multi-byte program: 4096 us
        Maximum timeout per individual block erase: 16384 ms
        Maximum timeout for chip erase: 0 ms
Device geometry definition:
        Device Size: 4194304 B (4096 KiB, 4 MiB)
        Flash Device Interface Code description: 0x0002 (x8/x16)
        Maximum number of bytes in multi-byte program: 32
        Number of Erase Block Regions within device: 2
        Erase Block Region Information:
                Region 0:
                        Erase Block Size: 8192 B (8 KiB)
                        Number of Erase Blocks: 8
                Region 1:
                        Erase Block Size: 65536 B (64 KiB)
                        Number of Erase Blocks: 63

Порт JTAG очень медленный, например для заливки родного загрузчика размером 327 килобайт у меня ушло 9 часов, представьте сколько будет по времени литься образ флэшки в 4 мегобайта, я заново заливал образ по причине того что у меня накрылся раздел ''/fl'' и при подключении через COM-порт была строчка ''tffsDevCreate failed.''. На прошивку образа флэш у меня ушло 2,5-3 суток. У других процесс проходил намного быстрее (181 минута и 44 часа соответственно), причину пока не выяснил.

И так, нам надо определиться что будет прошивать, я делал 2 вещи: прошивал загрузчик и прошивал образ флэшки. Качаем что вам нужно:
- загрузчик Прикрепленный файл  2100.boot ( 320 килобайт ) Кол-во скачиваний: 506
- образ флэшки Прикрепленный файл  fullflash.rar ( 2.55 мегабайт ) Кол-во скачиваний: 3444


Заливка осуществляется командой ''flashmem 0x1fc00000 имя_файла''.
На примере заливки загрузчка это выглядит так:
Код
jtag> flashmem 0x1fc00000 2100.boot
program blocks:
Chip: AMD Flash
        Manufacturer: AMD
        Chip: Unknown (ID 0x007e)
        Protected: 0000
flash_unlock_block 0x1FC00000 IGNORE
block 0 unlocked
flash_erase_block 0x1FC00000
..flash_erase_block 0x1FC00000 DONE
erasing block 0 to program 8192 bytes, status: 0
flash_unlock_block 0x1FC02000 IGNORE
block 1 unlocked
flash_erase_block 0x1FC02000
.....flash_erase_block 0x1FC02000 DONE
erasing block 1 to program 8192 bytes, status: 0
flash_unlock_block 0x1FC04000 IGNORE
block 2 unlocked
flash_erase_block 0x1FC04000
........flash_erase_block 0x1FC04000 DONE
erasing block 2 to program 8192 bytes, status: 0
flash_unlock_block 0x1FC06000 IGNORE
block 3 unlocked
flash_erase_block 0x1FC06000
......flash_erase_block 0x1FC06000 DONE
erasing block 3 to program 8192 bytes, status: 0
flash_unlock_block 0x1FC08000 IGNORE
block 4 unlocked
flash_erase_block 0x1FC08000
...flash_erase_block 0x1FC08000 DONE
erasing block 4 to program 8192 bytes, status: 0
flash_unlock_block 0x1FC0A000 IGNORE
block 5 unlocked
flash_erase_block 0x1FC0A000
....flash_erase_block 0x1FC0A000 DONE
erasing block 5 to program 8192 bytes, status: 0
flash_unlock_block 0x1FC0C000 IGNORE
block 6 unlocked
flash_erase_block 0x1FC0C000
......flash_erase_block 0x1FC0C000 DONE
erasing block 6 to program 8192 bytes, status: 0
flash_unlock_block 0x1FC0E000 IGNORE
block 7 unlocked
flash_erase_block 0x1FC0E000
.......flash_erase_block 0x1FC0E000 DONE
erasing block 7 to program 8192 bytes, status: 0
flash_unlock_block 0x1FC10000 IGNORE
block 8 unlocked
flash_erase_block 0x1FC10000
.......................flash_erase_block 0x1FC10000 DONE
erasing block 8 to program 65536 bytes, status: 0
flash_unlock_block 0x1FC20000 IGNORE
block 9 unlocked
flash_erase_block 0x1FC20000
.........................................flash_erase_block 0x1FC20000 DONE
erasing block 9 to program 65536 bytes, status: 0
flash_unlock_block 0x1FC30000 IGNORE
block 10 unlocked
flash_erase_block 0x1FC30000
.......................................flash_erase_block 0x1FC30000 DONE
erasing block 10 to program 65536 bytes, status: 0
flash_unlock_block 0x1FC40000 IGNORE
block 11 unlocked
flash_erase_block 0x1FC40000
.......................................flash_erase_block 0x1FC40000 DONE
erasing block 11 to program 65536 bytes, status: 0
addr: 0x1FC50000 (done)
verify:
addr: 0x1FC50000
Done.
jtag>

прошивка фуллфлэш содержит 70 блоков
кстати после прошивки всех блоков идёт проверка "verify:", если торопитесь то её делать не обязательно, можно приостановить прошивку нажав Ctrl+C, отключить LPT разъём и сбросить точку по питанию.

И на последок повторюсь, чтобы не потерять драгоценное время подключите компьютер и точку доступа через источник бесперебойного питания, особенно если вы прошиваете фулфлэш. Удачи!
 
4 страниц V   1 2 3 > »   
    Новая Тема
Ответов (1 - 19)
kernell
сообщение 3.6.2008, 9:36
Сообщение #2


Новичок


Группа: Пользователи
Сообщений: 4
Регистрация: 16.4.2008
Пользователь №: 187



Сделал WIGGLER MINI по вашей схеме, но он неработает - не происходит DETECT. Думаю, проблема в KT315. Какой именно надо изпользовать, KT315Г или KT315A?
 
УКРОП
сообщение 3.6.2008, 17:45
Сообщение #3


Администратор


Группа: Главные администраторы
Сообщений: 265
Регистрация: 7.1.2008
Из: вне
Пользователь №: 1



Цитата(kernell @ 3.6.2008, 10:36) «
Сделал WIGGLER MINI по вашей схеме, но он неработает - не происходит DETECT. Думаю, проблема в KT315. Какой именно надо изпользовать, KT315Г или KT315A?

это не принципиально... а вы правильно подключили его? база между резисторами на 10к и на 47к, эмиттер на массу, коллектор на 11 контакт jtag'а
 
kernell
сообщение 3.6.2008, 21:42
Сообщение #4


Новичок


Группа: Пользователи
Сообщений: 4
Регистрация: 16.4.2008
Пользователь №: 187



Спасибо за ответ, перепутал эмитер c базой blush.gif
 
УКРОП
сообщение 4.6.2008, 8:00
Сообщение #5


Администратор


Группа: Главные администраторы
Сообщений: 265
Регистрация: 7.1.2008
Из: вне
Пользователь №: 1



Цитата(kernell @ 3.6.2008, 22:42) «
Спасибо за ответ, перепутал эмитер c базой blush.gif

есть отклик на detect? wink.gif
 
kernell
сообщение 4.6.2008, 9:03
Сообщение #6


Новичок


Группа: Пользователи
Сообщений: 4
Регистрация: 16.4.2008
Пользователь №: 187



Один раз заработал, прошить АР неудалось. Хотя с JTAG DLC5 detect проиcxодит но прошить неудаётса.
 
УКРОП
сообщение 4.6.2008, 10:55
Сообщение #7


Администратор


Группа: Главные администраторы
Сообщений: 265
Регистрация: 7.1.2008
Из: вне
Пользователь №: 1



jtag без буферного усилителя очень критичен к длине кабеля, я делал можно сказать вообще без кабеля: отпаял кабель от LPT разъёма, и резисторы впаивал одним концом в разъём jtag прям в плату точки, а другим в разъёму, получалась такая кострукция наверсного монтажа biggrin.gif кстати что пытаешься зашить? загрузчик или фулфлэш? скинь код, посмотрим что у тебя там
 
kernell
сообщение 4.6.2008, 22:16
Сообщение #8


Новичок


Группа: Пользователи
Сообщений: 4
Регистрация: 16.4.2008
Пользователь №: 187



Цитата
jtag без буферного усилителя очень критичен к длине кабеля

Кабель длиной только 5 см.
Цитата
что пытаешься зашить? загрузчик или фулфлэш?

загрузчик
Цитата
скинь код, посмотрим что у тебя там

Код
jtag> flashmem 0x3fc00000 c:\boot.bin
Chip: AMD Flash
        Manufacturer: Macronix
        Chip: MX29LV160B
        Protected: 0000
program:
flash_unlock_block 0x3FC00000 IGNORE

block 0 unlocked
flash_erase_block 0x3FC00000
flash_erase_block 0x3FC00000 DONE
erasing block 0: 0
ejtag.c(139) No processor access, ctrl=00000000000000000000000000000000
ejtag.c(152) PrAcc bad alignment: addr=0x1fff70ff
ejtag.c(152) PrAcc bad alignment: addr=0x1fff70ff
ejtag.c(139) No processor access, ctrl=00000000000100100100000000001000
ejtag.c(139) No processor access, ctrl=00000000001000100100000000001000
ejtag.c(139) No processor access, ctrl=00000000000100100100000000001000


AP у меня DWL G700AP
 
УКРОП
сообщение 5.6.2008, 8:55
Сообщение #9


Администратор


Группа: Главные администраторы
Сообщений: 265
Регистрация: 7.1.2008
Из: вне
Пользователь №: 1



Цитата(kernell @ 4.6.2008, 23:16) «
AP у меня DWL G700AP

G700 на чипе RTL8186, а 2100 на атеросе, это разные железяки и структура у них абсолютно разная
вот для G700 Прикрепленный файл  JTAG.rar ( 6.44 мегабайт ) Кол-во скачиваний: 454
 
EVS_KG
сообщение 13.6.2008, 14:39
Сообщение #10


Новичок


Группа: Пользователи
Сообщений: 2
Регистрация: 7.6.2008
Пользователь №: 281



Цитата(УКРОП @ 3.6.2008, 22:45) «
это не принципиально... а вы правильно подключили его? база между резисторами на 10к и на 47к, эмиттер на массу, коллектор на 11 контакт jtag'а

Уважаемый у вас схема с ошибкой, не нужно подключать землю на 14-й контакт.
И еще у меня проблемма похожая на вашу, ''tffsDevCreate failed.''
Думал все просто, собрал схему, подключился и вот что

------------------------------------------------------------------------------------------------
JTAG Tools 0.6-cvs-20051228
Copyright © 2002, 2003 ETC s.r.o.
JTAG Tools 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 JTAG Tools.

Warning: JTAG Tools may damage your hardware! Type "quit" to exit!

Type "help" for help.

jtag> cable parallel 0x378 WIGGLER
Initializing Macraigor Wiggler JTAG Cable on parallel port at 0x378
jtag> detect
IR length: 5
Chain length: 1
Device Id: 00000000000000000000000000000001
Cannot open /usr/local/share/jtag/MANUFACTURERS
Unknown manufacturer!
chain.c(110) Part 0 without active instruction
chain.c(133) Part 0 without active instruction
chain.c(110) Part 0 without active instruction
jtag> register BR 1
jtag> register BSR 1
jtag> register DIR 32
jtag> register EJIMPCODE 32
jtag> register EJADDRESS 32
jtag> register EJDATA 32
jtag> register EJCONTROL 32
jtag> register EJALL 96
jtag> register EJFASTDATA 33
jtag> instruction length 5
jtag> instruction BYPASS 11111 BR
jtag> instruction SAMPLE/PRELOAD 00010 BSR
jtag> instruction IDCODE 00001 DIR
jtag> instruction EJTAG_IMPCODE 00011 EJIMPCODE
jtag> instruction EJTAG_ADDRESS 01000 EJADDRESS
jtag> instruction EJTAG_DATA 01001 EJDATA
jtag> instruction EJTAG_CONTROL 01010 EJCONTROL
jtag> instruction EJTAG_ALL 01011 EJALL
jtag> instruction EJTAGBOOT 01100 BR
jtag> instruction NORMALBOOT 01101 BR
jtag> instruction EJTAG_FASTDATA 01110 EJFASTDATA
jtag> initbus ejtag
jtag> endian big
jtag> poke 0x584000000 0x000e3ce1
ImpCode=01000000010000000100000000000000
EJTAG version: 2.6
EJTAG Implementation flags: R4k ASID_8 NoDMA MIPS32
jtag> detectflash 0x1fc00000
dev ID=0001 man ID=0010
Using CFI flash chip detection, not jedec
Flash not found!
----------------------------------------------------------------------------------
Я так понимаю моей флешки капец?
На всякий случай попробовал
jtag> flashmem 0x1fc00000 /home/admin/jtag_bin/2100.boot
program blocks:
no flash driver found

Как видно тоже самое.
Подскажите в чем причина?
 
УКРОП
сообщение 13.6.2008, 18:36
Сообщение #11


Администратор


Группа: Главные администраторы
Сообщений: 265
Регистрация: 7.1.2008
Из: вне
Пользователь №: 1



извиняюсь на ошибку в схеме, торопился - ошибся, сейчас подправил smile.gif
странная строчка Cannot open /usr/local/share/jtag/MANUFACTURERS
Вы jtag собирали из исходников или готовым отсюда пользуетесь?
 
EVS_KG
сообщение 14.6.2008, 6:47
Сообщение #12


Новичок


Группа: Пользователи
Сообщений: 2
Регистрация: 7.6.2008
Пользователь №: 281



Цитата(УКРОП @ 13.6.2008, 23:36) «
извиняюсь на ошибку в схеме, торопился - ошибся, сейчас подправил smile.gif
странная строчка Cannot open /usr/local/share/jtag/MANUFACTURERS
Вы jtag собирали из исходников или готовым отсюда пользуетесь?

jtag брал отсюда jtag_bin.
Я в линуксе мало работал но для этого специально поставил Мандриву 9, может что то напутал.
 
УКРОП
сообщение 15.6.2008, 9:56
Сообщение #13


Администратор


Группа: Главные администраторы
Сообщений: 265
Регистрация: 7.1.2008
Из: вне
Пользователь №: 1



скорее всего забыл сделать вот что
Цитата
Распаковав папку jtag-bin.zip, заходим в папку, куда распаковали и копируем директорию share в директорию /usr/local/ Запускать JTAG следует обязательно от пользователя root
 
ZxAlex
сообщение 1.7.2008, 6:21
Сообщение #14


Новичок


Группа: Пользователи
Сообщений: 3
Регистрация: 30.6.2008
Пользователь №: 325



Подскажите пожалуйста, труп или нет:
при подключении к СОМ-порту выдает следующее:
ar531x rev 0x00005850 firmware startup...
SDRAM TEST...PASSED

panic: romStart failed!
sysConsoleDump: type 0x00000000
epc: 0x80013bd4 bva: 0x2f49c921 sr: 0x10400000 cse: 0x1080001c
R0: r0: 0x00000000 at: 0xbfc00000 v0: 0xffffffff v1: 0xfffffffd
R4: a0: 0xbfc00a4b a1: 0xbc000000 a2: 0x00000000 a3: 0x00000000
R8: t0: 0x00000040 t1: 0x00000020 t2: 0x80016abc t3: 0x00000088
R12: t4: 0x00000007 t5: 0x00000006 t6: 0x00000080 t7: 0x00000002
R16: s0: 0x00000002 s1: 0x80052748 s2: 0x0000001f s3: 0x80051698
R20: s4: 0x0000007f s5: 0x80052320 s6: 0x80052748 s7: 0x8000ff78
R24: t8: 0x0000a188 t9: 0x000030d5 k0: 0x00000000 k1: 0x00000000
R28: gp: 0x80059680 sp: 0x8000fff0 fp: 0x00002b97 ra: 0xbfc00a6c

на ESС не отвечает, индикаторы не горят ни на точке ни на LAN компа. До этого часто слетала прошивка, спасался аковой.
JTag поможет? Или флешка накрылась?
Заранее спасибо!
 
УКРОП
сообщение 2.7.2008, 17:25
Сообщение #15


Администратор


Группа: Главные администраторы
Сообщений: 265
Регистрация: 7.1.2008
Из: вне
Пользователь №: 1



думаю надо паять jtag, возможно загрузчик битый
 
ZxAlex
сообщение 8.7.2008, 8:17
Сообщение #16


Новичок


Группа: Пользователи
Сообщений: 3
Регистрация: 30.6.2008
Пользователь №: 325



Никакие танцы не помогли. JTag выдал ошибку в одной из последних ячеек памяти (блин, закон подлости, почему не в начале? :-( ).
Видимо накрылась ячейка.
При повторном подключении к COM выдает тоже самое.
Видимо пойдет на запчасти :-).
 
УКРОП
сообщение 9.7.2008, 7:51
Сообщение #17


Администратор


Группа: Главные администраторы
Сообщений: 265
Регистрация: 7.1.2008
Из: вне
Пользователь №: 1



а может попробовать флеш перепаять? smile.gif
 
ZxAlex
сообщение 10.7.2008, 8:41
Сообщение #18


Новичок


Группа: Пользователи
Сообщений: 3
Регистрация: 30.6.2008
Пользователь №: 325



Цитата(УКРОП @ 9.7.2008, 10:51) «
а может попробовать флеш перепаять? smile.gif

Попытался выпаять, достаточно проблематично, нужен инфракрасник. Простым паяльником трудно. я сломал флешку (больно нежная)).
Выбрасывать точку конечно-же не буду, попадется флешка обязательно впаяю.
Пока покупаю другую.
 
S@N
сообщение 8.8.2008, 23:28
Сообщение #19


Новичок


Группа: Пользователи
Сообщений: 4
Регистрация: 7.8.2008
Пользователь №: 398



Хотел уточнить резисторы на 110 Ом пойдут заместо 100? unsure.gif
 
УКРОП
сообщение 9.8.2008, 11:52
Сообщение #20


Администратор


Группа: Главные администраторы
Сообщений: 265
Регистрация: 7.1.2008
Из: вне
Пользователь №: 1



Цитата(S@N @ 9.8.2008, 0:28) «
Хотел уточнить резисторы на 110 Ом пойдут заместо 100? unsure.gif

думаю да smile.gif
 

4 страниц V   1 2 3 > » 
    Ответить    Новая Тема

 

                         
Текстовая версия Сейчас: 27.12.2011, 11:41