В блоге:

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 comments:

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

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

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

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

      Delete
    3. atpps -> 00:FFF ... 2F:0AF

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

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

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

      Delete
    2. This comment has been removed by the author.

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

      Delete

Blog Archive