MSS60/65 ews off, immo off ECUs. Swap solution ready.

Пришло время установки старых добрых моторов  s65/S85  в кузова предыдущего поколения.
1280px-BMW_S85B50_Engine

Мы подготовили swap — решение MSS60\65 для этих целей.
Siemens MSS60/65 базируется на двух процессорах MPC563 архитектуры powerPC.Первый процессор отвечает за процедуры, связанные со впрыском, второй процессор за процедуры связанные с зажиганием.
После долгих усилий, наконец-то удалось удалить ews из блоков MSS60/MSS65. Подготовить standalone решение  для установки S-моторов в другие кузовы.
Система-управления-MSS65-в-двигателе-BMW-S65

ECU price — 2900euro

please contact to marrakech@inbox.ru

Корректное отключение датчика IBS в блоке msv70

853d309s-960

На  BMW e60/e90 встречается проблема связанная с некорректной работой датчика IBS. В случае дорестайловых моделей, на работу двигателя и бортэлектроники  это никак не влияет и обычный водитель не заметит разницы в поведении автомобиля, за исключением того, что в моторном блоке msv70 висит ошибка, которую невозможно удалить. В случае рестайлинговых моделей, отключается куча потребителей в бортсистеме.

449979es-960

Рассмотрим способ выключения диагностики IBS из блока MSV70 для дорестайлинговых моделей.
Диагностика выдает следующие ошибки в блоке MSV70:
Rheingold
00299D DME: интеллектуальный датчик аккумуляторной батареи, передача сигналов
INPA
299D Batteriesensor: Signalübertragung

Оффициальная документация по MSV70 нам говорит следующее:

Screenshot from 2019-11-24 12-30-58

MSV70_ramen_cr

Т.е. для полного отключения поддержки датчика IBS в блоке msv70 достаточно сбросить 7ой бит параметра MSKIBSDIAG (1байт).  Данный параметр находится в области калибровок. Для  выполнения операции достаточно любого доступного флешера, читающего калибровки, типа KESS/GALETTO.

В качестве примера, показана позиция данного байта в пределах дампа, считанного с помощью KESS с дорестайлинговой е60.  Адрес — 0х5е067.

e60_N52B25_stock_kess

Screenshot from 2019-11-24 12-56-42

Байт 0xFF по адресу  0х5е067  необходимо заменить на 0xFA.

Бюджетная подача масла на турбину М52/М54

После разочарования и ошибок с китайскими «тефлоновыми армированными» шлангами на подачу масла в турбину T3/T4 (тоже китай), начались поиски быстрого варианта маслопровода на моторы М54/М52. Вообще это частая ситуация, когда турбина уже пришла, а маслоподачи еще нехватает :) Я живу в России и целью было собрать подачу масла «на коленке» быстро из имеющихся переходников и фитингов в магазинах ВАЗ/ГАЗ/УАЗ/КАМАЗ и сервисах занимающихся продажей запчастей для ГБО. У меня небольшой опыт построения машин с системами ГБО 5-го поколения и мне очень нравится соединение медной трубки с фитингом через обжимную латунную муфту. Решил сделать масло подачу на базе медной трубки 8мм. Мысль двинулась в эту сторону и вот что получилось…

Масло будем забирать с маслостакана М52/М54, а именно с того места, где подключается шланг подачи масла на систему VANOS. С завода там установлен банджо болт М14х1.5 (см схему, номер — 11)
schema_maslostakan

banjo_on_car_cr

stock_banjo
Нужен был переходник, одной частью которого сохраняется функционал для подачи масла через банджо болт, а вторая часть имеет выход с резьбой не меньше М10, чтобы можно было вкрутить муфту для обжимания медной трубки. после поисков было найдено решение в виде переходника для датчика давления от ВАЗ 2106.

troinik

Внешняя и внутренняя резьба М14х1.5. То что требуется! Единственное отличие заключается в том что отверстия подачи масла в заводском болте значительно больше переходника от ВАЗ. Это несоответствие легко исправляется с помощью сверла на 5мм и 10 минут времени.

photo_2017-12-02_12-54-50 (3) photo_2017-12-02_12-54-49 (2)

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

перходник_и_топливная_муфта

В перходнике также высверливаем сквозное отверстие на 8.1-8.5 мм..photo_2017-12-02_12-54-50 (2)

На трубку одевается латунный бочонок и обжимается…

photo_2017-12-02_12-54-50 (4)

Обжато..

photo_2017-12-02_12-54-49

Вкручиваем переходник в  маслостакан:

photo_2017-12-02_20-23-10 photo_2017-12-03_19-26-08

