перед записью, Лексия посылает в девайс команду, ответ на эту конанду ЕДИНСТВЕННЫЙ из пока мною увиденных, который имеет значение...
в зависимости от ответа Лексия посылает, либо НЕ посылает дополнительную команду, прежде чем сделать запись...
так вот то, что приходит, и что посылается - НЕИЗВЕСТО... и мыслей пока никаких, что и зачем это может быть... (((
сейчас посмотрю, как пишет Диагбокс... но думаю, там тоже самое.
---------- Добавлено в 19:12 ---------- Предыдущее сообщение было написано в 14:30 ----------
так вот если в ответе 00 00 00 00 , то второго запроса не отсылается...
такое происходит в Лексии, если записываются параметры несколько раз не выходя в главное меню. т.е первый раз с дополнительным запросом, а каждый следующий раз лупят нули и допзапроса нет...
каждый раз эти 4 байта в запросе и ответе разные, даже если пишется точно такая же строка....
что это? НЕ ЗНАЮ... но без этого не работает.
---------- Добавлено в 19:53 ---------- Предыдущее сообщение было написано в 14:30 ----------
но у DiagBox'а я нулей в ответе еще не видел.. правда там и каждая сессия состоит из одной единственной записи, в отличие от Лексии, где в рамках одной сессии можно производить сколь угодно изменений параметров..
Ну вот опять встряну.
Ранее ввел общество в заблуждение (из-за недостатка инфы) - все-таки это не Intel-HEX, а какое-то подмножество протокола KWP2000. (кс формируется аналогично) В частности код 27 01 очень похож на функцию SecurityAccess service. Эта опция предназначена для разблокирования блока для критичных операций с ним. Вот выжимка из протокола:
The procedure defined by this service includes the following steps:
• The client shall request the server to "unlock" itself by sending the service securityAccess request #1. The server shall respond by sending a "seed" using the service securityAccess positive response #1. The client shall respond by returning a "key" number back to the server using the service securityAccess request #2 (the algorithm for calculating the Key number shall be defined by the vehicle manufacturer or the system supplier). The server shall compare this "key" to one internally stored. If the two numbers match, then the server shall enable ("unlock") the client's access to specific KWP 2000 services and indicate that with the service securityAccess positive response #2.
• If a device supports security, but is already unlocked when a securityAccess request #1 is received, that server shall respond with a securityAccess positive response #1 service with a seed of "$00 00". A client shall use this method to determine if a server is locked by checking for a non-zero seed.
Some servers could support multiple levels of security, either for different functions controlled by the...
Если есть желание разбираться дальше могу выслать соответствующие стандарты на KWP. Тут их публиковать как-то не.... . Только предупредю подробно с ними я не разбирался, ввиду полной потери интереса к теме ковыряния митсы и наличия ,безграничного доступа к муту. Но чем смогу - помогу. Только ПОЖАЛУЙСТА не держите инфу за пазухой делитесь.
ну к/с считается-то правильно, а этот KWP - отдельная песня.
и то, что здесь написано, очень точно подходит подз прошитдящее. и как я понял, алгоритм в устройстве сравнивает значения из прошитых таблиц The server shall compare this "key" to one internally stored.
Но нам ничего не остается, как попытаться разобраться в KWP. Высылай на почту в личке. Переправлю всем желающим.
увы... если AlexH не добьется чего-нибудь, то все что останется, это довести до ума то, что есть... но это будет совсем не то, чего хотелось...
пока пауза.
Вот что я нашел по KWP
очень много инфы по "запросам" и "ответам", но мне это ни о чем не говорит т.к. я не силен в этом, может хоть кому-то приглянется.
в архиве описание протокола
и сам протокол работы.
В прошивке адаптера этих алгоритмов нет. Фактически он (адаптер) просто согласователь протоколов. Теоретисски програмка Earl_Vadim при минимальной переделке могет работать с ЛЮБЫМ адаптером. В данном случае был-бы предпочтительнее вообще опенпорт, типа в нем как-бы есть документированный API и какие-то либы. В ПО лексии почти невозможно чего-то найти. А "листая" ПО МУТа пока нашел, что там заложено аж 10 уровней SecAcc и чо к чему понять почти невозможно, аднака пока пытаюсь в обед. Тут дело в том, что я не могу использовать IDA как отладчик, по причине отсутствия лексии и даже винды. Только изучать раздезенный алгоритм, а это долго. А надо бы в ПО лексии ставить-ставить-ставить точки останова и найти место (в dll или exe) на выдаче пакета. Тогда все будет гораздо проще.
Получил китайскую Лексию для эксперементов. Жаль что темка притихла.
Есть вопрос к спецам: Поставил DiagBox 6.19 на виртуальный Win XP. с какой прошивкой Лексии стабильно работает Диагбокс? Когда начал мучать лексию у меня считывается WIN, проходит глобадьный тест, захожу в Телекодирование и БАЦ ...(Ошибка коммуникации)... Earl_Vadim, Как победили такой глюк.
P\S и еще очень часто не читает WIN. Ветку перечитал всю, но от закипания мозгов мог чтото упустить.