На периферии двух гигантов инженеры Weichai vs инженеры Yuchai. Интересно кто умней? Ответ на этот вопрос я не знаю. Но когда разбираешь логи j1939 ты понимаешь, перед тобой две школы инженерии. Читать далее
Возможно это неисправность протокола j1939 в CAN-шине коммерческого транспорта. Проведём реверс-инжиниринг логов Вичай и Ючай. Что это системный сбой, банальный глюк, ошибка в прошивке, а может это эхо?
На периферии двух гигантов инженеры Weichai vs Yuchai. Интересно кто умней? Ответ на этот вопрос я не знаю. Но когда разбираем логи j1939 ты понимаешь, перед тобой две школы китайской инженерии.
Запуск ДВС Ючай:С пол оборота. При включении зажигания можно сразу, без паузы, крутить ключ на старт - мотор идёт на запуск.
Запуск ДВС Вичай:Плюс минус на третьей прокрутке стартера. Если при включении зажигания сразу попытаться запустить мотор, стартер часто не срабатывает. ЭБУ нужна пауза несколько секунд, и только потом происходит запуск. Блок явно чем-то занят перед стартом ДВС.
Но самое интересное под капотом CAN-шиныИнструменты >> для анализа трафика j1939 использую две свои утилиты на С.
Карта ( map_id_j1939_nosemi ) >> даёт общую картину сети.
Микроскоп ( viz_j1939 ) >> раскладывает фрейм по битам и байтам.
ОС и Железо >> Linux / CANable

Смотрим поле сообщение с блока на блок ни каких аномалий
Анализ Weichai << Картой >>
Смотрим поле сообщение с блока на блок Источник ДВС (0) Блок Назначение ДВС (0) Сообщений 210
Анализ Weichai << Микроскопом >>Пишем фильтр viz_j1939.c
byte1 = (id >> 16) & 0xFF;
byte2 = (id >> 8) & 0xFF;
byte3 = id & 0xFF;
if (byte1 < 240 && (byte2 == 0 && byte3 == 0))![Смотрим поле ID байты читаем слева на право от нуля. Байт 1 - 157 [0x9D] фрейм адресный. Байт 3 адрес источника. Байт 2 адрес назначения. С блока ДВС на блок ДВС. Смотрим поле ID байты читаем слева на право от нуля. Байт 1 - 157 [0x9D] фрейм адресный. Байт 3 адрес источника. Байт 2 адрес назначения. С блока ДВС на блок ДВС.](https://habrastorage.org/r/w1560/getpro/habr/upload_files/8b8/fb6/0c8/8b8fb60c8d8f83827f2cb81d33ab7404.png)
Смотрим поле ID байты читаем слева на право от нуля. Байт 1 - 157 [0x9D] фрейм адресный. Байт 3 адрес источника. Байт 2 адрес назначения. С блока ДВС на блок ДВС.
Просмотрел все сообщения поле данных не изменилось ни на один бит.
Гипотеза 1:Ошибка утилиты. Но на Ючай ничего подобного я ни когда не вытягивал.
Гипотеза 2:Я сначала подключился CANable запустил candump на запись, потом включил зажигание. При подаче питания система активируется. Просыпаются блоки ABS, EBS, ECAS и так далее. Возможно переходной процесс.
Беру данные после включения зажигания.
Гипотеза 3:Эхолокация, запрос, мониторинг, цифровая обратная связь. ЭБУ ДВС отправляет сообщение в сеть. Этот фрейм возвращается и блок анализирует, по идее, поле данных. Даже не знаю что сказать!?
Вот такая загадка инженеров Weichai.
Низкоуровневая работа с сырыми Hex-данными через самописный софт позволяет увидеть реальные инженерные решения, которые скрыты от глаз диагностов за красивой обёрткой сканера.
При этом сам процесс разделяется на две стадии: ты можешь собрать сырые логи в полевых условиях с помощью Linux и CANable, а вот анализировать их и изучать CAN-шину - уже дома, комфортно лёжа на диване в Termux на обычном планшете. Всё, что нужно для реверса - это данные.
Листая Хабр, я поймал себя на мысли, что со своим чистым Си и консольными утилитами для CAN-шины я смотрюсь там как "здравствуй, среди ночи". Вокруг сплошной веб и модные фреймворки. Ребята, неужели Си и низкоуровневое программирование сейчас не востребованы? Или все спецы просто в тени?
На данный момент я ищу работу или стажировку в сфере низкоуровневого программирования. Мечтаю полностью перейти в эту индустрию, чтобы развивать свои навыки программирования на С. Открыт для предложений.
Исходники доступны на GitHub [ https://github.com/Data7Viz/data7-can]
Канал для связи [ https://vk.ru/j1939]
| # | Наименование новости | Тональность | Информативность | Дата публикации |
|---|---|---|---|---|
| 1 | АКПП Voith не включается выше второй передачи: разбираемся в J1939 | 0 | 7.51 | 06-08-2026 |
| 2 | Мой код терял бы 230 байт из 231. Чтобы это увидеть, пришлось патчить QEMU | -1 | 10.63 | 02-08-2026 |
| 3 | Репост (про ИИ, embed via s1) | 0 | 33.08 | 25-02-2026 |
| 4 | 7 месяцев вайбкодинга: как в одиночку делать то, что раньше требовало команду | 0 | 9 | 01-08-2026 |
| 5 | Посол в РФ: о развитии ИИ и вкладе Китая | 0 | 0 | 14-04-2025 |
| 6 | Подножка для AI в виде UTF-8 | 0 | 10.07 | 14-10-2025 |
| 7 | Давайте заглянем в этот самый вайб-код | 0 | 8.44 | 20-03-2026 |
| 8 | ИИ-Автопилот: поток принятых задач вырос в тринадцать раз | 1 | 8.82 | 31-07-2026 |
| 9 | 6,9к за восемь лет и 121к за полгода: аномалия в данных одного телеграм-канала | 0 | 7.67 | 07-08-2026 |