Reanimacja_interfejsu_HEX.pdf

(601 KB) Pobierz
Reanimacja interfejsu HEX-CAN USB 7.04 po nieudanej aktualizacji oprogramowania.
Na wstępie – na czym polega uszkodzenie interfejsu? Do komunikacji między portem USB a
interfejsem HEX-CAN wykorzystywany jest układ FT232BM. Układ ten słuŜy do
komunikacji asynchronicznej przed port USB (
Single chip USB <=> asynchronous serial data
transfer
) – czyli prawie jak USB -> Serial port converter, z tym
Ŝe
w programie (VAG-
COMie) nie musimy kombinować czy to port COM3 czy COM4 – tylko zaznaczamy do
komunikacji złącze USB. Do układu podłączona jest pamięć EEPROM (z reguły jest to układ
93C46), w której przechowywane są dane niezbędne do prawidłowej komunikacji układu
FT232BM z komputerem.
Uszkodzenie interfejsu polega na zmienieniu zawartości pamięci EEPROM. Objawem jest to,
Ŝe
interfejs jest od nowa wykrywany przez system operacyjny, ale sterowniki które wcześniej
pasowały, juŜ nie działają. Parametry odpowiedzialne za prawidłowe zainstalowanie
urządzenia to VID oraz PID (Vendor ID and Product ID).
To niestety nie wszystko – w interfejsie znajdują się jeszcze dwie inne pamięci – w układzie
ATmega162 jest koleny EEPROM oraz FLASH. Zmieniona zostaje zawartość takŜe pamięci
EEPROM w ATmedze.
Przywrócenie działania interfejsu polega na ponownym zaprogramowaniu pamięci EEPROM.
Z pamięcią 93C46 nie będzie większego problemu – moŜna ją zaprogramować podpinając
interfejs do portu USB. Jednak zaprogramowanie ATmegi będzie juŜ wymagało większych
nakładów.
Na chwilę obecną nie ma dostępnych publicznie wsadów pamięci do wersji interfejsu 7.04 –
do napisania tej instrukcji wykorzystałem wsady z wersji 6.07. Jednak jeśli wsady juŜ się
pojawią to jedyna zmiana będzie we wskazaniu innych plików do zaprogramowania.
Zacznijmy od tej prostrzej czynności – przywrócenie pamięci EEPROM połączonej z
układem FT232BM.
Musimy zacząć od odczytania aktualnych (zmienionych wartości) VID oraz PID. SłuŜy do
tego program
usbview.exe
(http://www.ftdichip.com/Resources/Utilities/usbview.zip). KaŜdy
uszkodzony kabel ma zapisane losowe wartości, dlatego w kaŜdym przypadku wartości te
będą inne. Przykładowy odczyt uszkodzonego interfejsu wygląda następująco:
Interesują nas pola:
idVendor (nasz VID): 1135
idProduct (nasz PID): A000
Aby mieć moŜliwość przeprogramowania pamięci, musimy nasz uszkodzony interfejs
zainstalować w systemie – w przeciwnym razie
Ŝaden
program do zapisywania pamięci
EEPROM nie będzie chciał rozpoznać urządzenia (device not found). W tym celu musimy
wydobyć sterowniki z systemu.
Z katalogu C:\Ross-tech\VAG-COM kopiujemy gdzieś (np. do C:\INST) następujące pliki:
RT-USB.INF
RT-USB.DLL
RT-USB.SYS
W katalogu C:\INST modyfikujemy plik RT-USB.INF, szukamy sekcji:
[RossTechHw]
%USB\VID_0403&PID_FA20.DeviceDesc%=RT-USB,USB\VID_0403&PID_FA20
%USB\VID_0403&PID_FA23.DeviceDesc%=RT-USB,USB\VID_0403&PID_FA23
%USB\VID_0403&PID_FA24.DeviceDesc%=RT-USB,USB\VID_0403&PID_FA24
Powinniśmy tu wpisać nasze wartości VID, oraz PID, czyli w naszym przypadku
zmodyfikowany kawałek pliku powinien wyglądać tak:
[RossTechHw]
%USB\VID_1135&PID_A000.DeviceDesc%=RT-USB,USB\VID_1135&PID_A000
%USB\VID_0403&PID_FA23.DeviceDesc%=RT-USB,USB\VID_0403&PID_FA23
%USB\VID_0403&PID_FA24.DeviceDesc%=RT-USB,USB\VID_0403&PID_FA24
Plik zapisujemy i próbujemy zainstalować nasz uszkodzony interfejs, powinno to wyglądać
mniej więcej tak:
Po prawidłowym zainstalowaniu, przyszedł czas na przygotowanie pamięci EEPROM do
zapisania. Polega to na wyczyszczeniu wszystkich komórek (EEPROM erase).
Wykorzystamy do tego program FTDI Monitor.
Uruchamiamy program, powinniśmy zobaczyć taki widok:
MoŜemy teraz zobaczyć, co jest zapisane w EEPROMie (menu opcje – czytaj eeprom):
Następnie z menu Opcje wybieramy „Kasuj EEPROM”. Jeśli operacja przebiegnie bez
problemów, zamykamy program FTDI Monitor, odłączamy interfejs od portu USB i
podłączamy ponownie. Tym razem powinien wykryć i zainstalować się jako USB Serial Port.
Windows nie prosił juŜ o
Ŝadne
dodatkowe drivery.
Zgłoś jeśli naruszono regulamin