Перейти к содержанию
Old Subaru XV

Пытаемся разобраться с дампом от WRX приборки


Рекомендуемые сообщения

Для этого есть подробный мануал на процессор в 1000 стр.

 

Но опять же, считаю, что надо связаться с туареговодами, они это дело копают уже около 2х лет. И наверняка к чему-то пришли. Как минимум у них есть опыт с программатором и процессором похожим. А также есть программатор.

Ок. Я с Вами согласен, что за два года - те люди определенно достигли каких-то успехов. Связаться с ними можно, возможно они что-то и подскажут.

Но давайте посмотрит на задачу с другой стороны: Наша цель сделать софтинку, в которой нужно выбрать опцию(поставить галочку) и сгенерить дамп.  Автор темы  уже дошел до того, что все это хранится в первых 4 строках по 10 бит. И я лично считаю, что достичь этой цели можно - если иметь хорошее количество дампов. Также в личной переписке с автором темы, мы поняли, что CRC может быть несколько (Об этом в теме не указывалось) и отличается она какой-то разницей в 64,32,16.

Ссылка на комментарий
Поделиться на другие сайты

  • Ответов 649
  • Создана
  • Последний ответ

Топ авторов темы

Топ авторов темы

Изображения в теме

Да я ж не спорю, но одним из методов достижения этой цели является поиск алгоритма расчета в дампе с процессора.

Просто угадывать алгоритм мне видится задачей сложнее, учитывая, что уже есть люди, которые имеют программатор и опыт.

Тем более суммы CRC им тоже надо было рассчитывать, о чем они пишут на форуме.

Ссылка на комментарий
Поделиться на другие сайты

Скину те дампы, которые у меня недалеко лежат, другие ещё найду позже, так-же приложу.
Всё с указанием номера приборки. Дампы как от приборок с цветным дисплеем, так и от дорестайла (думаю в них может применяться похожий алгоритм)
Файлы такого типа приложить к сообщению нельзя, поэтому даю ссылки на Яндекс.Диск
 

85000VA000 - Японская приборка STI тахо до 9тыс. - ССЫЛКА

85000VA040 - США STI 2015г. тахо до 8тыс. - ССЫЛКА

85000VA520 - США WRX CVT 2016г.  - ССЫЛКА

 

85000SG590 - РФ Forester 2l CVT 2013г. - ССЫЛКА

85013FJ220 - РФ XV 2014г. 2l CVT - ССЫЛКА

 

На компе найду потом ещё дампы + В ближайшее время могу снять дампы с ещё двух WRX приборок с разными номерами, одной европейской STI, европейского Леворга и Канадской XV 2016 года.... но это через недельку не раньше.

Изменено пользователем sk00444
Ссылка на комментарий
Поделиться на другие сайты

Просто какой смысл гадать и спорить, пока не связались с людьми и не узнали что они конкретно сделали и чего добились.

А так же можно ли наш процессор считать этим программатором.

 

Если что в Москве есть приборки, программатор и люди. А как это сделать я думаю решим.

 

P.S. Попробовать составить базу CRC конечно надо. Но надо учитывать, что алгоритм можно высчитывать неизвестно сколько, даже имея эти данные.

Изменено пользователем Slava46
Ссылка на комментарий
Поделиться на другие сайты

У меня вопрос.

Когда меняют пробег из калькулятора, откуда берется нужный CRC новый?

Там походу CRC вообще не нужен, туда можно записать что угодно - и приборка в ошибку не падает

Ссылка на комментарий
Поделиться на другие сайты

Кстати про пробег...когда прописывал пробег по калькулятору одометра - то вставив сгенерировванный пробег в строки 1A0 и 1B0, приборка потом показывает не совсем то что забивалось. разница была на 10-15км больше того пробега, который я прописал. Не знаю с чем это связанно...

Ссылка на комментарий
Поделиться на другие сайты

@Texas, Там небольшой разбег есть при прописывании пробега, но у меня было либо точно, бил +/- 2-8 км
с чем связано, где-то писали, но я думаю что это не критичная разница и я не стал разбираться ))) 

