JTAG

JTAG jest interfejsem sprzętowym, który umożliwia bezpośredni dostęp do pamięci Flash danego urządzenia. Istnieje wiele rozwiązań tego typu interfejsu. Dzięki temu interfejsowi jesteśmy w stanie naprawić urządzenie(w tym przypadku router) w czasie, gdy inne(programowe) sposoby zawodzą.

Schemat kabelka

  • Kabelek powinien być najkrótszy tak jak to tylko możliwe, gdyż nie zawiera żadnych buforów i w przypadku nie spełnienie tego warunku możemy miec problemy z z działaniem JTAGa.

Oprogramowanie

Do naprawy potrzebne jest odpowiednie oprogramowanie. Dostępne jest zarówno na Windowsa jak i Linuxa.

HairyDairyMaids JTAG Tools v4.5
HairyDairyMaids JTAG Tools v4.8

Powyżej zamieszczono linki do dwóch wersji tego oprogramowania. Zalecane jest użycie najnowszej wersji(4.8), ale czasami z różnych względów trzeba użyć starszej wersji. Każda z tych paczek zawiera schematy, binarki pod Windows, sterownik giveio.sys oraz kod do skompilowania pod Linuxa.

Linux

Kompilacja jest prosta wystarczy komenda

 make

Przy przypadku Ubuntu przed zabawa JTAGiem należy wykonać komendy, które aktywują LPT.

 sudo modprobe ppdev
 sudo rmmod lp

Używając narzędzie JTAG Tools(wrt54g) należy mieć prawa administratora, lub użyć programu „sudo”.

Windows

Aby korzystać z DeBrick Utility musimy zainstalować bibliotekę giveio.sys która znajduje się w ściągniętej paczce, kopiujemy ją do C:\WINDOWS\system32\drivers następnie uruchamiamy LoadDrv i w ścieżce do biblioteki „Full pathname of driver” wpisujemy c:\windows\system32\drivers\giveio.sys i naciskamy Start.

Uruchamiamy ponownie komputer przechodzimy do Menedżera urządzeń> Widok> Pokaż ukryte urządzenia, wybieramy Sterowniki niezgodne z Plug and Play i z rozwijanej listy giveio przechodzimy do sekcji Sterownik> Uruchamianie i wybieramy opcje Automatycznie, następnie uruchamiamy ponownie komputer.

Kopiujemy plik wrt54g.exe na dysk c: podpinamy JTAG i zasilacz do routera. Uruchamiamy konsole systemową poprzez wpisanie w okienku uruchom komendy cmd. Następnie wpisujemy:

  cd c:\

W tej chwili możemy juz naprawić swój router, komendami opisanymi poniżej.

Możliwości programu

Każdy AP oparty na chipie Broadcom 47XX i 53XX zawiera trzy bloki:

  • CFE
  • NVRAM
  • KERNEL

CFE jest to bootloader, który uruchamiany jest od razu po włączeniu routera do sieci zasilania i odpala KERNEL. Bardzo rzadko zachodzi konieczność usuwania CFE.
NVRAM jest to pewnia część flasza w której przechowywane są najważniejsze ustawienia routera do poprawnej pracy
KERNEL jest to typowa dystrybucja linuksa na którą przeznaczona jest największa objętość pamięci flash.

Oprogramowanie umożliwia wykonywanie trzech czynności:

  • Robienie kopii zapasowej flasha (-backup:)
  • Kasowanie (-erase:)
  • Programowanie (-flash:)

W przypadku skasowania KERNELa wykonujemy polecenie

 wrt54g -erase:kernel

W podobny sposób możemy skasować inne bloki. Do programowania używamy przełącznika -flash: np:.

wrt54g -flash:cfe

Co spowoduje wgranie CFE do pamięci Flash.

Naprawa

W przypadku prostych napraw(np. po źle wgranym fimware, przerwany upgrade przez zanik napięcia) wystarczy usunąć KERNEL i NVRAM(w przypadku Linksysów) lub sam KERNEL w przypadku Motoroli. Usunięcie NVRAM może spowodować poważniejsze uszkodzenie Motoroli.

Nie zalecane jest programowanie KERNELA poprzez JTAG, gdyż w czasie transmisji powstają błędy w czasie transmisji tak dużego pliku, poza tym trwa to bardzo długo. Podobnie jest z CFE, bardzo rzadko kasuje sie ten blok, najczęściej sie robi jego backup na wszelki wypadek :]

 wrt54g -backup:cfe

Bardzo często wystarczy skasować NVRAM oraz KERNEL, wówczas wystarczą komendy:

 wrt54g -erase:nvram
 wrt54g -erase:kernel

Następnie możemy załadować nowy soft po TFTP.

naprawa/jtag.txt · ostatnio zmienione: 2011/03/08 21:04 przez arteq
CC Attribution-Noncommercial-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki Recent changes RSS feed Valid XHTML 1.0
Profesjonalny Hosting