Все отлично подошло :) Теперь вкручиваем медную 8мм трубку с муфтой. Примерная длина трубки — 1.5 метра.

photo_2017-12-02_17-42-21

Со стороны маслостакана все готово, теперь конструируем переходник на турбину. В моей турбине предусмотрено 2 типа крепления на подачу масла — банджо болт М12х1,25 и фланец с прокладкой. Будет использоваться резьба 12х1,25, как у  родного банджо болта в турбине. В магазине для грузовиков был найден  переходник штуцер тормозной системы  ГАЗ-3302 с заводским номером  24-3546012 — (наружный М12х1.25, внутренний М10х1.25).

штуцер ГАЗ2

Данный штуцер вкручивается в турбину через медную шайбу. Чтобы завести в штуцер 8мм медную трубку — используется переходник от ГБО с резьбой М10 и выходом под медную трубку с латунным уплотнением бочонком.

photo_2017-12-02_15-35-13 (3)

Получаем следующую последовательность…внизу заводской банджо-болт от турбины.

photo_2017-12-02_15-35-13 (4)

Обжимаем латунную  муфту. Кстати латунные муфты и 8мм трубка всегда есть в наличии в магазинах c  ГБО. Переходники на М10 там же в большом количестве.:)

photo_2017-12-02_15-35-12

Скрученный и установленный  переходник на турбине

photo_2017-12-02_15-35-13 (2)

photo_2017-12-02_15-35-13

Оба соединения готовы. Соединяем второй конец медной трубки с турбиной и все готово.

ВАЖНО! необходимо делать петлю на медной трубке ближе к турбине для компенсации тепловых «движений».

петля

P.S. Для различного вида резьб внутри турбин, можно подобрать разные переходники в магазинах для грузовиков КАМАЗ/МАЗ и ГБО. Также можно рассмотреть вариант испольования 4мм и 6мм готовой обжатой медной трубки от тормозной системы УАЗ и ГАЗ, см. фото ниже.

переходники переходники+трубки

How to run WinOls under the VirtualBox

When you start WinOLs under the VitrualBox, you will see the message — «Application cannot be run in virtual machine». This is Enigma protection.

To fix this problem, you need:

1: First of all — DO NOT install VirtualBox Additions!!! Important !!!

2: With the Virtual PC switched off run the following commands (where «Windows 7 x64» is the name of your Virtual PC) :


VBoxManage setextradata "Windows 7 x64" "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSVendor" "LENOVO"
VBoxManage setextradata "Windows 7 x64" "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSVersion" "1.0.3"
VBoxManage setextradata "Windows 7 x64" "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSReleaseDate" "06/20/2008"
VBoxManage setextradata "Windows 7 x64" "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSReleaseMajor" 2
VBoxManage setextradata "Windows 7 x64" "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSReleaseMinor" 1
VBoxManage setextradata "Windows 7 x64" "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSFirmwareMajor" 2
VBoxManage setextradata "Windows 7 x64" "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSFirmwareMinor" 1
VBoxManage setextradata "Windows 7 x64" "VBoxInternal/Devices/pcbios/0/Config/DmiSystemVendor" "LENOVO"
VBoxManage setextradata "Windows 7 x64" "VBoxInternal/Devices/pcbios/0/Config/DmiSystemProduct" "ThinkCentre M91p"
VBoxManage setextradata "Windows 7 x64" "VBoxInternal/Devices/pcbios/0/Config/DmiSystemVersion" "<EMPTY>"
VBoxManage setextradata "Windows 7 x64" "VBoxInternal/Devices/pcbios/0/Config/DmiSystemSerial" "DJX5DH1"
VBoxManage setextradata "Windows 7 x64" "VBoxInternal/Devices/pcbios/0/Config/DmiSystemFamily" "ThinkCentre"
VBoxManage setextradata "Windows 7 x64" "VBoxInternal/Devices/pcbios/0/Config/DmiSystemUuid" "99958C8C-8800-1058-8039-C8C08F888831"
VBoxManage setextradata "Windows 7 x64" "VBoxInternal/Devices/pcbios/0/Config/DmiChassisVendor" "LENOVO"
VBoxManage setextradata "Windows 7 x64" "VBoxInternal/Devices/pcbios/0/Config/DmiChassisType" "3"
VBoxManage setextradata "Windows 7 x64" "VBoxInternal/Devices/pcbios/0/Config/DmiChassisVersion" "ThinkCentre M91p"
VBoxManage setextradata "Windows 7 x64" "VBoxInternal/Devices/pcbios/0/Config/DmiChassisSerial" "DJX5DH1"
VBoxManage setextradata "Windows 7 x64" "VBoxInternal/Devices/pcbios/0/Config/DmiChassisAssetTag" "DJX5DH1"
VBoxManage setextradata "Windows 7 x64" "VBoxInternal/Devices/pcbios/0/Config/DmiBoardVendor" "LENOVO"
VBoxManage setextradata "Windows 7 x64" "VBoxInternal/Devices/pcbios/0/Config/DmiBoardProduct" "MOBO"
VBoxManage setextradata "Windows 7 x64" "VBoxInternal/Devices/pcbios/0/Config/DmiBoardVersion" "MOBO"
VBoxManage setextradata "Windows 7 x64" "VBoxInternal/Devices/pcbios/0/Config/DmiBoardSerial" "DJX5DH1"
VBoxManage setextradata "Windows 7 x64" "VBoxInternal/Devices/pcbios/0/Config/DmiBoardAssetTag" "DJX5DH1"
VBoxManage setextradata "Windows 7 x64" "VBoxInternal/Devices/pcbios/0/Config/DmiBoardLocInChass" "MAINBOARD"
VBoxManage setextradata "Windows 7 x64" "VBoxInternal/Devices/pcbios/0/Config/DmiBoardBoardType" "10"
VBoxManage setextradata "Windows 7 x64" "VBoxInternal/Devices/pcbios/0/Config/DmiOEMVBoxVer" "Not Relevant"
VBoxManage setextradata "Windows 7 x64" "VBoxInternal/Devices/pcbios/0/Config/DmiOEMVBoxRev" "Not Relevant"

