Прошивка приборной панели Infiniti EX35

Этот пост должен был выйти в блоге финика, но так как он больше связан с IT я решил опубликовать его здесь.

TLDR - я купил бу приборку в более лучшем состоянии для своего автомобиля и скорректировал на ней пробег выставив значения со старой приборки.

Зачем

Итак, уже довольно давно я являюсь владельцем автомобиля Infiniti EX35. В целом он меня почти всем устраивает. Не устраивает только высокий транспортный налог и то что машине уже 16 лет. Если с первым стоит просто смириться, то со вторым еще как-то можно работать время от времени обслуживая автомобиль и заменяя устаревшие агрегаты.

Еще при покупке я заметил что на приборной панели не светило два светодиода. Тогда я подумал что пробелма решлается простой перепайкой пары светодиодов. Но как оказалось светодиоды там не самые распространенной версии и найти их довольно трудно. Также при перепайке только пары светодиодов подсветка стала бы неравномерной.

Приборная панель Infiniti EX35

На фото видно что левая часть спидометра светит более тускло, а на тахометре погасли пара светодиодов

Короче проблему я отложил в долгий ящик и ездил так. А потом наткнулся на авито на объявление о продаже приборки с EX37 в хорошем состоянии и со всеми целыми светодиодами.

На донорской приборке пробег был 219 тысяч км. Тогда как на моей было только 200 703 км. Разница невелика, но я решил перепрошить приборку так как мне это было вдобавок и интересно 😄.

Приборная панель Infiniti EX35

Приборка которая ко мне приехала

Подготовка к перепрошивке

На просторах драйва нагуглился вот такой материал - https://www.drive2.ru/l/668752385023161800/

Получается что для коррекции пробега нужно купить программатор ch341a, правильно подключиться прищепкой к чипу S93C76, слить дамп, поправить пробег и зашить дамп обратно.

На этом моменте я заказал на WB программатор (артикул 93568117).

Чтобы избежать правки пробега я решил просто слить дамп со своей приборки и залить его в новую. Это было первым моим ошибочным решением. Ниже подробности.

Первый облом

Как только программатор пришел я сразу же попытался подключиться к плате прищепкой. И тут меня ждал облом - прищепка подключалась к маленькой плате-ключу из комплекта программатора, но это был вариант для подключения к микросхемам другого типа. Мне же было необходимо подключить прищепку к ряду ножек на программаторе.

В интернете нагуглились разные решения в виде припаивания пинов пришепки напрямую к программатору и т.д.

А я выбрал другой путь - заказал на том же WB провода мама-папа (артикул 175797158).

Вторая попытка, тоже облом

Схема подключения программатора

Схема подключения программатора

С проводами все получилось аккуратно подключить. Так как на разъеме прищепки пины не были пронумерованы я воспользовался лайфхаком - взял плату-ключ, приложил к разъему и подсмотрел на ключе цифры которыми пронумерованы пины.

В найденных в интернете мануалах обычно предлагалось прошивать плату при помощи программы SiberiaProg которая работает на Windows.

Винды под рукой у меня не было и я решил воспользоваться линуксовой утилитой IMSProg. Это стало второй моей ошибкой.

На фото первое подключение программатора.

Подключениe программатора
Подключениe программатора
Подключениe программатора
Подключениe программатора

Программатор определился в программе, но вот точый тип используемого чипа не идентифицировался. Я выбрал подходящий как мне кажется вариант и сдампил прошивку с новой приборки. В окне программы появилось что-то похожее на код с приборки. Я на радостях сохранил этот код и побежал в гараж прошиваться.

В гараже я слил дамп с оригинальной приборки и попробовал зашить его в новую.

Прошивка приборки
Прошивка приборки

В процессе прошивки я получил ошибку записи данных. Новая приборка при подключении к автомобилю показала 999 999км и перевела указатели топлива и температуры в неестественные положения выше максимума.

Прошивка не удалась. Откат к бэкапу также не удался.

В итоге я отправился домой для установки винды и поиска нормального дампа.

Подготовка к третьей попытке

Так как сносить линукс не хотелось я решил поставить VirtualBox и установить туда старую добрую Windows XP. Чтобы не тратить время на установку ОС я просто взял образ XP который ранее бесплатно распространяла Microsoft для того чтобы разработчики могли тестировать сайты на IE. Сейчас набор этих образов можно найти на торрентах.

С дампом прошивки вышло интереснее. Нашлось несколько сайтов типа CarDamp где дампы предлагались за деньги. Платить порядка 10 евро за попытку с непредсказуемым результатом не хотелось и поэтому мне удалось нагуглить дамп с Infiniti G25. Да машина другая, но приборка там идентичная.

Как оказалось сфера это довольно мутная так как коррекцией пробегов часто занимаются не из благих побуждений. Поэтому онлайн-калькуляторы пробегов и архивы дампов платные.

На этот раз прошиваться я решил при помощи SiberiaProg.

Третья попытка, частичный успех

Сперва я решил попробовать заново сдампить прошивку с родной приборки и залить в новую. SiberiaProg сама определила используемый чип и мне осталось только нажать пару кнопок. В результате я также получил окирпиченную новую приборку. Но в этот раз кое что бросилось мне в глаза - на моей приборке чип определился как S93C66! А в этом чипе памяти в два раза меньше - 512 байт вместо 1 килобайта!

Прошивка приборки

Чип S93C76 в новой приборке

Кто бы мог подумать что в разных ревизиях приборки разные чипы.

В итоге остался только один вариант - шить скачанный дамп от G25. В итоге я его загрузил и… приборка заработала! Правда пробег на ней стал вообще в районе 70 тысяч км 😄

Прошивка приборки
Прошивка приборки

Четвертая попытка, успех

Сперва я решил подправить пробег в онлайн калькуляторе Carprog online. После загрузки дампа веб-сервис правильно его считывал и показывал верный пробег. Но для получения скорректированной версии он просил деньги. В целом я уже был готов заплатить деньги, но решил поискать варианты еще.

Сперва я попробовал разобраться в дампе самостоятельно, а также при помощи ChatGPT. У нас обоих это не удалось. Единственное что я выяснил это строчки в которых хранится пробег и чексумма этого зачения. Но алгоритм генерации значения я не узнал.

Затем нагуглилась старая программа под Windows под названием NYO4. В ней был оффлайн-кальулятор. При помощи этой программы я забил свой пробег в 200703 км и прошил приборку.

Все прошло успешно, но пробег почему-то выставился в 200529 км. Решив что +-200км это допустимая погрешность я успокоился и собрал наконец панель обратно.

Прошивка приборки