Владислав (ra1aie) wrote,
Владислав
ra1aie

Category:

Про ЭБУ BMW, их прошивки и почему не надо кормить автобарыг

На этот пост меня сподвигла, с одной стороны, необходимость замены ЭБУ двигателя в моей некробмв, а с другой - неадекватная стоимость за такую работу в Германии, насмешки "спецов" на профильных форумах за "нубские вопросы", и предложения вступить за деньги в "закрытые группы кодировщиков" для получения доступа к "секретной информации о прошивках".

Итак, речь идет о «мозгах» двигателя BMW N46 – блоке DME (Digitale Motor Elektronik) производства Bosch серии MEV9/EKV946, он же MEV9N46. Замена этого блока мне потребовалась из-за проблемы, предположительно кроющейся в неисправности содержащихся в нем силовых транзисторных ключей. Подкинуть вместо него для проверки другой такой же блок просто так нельзя – там зашиты VIN, параметры двигателя и код иммобилайзера, без совпадения которого машина не заведется, а через штатный диагностический разъем OBD2 изменить все это нельзя никакими средствами. Формально BMW заявляет, что блок DME "привязывается" к машине только один раз на заводе, и поставить б/у блок на другую машину невозможно. Местные сервисы озвучивали ценник от 90 евро за диагностику DME, ~300 евро за ремонт (без 100% гарантии успеха), либо 500-1000 евро за замену блока DME на новый.

Вежливо послав сервисменов куда подальше, я стал гуглить и с ходу наткнулся на россыпь объявлений местных кулибиных на местном же аналоге авито, которые за скромную сумму в 200-300 евро предлагали "перепрошить любой совместимый б/у блок под вашу машину". Ну а раз это возможно - то радиолюбитель я или где?

Погуглив еще, я выяснил, что в подавляющем большинстве случаев в блоках DME производства Bosch на плате распаян интерфейс BDM (Background Debug Mode), через который можно невозбранно сливать и перезаписывать дампы прошивки процессора и содержимого флеш-памяти. Тут уж совсем все стало ясно, и для экспериментов был приобретен китайский программатор:


Также был приобретен блок DME от двигателя той же серии:


Для начала запитываем и подключаем блок на столе через кабель K-Line, чтобы убедиться в его работоспособности:


Распин:


Диагностический софт (INPA) наш блок видит и опознаёт, номера совпадают с тем, что написано на корпусе - уже хорошо, значит как минимум логика в нем исправна и никто в него до нас не лазил. Теперь разбираем блок:


Находим наш BDM интерфейс:


Покупать специальную рамку с прижимными пинами меня задушила жаба, станции и фена у меня нет, поэтому я взял тонкий маломощный паяльник:


И вот таким колхозным способом подключил блок к программатору:


Пробуем считать:


Есть контакт. Дальше у нас два пути - либо вскрывать "родной" блок, сливать дамп с него и заливать в "донора", либо нагуглить дамп от машины с точно таким же двигателем и трансмиссией и залить в "донора", предварительно HEX редактором поправив в нем VIN, код иммо (ISN) и прочие несуразности, благо в дампе флешки всё лежит в открытом виде... ну, почти всё :)
Я пошел по второму пути, чтобы не курочить "родной" блок на случай, если что-то пойдет не так.

После загрузки правленого дампа, штатным софтом льем в блок версию прошивки, подходящую для нашей машины:


Если же попытаться просто перепрошить блок нужной версией без заливки дампа, получим вот такой отлуп:


На этом моменте я долго ломал голову, но потом все же выяснил, что в пределах двигателя N46 блоки DME по железу таки ничем не отличаются, а "ECU hardware number" относится к семейству версий прошивки. Л - логика.

Отключаем аккумулятор, снимаем старый блок DME (он под капотом слева, в герметичном коробе):


Накидываем разъемы на новый DME прямо с напаянной косой для программатора (предварительно убедившись, что ничего никуда не коротит):


Подключаем аккумулятор, включаем зажигание, цепляемся к машине по OBD. Все выглядит неплохо:


Синхронизируем блок с иммобилайзером, скидываем адаптации, выполняем обучение системы Valvetronic:


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

Снимаем блок с машины, еще раз подключаем к программатору и сливаем дамп в качестве рабочего бэкапа, после чего аккуратно отпаиваем косу BDM:


Теперь добавляем немного термопасты вместо старой и собираем блок, туго закручивая все 6 винтов. Всё, можно ставить на машину:


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


Все, это конечно, несколько геморройно делать в первый раз и без опыта, но при наличии навыка и рамки для программатора блок DME шьется за 10-20 минут. С учетом снятия с машины, разборки, прошивки, сборки и установки обратно - час, максимум два. На мой взгляд, даже 200 евро за такую работу много, а уж 500 или 1000... К примеру, автомеханики у нас сумму в 1000 евро попросили бы разве что за крайне сложный ремонт с разборкой двигателя, занимающий несколько дней работы.

Поэтому не стоит кормить подобных "спецов", нещадно задирающих цены, если речь идет только об управляемой автоэлектронике и копировании/обнулении ее прошивок - в этой тусовке всё держится на информации о распиновках блоков, их совместимости, кодировании и методах обнуления дампов, а человека "с улицы" на профильных форумах вместо ответа на вопрос чаще всего с ходу шлют нахер. На самом деле, ничего сложного (если мы не говорим о чип-тюнинге) там нет, никакой магии не происходит, и никаких специальных инструментов не нужно. Мне всё это обошлось в 90 евро - 30 за блок, 60 за программатор (который я потом продам), плюс некоторое время на поиск необходимой информации.

Tags: bmw, авто, очумелыеручки, радиолюбительское, эбу
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 11 comments