EWS3 Pinout, Dump. Electronic immobilizer control unit.

836 Electronic immobilizer control unit (EWS-3)

Number

X-pin, colour

Description

X1659

13-pin, Black

Plug connector Electronic immobilizer control unit (EWS)

Pin assignments at plug connector X1659

Pin

Type

Description / Signal type Connection / Measuring notes
1

A

Terminal 50

Starter

2 E Terminal 30

Ignition switch

3

Not used

4 a

Activation, drive-away protection

DDE control unit, DME control unit

5 E

Signal, ring coil ignition lock

Ring coil

6 E

Signal, gearshift position L2

Gear position switch

7

Not used

8

Not used

9 E Terminal 31 Connector terminal 31
10 E Voltage supply terminal 30

Fuse F12

11 E

Terminal R

Fuse F37

12 E Signal, ring coil ignition lock

Ring coil

13 E/A

K-bus signal line

Instrument cluster (IKE)

Подключение EWS-3:

Разьем 13 pin:

p.04 — DME/DDE
p.05 — coil
p.06 — +12v (EGS) — необходимо, если EWS закодирован под АКП
p.09 — GND
p.10 — +12v (30)
p.ll — +12v (R)
p.12 — coil
p.13 — K-bus — при подключении «на столе» подтянуть к +12v резистором 4,7-10 кОм

Контроллер МС68НС11ЕА9:

р.01 – Vss GND)
р.02 — Vdd(+5v)
р.03 — ModA
р.05 — Е-с1оск
р.17 — Reset
р.20 — RxD
р.21 — TxD
р.22 — ModB
р.25 — Vss(GND)
р.26 — Vdd(+5v)

При внутрисхемном программировании резать дорожку, соединяющую RxD и ELMOS.

EWS-3 BMWTNR 8.380.138 HW:01 SW:03

Dump:

В600: 0F 3F 01 02 03 ОА 00 05 FF FF FF FF FF FF FF FF

B600-B60F — Fault codes

В610: FF FF FF FF FF FF FF FF FF FF FF FF FF FF 04 FE B61E — Fault codes number

B620:

88 38 01 38 01 81 81 07 32 97 06 55 F0 00 F0 FF

B620-B62A — ID EWS

B630 FF FF 00 40 FF 0A 01 0A 0A F8 10 38 00 19 5C 24 B63B-B640 — Password
B640: 14 C3 04 9E AB 07 F8 F5 B2 F2 AD 47 93 64 А0 El B641-B657 — KEY 0
B650: 98 DB 41 OF EC 05 02 00 C3 04 9E 26 B6 01 DE 96 B658-B66E — KEY 1

B660:

84 0E DA 6A FC 21 6D B2 0F 9A 23 6A CE FC 00 C3

B66F-B685 — KEY 2

B670: 04 52 36 EB 49 88 FF 64 25 EC 66 1F 02 A3 E6 89
B680: B7 D6 E7 D9 11 00 C3 04 49 C6 D3 6D F1 8B FE 5B B686-B69C — KEY 3

