Pull to refresh
8K+
3
15,1
Rating
2
Subscribers
Send message

ELM327 не дочитывает ответы блоков кузова: доказательство подмены кадра и обход

Level of difficultyMedium
Reading time19 min
Reach and readers8K

У меня в VW Polo завёлся плавающий контакт в проводке парктроника, и я написал свой диагностический клиент — потому что штатный сканер показывает факт, но не момент: пока листаешь меню, обрыв уже прошёл, а руки заняты сканером, хотя должны быть на жгуте.

Дальше выяснилось, что дело не в моём коде и не в машине. Прошивка ELM327 ведёт многокадровый обмен ISO-TP только с одной парой адресов — 0x7E0 и 0x7E8, это блок двигателя, зашитый намертво. Блокам кузовной электроники, которые отвечают с другим смещением, адаптер просто не посылает кадр разрешения на продолжение: блок отдаёт первый кадр и встаёт в ожидание, а на все следующие запросы отвечает «занят».

В статье: разбор ограничения, таблица из четырёх неработающих обходов на AT-командах, случайно полученное доказательство того, что адаптер подменяет кадр, костыль, который всё-таки позволил вытащить коды, и настоящее решение через USB-CAN. Плюс приём, спасший архитектуру: новый способ связи притворяется старым, и остальной код не меняется вовсе.

Правка от 21.08.2026: статья исправлена по замечаниям в комментариях — команды инициализации, байт-заполнитель, границы OBD-II и главное, формулировка «обойти невозможно», которая была сказана слишком широко. Что именно поправлено и по чьему замечанию — в разделе «Обновления». Там же ссылка на версию для Android.

Читать далее

Information

Rating
561-st
Registered
Activity