В блоге:

2015-11-20

Подделки ELM327: техническое описание определения (ноябрь 2015)

Проблема с поддельными адаптерами ELM327, к сожалению, остается актуальной. И я не вижу улучшения ситуации. Более того, появилась информация, что ушлые китайцы стали подменять выдаваемую программно версию поддельных ELM327 с 2.1 на 1.5a, что только еще больше будет запутывать пользователей.

В SZ-Viewer для Windows есть определение поддельных адаптеров. Оно пока работает (вне зависимости от версии 2.1 или 1.5a), но ожидаю, что китайцы подтянутся. И тогда определить программно подделку будет гораздо сложнее или просто невозможно. Для программы все будет выглядеть хорошо, но соединения с блоками управления автомобилем не будет.

Какие программные проблемы у нынешних подделок? Пока попадались только с двумя проблемами.


1. Наиболее распространенный вид подделок не понимает команду ATD. Имеющиеся у меня образцы (1, 2) именно такие.

ATD - это команда ELM327, которая похожа на ATZ, но работает быстрее, поскольку не делает сброс самого адаптера, а лишь сбрасывает настройки. Я активно использую ее в SZ-Viewer.

Команда поддерживается настоящим ELM327 с самой первой версии. Поддерживается нормальными китайскими ELM327 версии 1.5. А вот поддельные 2.1 эту команду вообще не знают. Поэтому вместо сброса настроек и ответа OK выдают вопросительный знак.

В SZ-Viewer адаптеры, которые не понимают ATD, обозначаются символом [D] в сообщении об подделке


2. Большая часть подделок определяется первым способом, но пару раз пользователям SZ-Viewer попадались подделки, которые понимали ATD, но ломались на другой команде. У меня такого адаптера нет, но заочное тестирование показало, что проблема возникает на команде ATTP.

Как и ATD, команда ATTP на практике редко применяется, хотя ее использование я считаю более правильным, чем более популярной ATSP.

Это как раз то, о чем я говорил, описывая концептуальные недостатки ELM327. Разработка команд ELM327 напоминает разработку SQL. Предполагалось, что команды будет задавать сам пользователь, но на практике это делают программы (или разработчики программ при отладке). ATSP - это установка протокола с его запоминанием. Предполагалось, что пользователь один раз выставит (руками, ага) нужный протокол, а потом будет сразу после включения адаптера подавать нужные команды (опять же руками, ага). На практике протокол выставляется программами, но использование ATSP влечет за собой кучу проблем. Разработчики ELM327 даже начали подставлять "костыли" в виде команды ATSP00 и т.д. и т.п.

Я же использую более безопасную команду ATTP при каждом соединении, поскольку, в отличие от SP (Set Protocol), команда TP (Try Protocol) не ломает настройку по умолчанию. Но так забавно получилось, что ATTP вызывает проблемы на подделках, которые, на удивление, понимают ATD. В SZ-Viewer такие поддельные адаптеры обозначаются [TP]. В оригинальных же ELM327 ATTP поддерживается изначально (с версии 1.0). В китайских 1.5 она тоже работает без проблем.


Итого: пока еще можно проверить ELM327, подав команды:
ATD
ATTP5
ATTP6

Каждая из трех команд должна давать ответ OK.


Может возникнуть вопрос: а если мне, автору SZ-Viewer, быть проще и использовать ATZ вместо ATD и ATSP вместо ATTP? Да, я так пробовал. Есть такие подделки, что без ATD и ATTP как бы и работают. Но просмотр передаваемых в шину данных показывает, что это только видимость. В шину уходит совсем не то, что просит моя программа. И если китайцы сделают видимость поддержки ATD и ATTP, то будет ситуация, когда SZ-Viewer работает, но соединение с блоками невозможно. Тяжелая ситуация. Но будем бороться с ней по мере ее появления. :-)

10 комментариев:

  1. Ооо там же на ебей такая каша щас с версиями 2.1/1.5 и плюс корпуса всякие разные появились, голову сломал уже а может доплатить и купить не за 500-1000р а за 2к, но фирмовый, не icar не vgate, пробовал поискать? Я вот щас штудирую ищу, а пока остановился на vgate icar2 за 1500 так там 9 протоколов + A,B,C в описании(12 итого). Продублируй ответ пожалуйста на Егор 111 собака мэйл ру без пробелов)

    ОтветитьУдалить
  2. привет! через мой адаптер твоя программа не соединяется с блоками а/м, может нужно устанавливать для него драйвера, и как проверить его, какой он версии - как подать данные команды? помоги, пожалуйста различить подделку? http://ru.aliexpress.com/item/2014-Free-Shipping-Works-On-Android-Torque-Elm327-Bluetooth-ELM-327-V1-5-Interface-OBD2-OBD/1597745048.html

    ОтветитьУдалить
    Ответы
    1. Вот ответы на команды терминала данного адаптера
      atib19 -> ok
      attp -> ?
      atal-> ok
      atsw00-> ok
      atd-> ok
      atz -> ELM327 v1.5
      ATTP6-> ok
      attp5-> ok
      atd-> ok

      Удалить
    2. С такой ситуацией уже сталкивался, но пока не готов дать развернутый ответ. Но, надеюсь, что в ближайшее время этой проблемы коснусь.

      Удалить
    3. atpps -> 00:FFF ... 2F:0AF

      Имеешь в виду, что это , вероятно, подделка?

      Удалить
    4. Да, есть подозрение, что подделка, но хитрая. Для вердикта мне нужно подождать, когда она мне в руки попадет.

      Удалить
  3. Ответы
    1. Спасибо, пока не надо. Уже едет, видимо, такой же экземпляр. Как доберется, то протестирую его.

      Удалить
    2. Этот комментарий был удален автором.

      Удалить
    3. сегодня снова пошел проверить и сфотать чтобы открыть спор на али, и чудесным образом он заработал! так что продолжаю изучать программу..

      Удалить

Архив блога