B690:

18 0B 5A 66 F7 99 B5 1E 67 46 31 C7 00 02 04 EB

B69D-B6B3 — KEY 4

B6A0: 8A 6F В6 38 55 ОС 76 FF FF FF FF FF FF FF FF FF
B6B0: FF FF FF FF 02 04 64 5E А0 39 38 21 0D AE FF FF

B6B4-B6CA — KEY 5

B6C0: FF FF FF FF FF FF FF FF FF FF FF 02 04 57 9E CA B6CB-B6E1 — KEY 6
B6D0: 9E 63 28 DD 3E FF FF FF FF FF FF FF FF FF FF FF
B6E0: FF FF 02 04 80 68 ЗА 81 A9 F8 D6 F5 FF FF FF FF B6E2-B6F8 — KEY 7
B6F0: FF FF FF FF FF FF FF FF FF 02 04 60 F3 7E 5E 34 B6F9-B70F — KEY 8
B700: 91 C9 D0 FF FF FF FF FF FF FF FF FF FF FF FF FF

B710:

02 04 B4 53 00 E0 11 41 EA 60 FF FF FF FF FF FF

B710-B726 — KEY 9

B720: FF FF FF FF FF FF FF 00 01 4A 44 02 01 8C 00 00 B729-B72B — Odometer 1
B730: 00 2B FF FF FF FF FF 20 2C A3 4D 18 10 01 00 B6 B737-B744 — FGSTNR
B740: 03 10 82 06 59 FF FF FF FF FF FF FF FF FF FF FF
B750: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
B760: FF FF FF FF FF FF FF 53 61 00 00 32 00 01 08 00 B767-B77A — Coding
B770: 04 80 14 04 45 00 00 7F E7 F6 56 FF FF FF FF FF
B780: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
B790: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
B7A0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
B7B0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
B7C0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
B7D0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF B7E4-B7E6 — Date of prog.
B7E0: FF FF FF FF 05 09 97 FF 4A 44 02 19 44 00 00 19 B7E8-B7EA — Odometer 2
B7F0: 44 5D 00 00 19 44 5D FF FF FF FF FF FF FF FF FF B7EB-B7F6 — DME Code

Odometer: 148554 km (читать справа налево — 02444A(hex) — конвертировать в DEC)

Использованные ключи — KEY 0 — KEY 3 (признак — наличие изменяющегося кода)

В дампе контроллера

KEY 0:
В640: .. СЗ 04 9Е АВ 07 F8 F5 В2 F2 AD 47 93 64 АО Е1
В650: 98 D8 41 OF ЕС 05 02 00 .. .. .. .. .. .. .. ..
— СЗ 04 — заголовок(ключ адаптирован)
— 9Е АВ 07 F8 F5 В2 F2 AD — постоянный код ключа (8 байт)
— 47 93 64 АО Е1 98 D8 41 OF ЕС 05 02 — изменяющийся код (12 байт)

KEY 5:
В6В0: .. .. .. .. 02 04 64 5Е А0 39 38 21 0D АЕ FF FF
В6С0: FF FF FF FF FF FF FF FF FF FF FF .. .. .. .. ..
— 02 04 — заголовок (ключ не адаптирован)
— 64 5Е АО 39 38 21 0D АЕ — постоянный код ключа
— FF FF FF FF FF FF FF FF FF FF FF FF — код отсутствует (ключ не использовался)

ECU Bosch MED17.5. Чтение и запись.

IMG_4016

Блок построен на процессоре Infineon Tricore TC1766.
В микросхеме процессора находится флэш память объемом 1504 Кбайт и ЕЕПРОМ в 32Кбайта.

IMG_4021

Существует два способа чтения-записи блока: через OBD разъем  и через BSL загрузчик (так называемый boot-mode, бут-режим)
Каждый из способов имеет свои  плюсы и минусы.

Чтение-запись через OBD:
плюсы:
-быстро
-не требуется вскрытие блока
минусы:
-читаются и записываются только данные с калибровками
-не на всех блоках удается прочитать и записать из-за установленной системы защиты TPROT
-увеличивается счетчик перепрограммирования ECU

Чтение-запись через boot-mode
плюсы:
-доступ ко всей  флэш память и еепром
-не увеличивается счетчик перепрограммирования ECU
минусы:
-требуется снятие с машины и последующая разборка блока

IMG_4018 IMG_4024

Для выполнения программирования, наиболее часто используется FGTech Galletto v54 или его китайский клон :) .

