Dekat do Mazdy MPV z 2002 roku

Oto kolejny stary model z problemami z układem klimatyzacji. Zadaniem jest opracowanie oprogramowania Decat.

Posiadamy moduł sterujący silnikiem (ECU) Mitsubishi FS6S18881B E2T88876H, który wykorzystuje procesor rdzeniowy H8 z pamięcią flash o pojemności 128 KB. Oprogramowanie układowe nosi nazwę EZFS6S.

Ten mikroprocesor ma pewną specyficzną cechę – po załadowaniu do programu IDA Pro adresowanie pamięci ROM nie zaczyna się od początku.

Dekat do Mazdy MPV z 2002 roku

Załadujmy oprogramowanie układowe do programu WinOls i przyjrzyjmy się tabeli błędów. Oto, co znaleźliśmy:

Dekat do Mazdy MPV z 2002 roku

Wygląda na to, że błędy związane z tylną sondą lambda znajdują się w tym samym wierszu, co ułatwia zadanie, ponieważ flagi aktywacji prawdopodobnie znajdują się w tym samym bajcie.

Następnie przeanalizujmy te same informacje w programie IDA Pro i zlokalizujmy potrzebne procedury:

Dekat do Mazdy MPV z 2002 roku

W ten sposób odkryliśmy „maskę” dla bitów aktywacyjnych, które kontrolują oba błędy w naszym zidentyfikowanym ciągu znaków. A przynajmniej powinny je kontrolować!

Dekat do Mazdy MPV z 2002 roku

Jednak twórcy przygotowali dla nas nieoczekiwaną niespodziankę – wygląda na to, że kodu DTC P0141 nie da się wyłączyć tą metodą. Musieliśmy zgłębić temat i w rezultacie znaleźliśmy dodatkowe procedury, w których wymagane bity są ustawiane w oparciu o określone warunki. Flagi te są zapisywane w pamięci RAM i przetwarzane przez procedury tylko wtedy, gdy jest to konieczne. Warto zauważyć, że sam fakt obserwowania napięcia przepustnicy podczas diagnostyki nie oznacza koniecznie, że wartości te są aktywnie przetwarzane w programie.

Dekat do Mazdy MPV z 2002 roku

W końcu udało nam się zlokalizować potrzebny fragment kodu i go wyłączyć. Po kilku dniach pracy udało nam się stworzyć jedną z odmian Decat dla tego programu.

Dodaj komentarz