Ссылка на комментарий
Поделиться на другие сайты

Кстати про пробег...когда прописывал пробег по калькулятору одометра - то вставив сгенерировванный пробег в строки 1A0 и 1B0, приборка потом показывает не совсем то что забивалось. разница была на 10-15км больше того пробега, который я прописал. Не знаю с чем это связанно...

связано это с тем, что в приборку записывается показания кратные 16 или 32 (точно это не помню). И это на всех автомобилях так

 

Точно не уверен почему так сделано, но предположения такие:

Летите Вы по автобану на скорости 240 км\ч и Ваша приборка то и дело переписывает показания, а скорость записи медленная и не успев записать одно значение, как надо начинать писать другое .

Изменено пользователем mishapost
Ссылка на комментарий
Поделиться на другие сайты

Я уже занимался собирательством дампов. Насобирал от разных WRX. если честно то толку ноль. В каждом дампе имеем по 4 интересующих нас строки, в каждой строке 8 байт данных и 2 байта CRC. итого с 4 дампов можно насобирать 16 строк с данными и CRC.

Могу сюда выложить в столбик кучу строк по 10 байт. Но мне кажется это смысла не несет. Хотя может кто-то башковитый и подберет алгоритм расчета и сможет проверить на этих строках.

Буду за компом скину сюда строки с разных дампов.

 

Хочу внести немного ясности.

Имеем строку с данными:

00-00-00-00-00-00-00-00 CRC = FF-FF 

Что подтверждает теорию о том что при расчете к итоговому результату применяется функция NOT.

Сделано это для того, чтобы понять сдох чип памяти или нет. Так-как при мертвом чипе считаются все байты 00 или FF. И если чип мертв то и CRC считается как 00, и панель поймет что в данных ошибка.

С применением функции NOT, можно предположить что все параметры действительно равны 00, и панель этой поймет при CRC =FF-FF и запускается в нормальном режиме.

 

Что имеем еще:

Если в данных присутствует всего 1 или 2 байта то CRC всегда равна их сумме с применением NOT. То есть как и в примере из шапки темы:

B1-4E-00-00-00-00-00-00 CRC = 00-00, так как (B1+4E) = FF, далее делаем NOT(FF) и получаем 00.

Идем дальше, начинаем переставлять байт 4E в другие позиции.

B1-00-4E-00-00-00-00-00 CRC = 00-00;

B1-00-00-4E-00-00-00-00 CRC = 00-00

B1-00-00-00-4E-00-00-00 CRC = 00-00;

B1-00-00-00-00-4E-00-00 CRC = 00-00;

B1-00-00-00-00-00-4E-00 CRC = 00-00;

B1-00-00-00-00-00-00-4E CRC = 00-00;

 

Как видно, CRC  остается неизменным, как будто в формуле используется простое сложение байт. Но это не так, потому что для строки:

B1-27-27-00-00-00-00-00 CRC = 0E-00;

Хотя казалось бы если сложить B1+27+27 то получим FF, как и в первом примере, и CRC по идее должен быть равен 00-00.

 

Дальше больше.

Берем нашу строку:

B1-27-27-00-00-00-00-00 CRC = 0E-00;

И начинаем перемешать 3-й байт "27" в разные позиции.

B1-27-00-27-00-00-00-00 CRC = 0E-00; - Панель не запускается. Точнее запускается но с ошибкой.

B1-27-00-00-27-00-00-00 CRC = 0E-00; - Панель запускается.

B1-27-00-00-00-27-00-00 CRC = 0E-00;- Панель не запускается.

B1-27-00-00-00-00-27-00 CRC = 0E-00; - Панель запускается.

B1-27-00-00-00-00-00-27 CRC = 0E-00;- Панель не запускается.

 

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

Причем менять группы по 2 байта можно местами, и это не приводит к сбоям. Например:

27-00-B1-27-00-00-00-00 CRC = 0E-00;- Панель запускается.

27-00-00-00-B1-27-00-00 CRC = 0E-00;- Панель запускается.

27-00-00-00-00-00-B1-27 CRC = 0E-00;- Панель запускается.

 