Что-бы подключиться к блоку на столе для чтения через OBD нужно использовать следующие контакты:

1 — Земля
5, 87, 92 — +12В
67 — CAN High
68 — CAN Low

А если работать с блоком на столе через «бут режим» нужно использовать следующие контакты:
1 — Земля
5 — +12В
87, 92 — Ignition
67 — CAN High
68 — CAN Low
И дополнительно нужно подключиться серым проводом (или подпаять сопротивление 1Ком от массы) к точке «Boot» на самой плате блока

med17.5_bootpin

Пины подключения блока:

med17.5_pinout

Для чтения-записи без разбора используется стандартная процедура.
Но в случае перевода блока в «бут режим» программа будет требовать на определенных этапах работы пересбрасывать питание ЭБУ.

Спасибо Олегу Львову (спб) за предоставленные материалы.

BMW ME 7.2 euro coding

  • CDDST  FW code word CARB: EURO byte for deactivation of tank press. sensor diagn.
  • CDEFST FW code word DFSTT inactiv (EURO-coding), CD..=0 -> no diagnosis
  • CDHSH FW code word heating diagnose after Kat (CDHSH = 0 => no diagnosis)
  • CDHSV FW code word heating diagnose upstr. Kat (CDHSV = 0 => no diagnosis)
  • CDKAT FW code word: catalyst diagnosis in OBDII-mode (invers: European mode)
  • CDKVS FW code word: DKVS active/inactive, CD..=0 -> no diagnosis
  • CDLLR FW code word DLLR inactiv (EURO-coding), CD..=0 -> no diagnosis
  • CDLSA FW code word oxgen sensor aging diagnosis, configuration byte, for application
  • CDLSH FW code word lambda sensor diagnosis behind KAT in OBDII-Mode (invers: Europe mode)
  • CDLSV FW code word oxygen sensor diagnosis upstr. KAT in OBDII mode
  • CDMD FW code word DMD inactive(EURO-coding), CD..=0 -> no diagnosis
  • CDNWS FW code word DNWS inactiv (EURO-coding), CD..=0 -> no diagnosis
  • CDSLS FW code word secondary air system in OBDII mode (inv: Europe mode)
  • CDSLSE FW eurobyte for output stage diagnosis of secondary-valve/pump
  • CDSWE FW code word DSWE inactive (EURO-Coding), CD..=0 -> no diagnosis
  • CDTANKL FW code word DTANKL inactiv (EURO-coding), CD..=0 -> no diagnosis
  • CDTES FW code word disable canister-purge monotoring (Euro coding), CD..=0 -> no dia.
  • CWOBD FW code word for configuration OBD certifikation:
    01 OBDII-CARB
    02 OBD-EPA
    03 OBDII-CARB + OBD-EPA
    04 OBDI
    05 no OBD-requirements
    06 EOBD

a2l to xdf. Что такое a2l файлы?

Что такое a2l-файл? Откуда они берутся?

Каждый начинающий тюнер задается вопросом — «где взять данные о том что лежит в бинарном файле прошивки?», «по каким адресам? какие карты?». В это ему помогут a2l файлы. По сути, а2l файл — это инженерная карта прошивки, т.е. в нем описаны все основные калибровки и константы бинарного файла прошивки, а в новых стандартах и фунции. Существует масса программ интерпретирующих а2л файлы, к примеру — WinOLS. Эти программы парсят инженерную карту и отображают пользователю уже удобоваримые карты в виде таблиц и графиков. Пользователь может изменять данные в этих понятных человеку таблицах (картах) и программа автоматически изменить нужные байты в бинарном файле прошивки. Но, как правило, все эти программы -платные.Есть не менее известный стандарт хранения данных о калибровках в прошивке — xdf. Xdf специально разрабатывался для программы TunerPro. Программа полностью бесплатна. Если уметь читать и понимать что находится в а2л файлах, можно на базе имеющегося а2л создать xdf и пользоваться им в TunerPro.

A2l -это текстовый формат файла, который описывает практически ВСЮ информацию о прошивке. Эту информацию предоставляет сам производитель. Точнее, он не хочет её предоставлять широким массам 😀 , но файлы всё равно утекают в сеть и тут за дело берутся доморощенные тюнеры 😀 -самоучки. Что мы видим в этом файле, на примере блока Siemens МS43 от BMW? Как его использовать применительно к бинарному файлу прошивки?
Если открыть a2l в текстовом редакторе (я рекомендую Notepad++), мы увидим кучу всевозможных begin и end и какие — то данные между ними. Давайте сконцентрируемся на этих блоках, заключенных между begin и end… Вот пример одного из них.