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 разъём и сбросить точку по питанию.

И на последок повторюсь, чтобы не потерять драгоценное время подключите компьютер и точку доступа через источник бесперебойного питания, особенно если вы прошиваете фулфлэш. Удачи!
 
 
    Новая Тема
Ответов
S@N
сообщение 24.8.2008, 22:08
Сообщение #2


Новичок


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



В итоге слил с рабочей 2100AP fullflash и залил в убитую 3200AP через JTAG, всё заработало.
Также потом в туже 3200AP, залил OpenWRT Kamikaze 7.09.
но проц работал на 90 вместо 180 MHz.
Сначало залил через JTAG BootLoader Redboot con support Lzma (molto più veloce) per OpenWRT sul 2100AP. (Ri-Grazie Ramcheck) :

После заливки надо нажать ресет и держать при вкл питания при подцепленном Com-порте и проге терминал уже подрубленному к порту, как в мануале D-Link DWL-2100AP, ремонт через Com-порт :
/forums/index.php?showtopic=19
RedBoot> //вот так выглядет командная строка
Скачиваем :

ставим tftp с файлами из этого архива
к примеру ip на компе 192.168.0.100,тогда в терминале пишем:

fis init -f //нажимаем 'y' и интер

ip_address -l 192.168.0.50 -h 192.168.0.100

load -r -b 0x80041000 openwrt-atheros-2.6-vmlinux.lzma

fis create -r 0x80041000 -e 0x80041000 vmlinux.bin.l7

load -r -v -b 0x80041000 openwrt-atheros-2.6-root.jffs2-64k

fis create -r 0x80041000 -e 0x00000000 -l 0x002D0000 rootfs //если не прокатит то пишем:
fis create -r 0x80041000 -e 0x00000000 -l 0x002B0000 rootfs //взависемости скока места свободно на флешке в файловой системе, можно проверить командой: fis free и посчитать на крайняк.

reset

потом надо прописать в конфике чтобы эта вся бадяга грузилась в атоматическом режиме в бут загрузчике точки:

fconfig -i

Initialize non-volatile configuration - continue (y/n)? y //нажимаем 'y' и интер
Run script at boot: true //просто стираем слово 'false' и пишем 'true'
Use BOOTP for network configuration: false
Gateway IP address:
Local IP address: 192.168.0.50
Local IP address mask: 255.255.255.0
Default server IP address:
DNS server IP address:
GDB connection port: 9000
Network debug at boot time: false
Update RedBoot non-volatile configuration - continue (y/n)? y
reset

Вроде всё, ip у точке после перезагрузки: 192.168.1.1
Куча настроек, но я её не тестил на производительность, тока полазил по настройкам и всё.
Другие пробывал прошивки ставить, нехотит пахать, если по терминалу смотреть, linux до конца не грузится, возникают какието косяки.
Может кто знает как поставить DD-WRT? помоему довольно крутая прошива круче чем Kamikaze.
Ну а лучше точки брать с чипом Broadcom на них больше прошивок на Linux-e кстати самая нормальная ASUS WL-500g Premium в Сургуте в первом есть. biggrin.gif
 

