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 BOSCH 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… Вот пример одного из них.

JMGarageFlasher. Утилита для чтения/записи flash блоков управления MS42/MS43.

JMGarageFlasher — небольшая бесплатная утилита, написанная с использованием библиотеки QT. На данный момент версия еще сырая, и имеет баги, но по выпиливанию багов ведется работа и в скором времени будет стабильная версия.

Скачать JMGarageFlasher

Утилита позволяет читать всю flash память AM29F400BB блоков управления Siemens MS42/MS43 в режиме загрузчика (см. эту статью). Работает через k-line адаптер.
flasher1
После ввода блока управления в режим загрузчика, необходимо нажать кнопку «connect». «Соединившись» с блоком, программа позволяет проводить операцию чтения и записи нажатием на кнопки «read» и «write» соответственно.

MS43bootpin_jm

 

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

BMW DS2 протокол

Помимо стандартного протокола OBD-II, которому соответствуют  все бензиновые автомобили BMW с 1998 года,  в компании существует  последовательный  протокол DS2, применяемый  только в BMW c 1995 по 2005 год.  Данный протокол используется сервисными сканерами BMW, а также программами входящими в  состав пакета EDIABAS/ INPA. В сети отсутствует официальная информация по протоколу.
Путем применения сниффера последовательного порта во время проведении диагностики средствами INPA, и дальнейшего анализа полученных логов, был полностью расшифрован принцип обмена.

Протокол DS2 предельно прост  и состоит из 4-ех основных блоков:
1. Адрес блока управления, которому посылается команда
2. Длина посылаемого сообщения в байтах
3. Непосредственно сами данные для отправки
4. XOR контрольная сумма всех байт сообщения, т.е. начиная с «адреса» и заканчивая «данныеN»

Читать далее

Азбука MS42/MS43: Основы прошивки MS43. Краткое руководство по тюнингу.

карта зажигания
В двух предыдущих статьях рассматривались чтение/запись прошивки из MS42/MS43 и основные сокращения инженерной карты (damos). Эта статья посвящена основам тюнинга блока. Будут рассмотрены основные карты и параметры прошивки, необходимые для отстройки нестандартного (модифицированного) мотора M52Tu и M54. Все параметры подразделены на 4 основные категории:

  1. Общие сведения
  2. Топливо/смесь
  3. Зажигание
  4. Тайминги/Vanos

Все примеры к статье сделаны в редакторе WinOls
Читать далее

Азбука MS42/MS43: Сокращения damos-файла.

При изменении бинарного файла прошивки в  каком либо из редакторов,  тюнеру необходима информация о том где и в каком виде записаны те или иные калибровки. Есть множество  способов «добыть» эту информацию. Будь то бесконечный серфинг в интернете (собирание информации по кусочкам), использование damos файла (наиболее часто) или же глубокое дизассемблирование прошивки (очень редко).

Damos файлы представляют собой инженерную карту в формате a2l, которую поставляет производитель прошивки сторонним компаниям отладчикам-тестерам. Для MS43 двигателя M54 BMW широко распространён damos 56-ой версии софта MS430056_V3 (скачать).
Читать далее