Скорее всего вычисления происходят над группой байт (по 2 байта). Причем положение байт в группе как-то влияет на расчет CRC.

Но есть одна неувязка, почему тогда в первом варианте "B1-4E-00-00-00-00-00-00 CRC = 00-00" положение байта 4E никак не повлияло на расчет CRC?

Ссылка на комментарий
Поделиться на другие сайты

Omega_KZ,

проверьте пожалуйста на своем стенде вот эти строки:

A0 2D 88 2C 07 03 F3 02 23 64 = AB AF

A0 2D 88 2C 07 03 F3 02 23 64 = A3 AF

 

Эти строки взяты из дампов, что выше ссылки даны.

 

Вот еще интересное нашел:

6A 42 BA AA DE E6 E8 13 = 14 50

6A 42 AA AA DE E6 E8 13 =  14 50

Изменено пользователем mishapost
Ссылка на комментарий
Поделиться на другие сайты

из поста выше вот с этими строками ошибся, зацепил лишнюю группу:

A0 2D 88 2C 07 03 F3 02 23 64 = AB AF

A0 2D 88 2C 07 03 F3 02 23 64 = A3 AF

 

А нижние строки интересно бы проверить

Ссылка на комментарий
Поделиться на другие сайты

В прошлом сообшении ошибочка вышла. Перепроверил свои записи, и еще раз раз протестировал на панели.

 

 


Дальше больше.

..начинаем перемешать 3-й байт "27" в разные позиции.

B1-27-00-27-00-00-00-00 CRC = 0E-00; - Панель не запускается.

B1-27-00-00-27-00-00-00 CRC = 0E-00; - Панель запускается.

B1-27-00-00-00-27-00-00 CRC = 0E-00;- Панель не запускается.

B1-27-00-00-00-00-27-00 CRC = 0E-00; - Панель запускается.

B1-27-00-00-00-00-00-27 CRC = 0E-00;- Панель не запускается.

 

По факту:

B1-27-00-27-00-00-00-00 CRC = 0E-00; - Панель запускается.

B1-27-00-00-27-00-00-00 CRC = 0E-00; - Панель запускается.

B1-27-00-00-00-27-00-00 CRC = 0E-00;- Панель запускается.

B1-27-00-00-00-00-27-00 CRC = 0E-00; - Панель запускается.

B1-27-00-00-00-00-00-27 CRC = 0E-00;- Панель запускается.

 

Попутно провел еще несколько тестов.

B1-27-27-00-00-00-00-00 CRC = 0E-00; - Панель запускается.

00-B1-27-27-00-00-00-00 CRC = 0E-00; - Панель запускается.

00-00-B1-27-27-00-00-00 CRC = 0E-00; - Панель запускается.

00-00-00-B1-27-27-00-00 CRC = 0E-00; - Панель запускается.

00-00-00-00-B1-27-27-00 CRC = 0E-00; - Панель запускается.

00-00-00-00-00-B1-27-27 CRC = 0E-00; - Панель запускается.

 

Пробуем переставить байты местами.

B1-27-27-00-00-00-00-00 CRC = 0E-00; - Панель запускается.

27-27-B1-00-00-00-00-00 CRC = 0E-00; - Панель запускается.

27-B1-27-00-00-00-00-00 CRC = 0E-00; - Панель запускается.

27-00-27-00-B1-00-00-00 CRC = 0E-00; - Панель запускается.

27-00-00-00-27-00-00-B1 CRC = 0E-00; - Панель запускается.

 

Исходя из этого опыта получается, что положение байт в строке никак не влияет на конечный расчет CRC.

 

Теперь попробуем взять не придуманную строку, а строку из панели и проделать то-же самое с этой строкой.

 

6A-36-AA-AA-D9-E6-E8-13 CRC = 67-70 - Панель запускается. (так как это родная строка без изменения)

 

Меняем местами байты внутри групп.

36-6A-AA-AA-D9-E6-E8-13 CRC = 67-70 - Панель запускается.

36-6A-AA-AA-E6-D9-E8-13 CRC = 67-70 - Панель запускается.