Сообщений в этой теме
УКРОП   D-Link DWL-2100AP   11.1.2008, 15:26
kernell   Сделал WIGGLER MINI по вашей схеме, но он неработа...   3.6.2008, 9:36
УКРОП   Цитата(kernell @ 3.6.2008, 10:36) Сделал ...   3.6.2008, 17:45
EVS_KG   Цитата(УКРОП @ 3.6.2008, 22:45) это не пр...   13.6.2008, 14:39
kernell   Спасибо за ответ, перепутал эмитер c базой   3.6.2008, 21:42
УКРОП   Цитата(kernell @ 3.6.2008, 22:42) Спасибо...   4.6.2008, 8:00
kernell   Один раз заработал, прошить АР неудалось. Хотя с J...   4.6.2008, 9:03
УКРОП   jtag без буферного усилителя очень критичен к длин...   4.6.2008, 10:55
kernell   Цитатаjtag без буферного усилителя очень критичен ...   4.6.2008, 22:16
УКРОП   Цитата(kernell @ 4.6.2008, 23:16) AP у ме...   5.6.2008, 8:55
УКРОП   извиняюсь на ошибку в схеме, торопился - ошибся, с...   13.6.2008, 18:36
EVS_KG   Цитата(УКРОП @ 13.6.2008, 23:36) извиняюс...   14.6.2008, 6:47
УКРОП   скорее всего забыл сделать вот что ЦитатаРаспакова...   15.6.2008, 9:56
ZxAlex   Подскажите пожалуйста, труп или нет: при подключен...   1.7.2008, 6:21
УКРОП   думаю надо паять jtag, возможно загрузчик битый   2.7.2008, 17:25
ZxAlex   Никакие танцы не помогли. JTag выдал ошибку в одно...   8.7.2008, 8:17
УКРОП   а может попробовать флеш перепаять?   9.7.2008, 7:51
ZxAlex   Цитата(УКРОП @ 9.7.2008, 10:51) а может п...   10.7.2008, 8:41
S@N   Хотел уточнить резисторы на 110 Ом пойдут заместо ...   8.8.2008, 23:28
УКРОП   Цитата(S@N @ 9.8.2008, 0:28) Хотел уточни...   9.8.2008, 11:52
S@N   да вроде пошли, год назад убил другу точку dwl-32...   11.8.2008, 15:53
S@N   Вобщем как бы я не парился в винде так и несмог пр...   13.8.2008, 14:28
УКРОП   Цитата(S@N @ 13.8.2008, 15:28) Вобщем как...   13.8.2008, 19:58
УКРОП   а что вообще даёт openwrt? какие плюсы и минусы? н...   25.8.2008, 7:53
brat002   Этот мануал сгодится для восстановления DWL-7100AP...   23.4.2009, 0:49
YuriyRuss   Извините, если тема ещё актуальна - Есть 7100 и DI...   4.8.2009, 2:26
anonymous   Добрый день, есть точка 2100, мигает power 1 длинн...   28.11.2009, 11:16
elfinfo   Доброго времени суток! У меня приключилась так...   7.12.2009, 10:13
УКРОП   хм.. даже не знаю, у меня такого тьфу тьфу пока не...   14.12.2009, 23:14
demenn   Спаял Jtag точка на детект ответила ,залился фулфл...   31.5.2010, 9:40
belokuriha   RE: D-Link DWL-2100AP   31.5.2010, 16:44
belokuriha   jtag> cable parallel 0x378 WIGGLER Initializing...   3.6.2010, 14:50
УКРОП   команда sysTffsFormat через ком порт форматирует ф...   5.6.2010, 16:31
TipsyBug   Раньше пытался восстановить точку при подключении ...   25.6.2010, 23:42
УКРОП   Цитата(TipsyBug @ 25.6.2010, 23:42) Раньш...   13.8.2010, 9:26
Aleksandr221   УКРОП помогите пожалуйста точку реанимировать чере...   11.8.2010, 21:11
Aleksandr221   Цитата(Aleksandr221 @ 11.8.2010, 21:11) У...   12.8.2010, 12:20
Aleksandr221   block 26 unlocked flash_erase_block 0x1FD30000 ......   14.8.2010, 18:08
УКРОП   Цитата(Aleksandr221 @ 14.8.2010, 18:08) b...   16.8.2010, 14:16
Aleksandr221   Цитата(УКРОП @ 16.8.2010, 14:16) всё норм...   16.8.2010, 19:57
УКРОП   да, для всех подойдёт, как фулфлэш прошьёшь, по пи...   17.8.2010, 14:33
Aleksandr221   Цитата(УКРОП @ 17.8.2010, 14:33) да, для ...   17.8.2010, 14:38
УКРОП   не помню уже, знаю что очень долго   18.8.2010, 17:19
Aleksandr221   Цитата(УКРОП @ 18.8.2010, 17:19) не помню...   19.8.2010, 13:38
УКРОП   RE: D-Link DWL-2100AP   19.8.2010, 22:13
Toxamash   to УКРОП А будет работать JTAG с процом RTL8186 н...   18.11.2010, 9:21
УКРОП   на RTL8186 G700 сделана, может эта тема поможет ht...   18.11.2010, 18:24
uu1dx   Пришла перезагружающаяся 2100ap, в терминале сыпет...   19.11.2010, 17:08
УКРОП   ИМХО поможет только jtag, перешить нужно только за...   22.11.2010, 21:26
doberman   Что делать boot device : S0 processor nu...   23.2.2011, 15:55
УКРОП   [Boot]:с boot device : tffs:0 processor number :...   26.2.2011, 10:14
archimed   Здравствуйте, тема животрепещущая, вольюсь Есть ...   2.3.2011, 17:43
archimed   Спасибо, вопрос снят. По ссылкам с оригинальной те...   2.3.2011, 18:01
archimed   А вру. Вопрос есть. На схеме с микрухой PC_VCC - э...   2.3.2011, 21:05
qwer   а как дать команду чтоб считать не всю флеш а опре...   5.5.2011, 13:15
G@V@N   Подскажите пожалуйста как запустить софт JTAG на U...   27.8.2011, 17:45
G@V@N   И тут засада при установке первого пакета detect н...   27.8.2011, 18:14
G@V@N   Заливал фуллфлеш и в итоге ошибка верификации, что...   29.8.2011, 21:36
УКРОП   скорее всего проблема с флэшкой, не может записать...   8.9.2011, 17:58
G@V@N   Спасибо, я тоже так начал подозревать, отпишусь чт...   9.9.2011, 22:03
FartoviY   Добрый день. Ситуация аналогична слетела прошивка....   8.12.2011, 22:34


    Ответить    Новая Тема

 

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