36-6A-AA-AA-E6-D9-13-E8 CRC = 67-70 - Панель не запускается.

36-6A-AA-AA-D9-E6-13-E8 CRC = 67-70 - Панель не запускается. (откатил "E6-D9" обратно как было на "D9-E6")

 

6A-36-AA-AA-D9-E6-13-E8 CRC = 67-70 - Панель не запускается. (дополнительно откатил "36-6A" обратно как было на "6A-36")

 

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

 

Меняем местами группы байт.

6A-36-AA-AA-D9-E6-E8-13 CRC = 67-70 - Родная строка без изменений

 

AA-AA-6A-36-D9-E6-E8-13 CRC = 67-70 - Панель запускается.

6A-36-D9-E6-AA-AA-E8-13 CRC = 67-70 Панель не запускается.

6A-36-AA-AA-E8-13-D9-E6 CRC = 67-70 - Панель не запускается.

D9-E6-AA-AA-6A-36-E8-13 CRC = 67-70 Панель не запускается.

E8-13-AA-AA-D9-E6-6A-36 CRC = 67-70 Панель не запускается.

AA-AA-6A-36-E8-13-D9-E6 CRC = 67-70 Панель не запускается.

 

Как видим с заменой групп местами панель не запускается, за исключением единственного варианта. Тут может быть несколько причин, либо некорректное CRC либо панель не воспринимает эти параметры как правельные. 

 

Решил проверить что будет если навести в строке полный хаос.

6A-36-AA-AA-D9-E6-E8-13 CRC = 67-70 - Родная строка без изменений

 

AA-6A-AA-36-E6-D9-E8-13 CRC = 67-70 - Панель запускается.

13-E8-AA-36-E6-D9-6A-AA CRC = 67-70 - Панель запускается.

 

Похоже что CRC рассчитывается просто линейно, сложением байт поочередно, причем конечное CRC как-то зависит от количества байт в строке.

 

Я думаю что проводить эксперименты лучше с простой строкой типа:

B1-27-27-00-00-00-00-00 CRC = 0E-00;

Так как это сводит к минимум возможные не запуски панели по причине корявых параметров.

Ссылка на комментарий
Поделиться на другие сайты

Продолжая эксперименты со строкой:

B1-27-27-00-00-00-00-00 CRC = 0E-00;

 

Попробуем изменить байты так чтобы их сумма осталась прежней FF, но чтобы их количество и позиции не изменилось. Например изменим строку следующим образом:

9A-3E-27-00-00-00-00-00 CRC = 0E-00; (B1 отнимаем 17, а к 27 прибавляем 17), как видно сумма осталась неизменной и равна FF.

 

9A-3E-27-00-00-00-00-00 CRC = 0E-00; Панель не запускается.

9A-27-3E-00-00-00-00-00 CRC = 0E-00; Панель не запускается.

 

Эксперимент не удался..  :dry:

 

Ок. оставим первый байт неизменным, и попробуем поменять 2-й и 3-й

B1-27-27-00-00-00-00-00 CRC = 0E-00; - Первоначальная рабочая строка.

B1-10-3E-00-00-00-00-00 CRC = 0E-00; Панель не запускается.

B1-17-37-00-00-00-00-00 CRC = 0E-00; Панель не запускается.

B1-1F-2F-00-00-00-00-00 CRC = 0E-00 Панель не запускается.

 

Пока на этом остановился. Надо поразмыслить над дальнейшим направлением. Может взять строку по проще, например 01-01.

Ссылка на комментарий
Поделиться на другие сайты

Собственно пока не разобрались с CRC, решил немного поковыряться в параметрах первой строки. За одно еще раз убедился в том, что в первой строке хранятся основные параметры работы панели.

 

Имеем первую строку:

6A 36 AA AA D9 E6 E8 13; CRC= 67 70

Дисплей:

1.png

 

---------------------------------------------------------------------------

Меняем:

36 6A AA AA D9 E6 E8 13; CRC= 67 70

Дисплей:

1.png

Как видно из картинки, появилась опция EyeSight, Расход стал в km/l(как в Японии), но язык при этом сохранился.

 

---------------------------------------------------------------------------

Меняем:

6A 36 AA AA E6 D9 E8 13; CRC= 67 70

Дисплей:

1.png

Появилась опция С.DIFF, При этом показания передач вообще пропали. Даже рамки нет.

 

---------------------------------------------------------------------------

 

Меняем (на этот раз в двух местах):

36 6A AA AA E6 D9 E8 13; CRC= 67 70

Дисплей:

1.png

Появилась опция С.DIFF, Так-же как и стоило ожидать появилась еще и EyeSight. Как и в первом варианте замены расход стал km/l

 

---------------------------------------------------------------------------

Меняем:

6A AA 36 AA E6 D9 E8 13; CRC= 67 70

Дисплей:

1.png

Появилась опция С.DIFF, Показания расхода остались прежними, рамка текущей передачи присутствует.

 

---------------------------------------------------------------------------

 

Так-же попытался менять параметры таким-же способов во 2-й и 3-й строке. Визуальных изменений на дисплее не происходит. Панель либо запускается либо нет.

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

Изменено пользователем Omega_KZ
Ссылка на комментарий
Поделиться на другие сайты

Похоже что CRC рассчитывается просто линейно, сложением байт поочередно, причем конечное CRC как-то зависит от количества байт в строке.

Лично у меня возникло предположение, что CRC не складывается, а является какой-то битовой маской к каждому биту

Ссылка на комментарий
Поделиться на другие сайты

@mishapost,

Лично у меня возникло предположение, что CRC не складывается, а является какой-то битовой маской к каждому биту

Возможно вы правы. Я несмогу высчитать. Если у Вас есть примеры которые вы хотите проверить, я готов загнать их в панель для тестов.

Ссылка на комментарий
Поделиться на другие сайты

@mishapost,

Возможно вы правы. Я несмогу высчитать. Если у Вас есть примеры которые вы хотите проверить, я готов загнать их в панель для тестов.

Пока конкретных идей к сожалению нет.

 

Кстати, сделайте пожалуйста скрин приборки с полностью чистой флехой

Изменено пользователем mishapost
Ссылка на комментарий
Поделиться на другие сайты

Пока эксперементировал с дампами, удалось запустить приборку на китайском языке. Незнал что он там есть.

Снял сейчас свою приборку - загнал в нее дам от xv(который выше давали, поправил иммо только) - пошел поставил разницы никакой не заметил. Все вроде точно также функционирует.

 

Снял еще раз приборку в первых 4 группах по 10 байт, поизменял от байды данные(не FF или 00, а именно хрень всякую типа B9) - далее поставил приборку в авто. Приборка запустилась: на экране eyesight моргает постоянно, махания стрелок не было, картинки при открытой двери тоже, стрелки приборов лежат мертвым грузом на нуле. Работают только не которые лампочки (ручник, фары). Сообственно к Вам вопрос: что Вы понимаете под: панель не запустилась? На экране ничего нет?

Ссылка на комментарий
Поделиться на другие сайты

Приборка запустилась: на экране eyesight моргает постоянно, махания стрелок не было, картинки при открытой двери тоже, стрелки приборов лежат мертвым

Вот такую ракцию приборки я и понимаю пот тем что она не запустилась.

Это что то типо аворийного режима. Приборка запускается на Японском языке, расход в км/л, стрелки не отрабатывают тест, и по центру поргает eyesight. Значка си драйв тоже нет.

Ссылка на комментарий
Поделиться на другие сайты

Работают только не которые лампочки (ручник, фары).

 

Эти лаипочки напрямую подключены к входам на приборке и не управляются ЦП прибори. По этому и работают.
Ссылка на комментарий
Поделиться на другие сайты

Но дав питание на столе - как определить стрелки? Или сугубо - японский и значок eyesight?

 

Я вот хочу поэксперементировать с дампами и понять чем они отличаются.

Сейчас залил к себе дамп по ссылке выше - покатаюсь посмотрю в чем разница. Пока ничего не заметил, хотя первые строки отличаются, но не значительно

Ссылка на комментарий
Поделиться на другие сайты


×
×
  • Создать...