-
Notifications
You must be signed in to change notification settings - Fork 34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
KI211 can't connect #52
Comments
Hello mbw211, Thanks for trying this project out and taking time to open this issue. From the traces, it seems like the ECU is responding with a "Busy Repeat Request" error when attempting to enter a diagnostics session, which indicates that the ECU is busy handling another request. This is the first time that I have seen this error type. As Vediamo is working fine, would you be able to help capture the traces so that I can check if there might be an initialization issue? The quick and easy way (less info): lolhQWfXrA.mp4The detailed way (much more useful info) is through J2534 logging : #11 |
Hello! Here is capture of traces from Vediamo.17:12:32 Request: Hope this helps in solving the problem |
DT_STO_ECU_IDENT : 1A 86 Well this is correct identification from ki211, and your connection is stable. |
Yes, the conection is stable in vediamo. I have problems with connection in Diogenes tool |
Thanks for the trace! It is particularly interesting as there is only an ident message The suggested solution to a "Busy Repeat Request" is to resend the same message after a short wait. There is a possibility that Vediamo is re-sending that message, however that re-transmission will only be visible on a J2534 log. I will need to find some time to implement a test build with that behavior, and will be back here again when it is available. In the meantime, if you manage to capture a J2534 log or similar, please let me know as there will be much more information in there. |
Hello! Here I post traces from vediamo made using J2534 shim . I opened ki211.cbf via vediamo, then sent a command to open access and calculated the seed key back. |
The trace is very helpful, thank you! So far, this is what I've observed:
The address In the case where KI211 does not support sessions, it makes sense that To test this theory, please try using this debug build. This build will not send any session-specific messages, and hopefully it will make better progress. I've added some notes to the above J2534 trace and cleaned it up a bit:
|
Here's another attempt, this time I've enabled session messages again, but their addresses are hard-coded to |
CAN ID |
At this time, I am still unable to identify the source of the issue. Would you be able to capture the J2534 trace again, but this time using Diogenes? I will try to compare the new trace with the previous upload to see if there are other differences that I might have missed. @N0cynym interesting, thanks for pointing that out. Can you also refer me to more details on |
Here is j2534 trace from Diogenes |
@jglim you can have a look at rnd-ash/ecu_diagnostics#6. So we had this issue with EZS211 because it's also using ID It might be hard coded into the caeser server but we never figured out which communication parameter in CBF is triggering it. |
Yes, EZS211 also can't connect) |
im suspecting this Id has to be ZGW, wake up command. |
w203_zgw_and_eis_bench_read.txt |
Small update. For 01C dialog understanding. |
@mbw211 I've compared your new traces between Diogenes/Vediamo, and so far I've found some differences:
This debug build will send the session request twice, and force the j2534 config to be set like Vediamo, i.e.
Thanks for taking time to debug this issue here together. Again, if it doesn't work, please upload the traces. @N0cynym Glad to see that this is a known issue and has been worked on before. I'll dig deeper into that linked issue if this gets stuck. @Feezex Appreciate the gateway hint and the traces. After your remark on zgw/eis baud conversion, I then noticed that there is an option for an 83.3k connection for KI211. This might allow for a direct connection without a gateway? |
Openport (china), as far as i know, can't work with LSCAN. Only HSCAN... |
Dunno about china openport, im working with original SM2 Pro never had issues with CAN or K. |
I guess thats the main purpose of couple connection methods that used in single control unit. |
Trace from Diogenes, your last dbg build |
Testing if it is a timing issue, since Diogenes sends all 3 messages, Vediamo sends CGMB takes about 175ms between the first This build sends 5x |
UDS editor not an KW2C3PE. and i was rignt about (07 0F) = AJ_06_1_211 = )) |
It will allow you to read and write after seed key unlocking procedure |
Reject msg is because the Diogenes cmd is not correct. But I want to work with eeprom using UDS Hex Editor. The problem is that Diogenes send wrong msg (23 14 00...) and KI cant recognize it. |
Now time to switch issue to UDS Hex Editor #16 since connection one seems to be solved. "14 00" looks odd here,
where 35 is the 0x23 write comand,
Alfid ?
correct me if I am wrong |
Nice! Glad to see that it is finally connected. So it seems that the gateway needed more time to initialize before bridging between 500k <-> 83.3k. Now to consolidate the changes and figure out how to best include them into the main branch..
With regard to the UDS hex editor, @Feezex is correct that the messages are formatted specifically for UDS. The KI211 parameters are specified in the CBF
To read one byte from The first byte Notice how the address size is fixed (3 bytes) and the size is also fixed (1). For UDS, there is an additional value "alfid" AddressAndLengthFormatIdentifier that allows changes to those sizes. The equivalent alfid here would have been
If this style of memory read/write is consistent across most KW2C3PE devices, I can look into adding a KW2C3PE mode for the memory editor. |
so it would be new tab - kw2c3pe hex editor ? |
Here's a build that adds a checkbox to toggle ALFID, since it might take a while to find proper answers for these questions. @mbw211 thanks for your patience and I hope this settings will work for your use case:
EDIT: Remember to back up your entire EEPROM before attempting any writesAlso consider that in the event of a corrupted write, you might need to use an external tool to write to the eeprom directly if it does not boot. |
I tried the latest build, when I try to read eeprom, on the first lines the program freezes and cannot read it completely. I post video and j2534 trace below. video_2023-01-31_14-50-20_Trim.mp4 |
Notice: Vedi have "Clamp 15 handling" function - but it looks useless there. Possible function for CaesarSuite is Clamp 15,
|
The testerpresent messages are normally suppressed when sending messages in bulk. For KI211, this is a new issue as the primary ECU (KI211) is not the recipient of the testerpresent messages (received by ZGW instead). In this case, I assume that the ZGW has closed the bridge between 500k/83.3k when it did not receive a testerpresent message after a few seconds. This build has the testerpresent-suppression behavior disabled. @Feezex Got it, looking forward to hearing more about your investigation I looked at the CLAMP15 file, however I could not understand how the file is used. The parameters are filled with placeholder From googling, I found a document that describes CLAMP15. This is a class of ECUs that require ignition to be on, normally detected through a separate pin (maybe voltage on a specific pin). If a CLAMP15-type ECU does not detect ignition, the CAN transceiver must be fully bus-off, and will not be able to receive any CAN frames. This might explain the need for the EIS to be present. With regard to the "wake up packet" and table, those messages |
last build didnt made it work. so 00 may cause stuck |
Address Width parameter should be set to 3, the values in the video here are correct: #52 (comment) |
lol i dont have seed unlocked )) |
211_read_ee.zip pay attention |
tested on auto, the same behavior as in the previous build |
eep_read_cgmb.txt |
I still don't have answers yet, but here are some notes:
I've looked at the extra traces from CGMB/Abrites from @Feezex as well, which were interesting:
I am curious to find out if this issue occurs when sending this commands manually by hand. Could anyone try to send the below commands using Diogenes (most recent debug build), through the J2534 console to see if the connection still fails. If it fails, could you also try repeating the commands in Vediamo and post both traces here.
|
the most interesting thing - they dont use seed |
Diogenes trace with manual cmd
hex editor by sergeyklenov (#52 (comment)) use cmd 23 39 00 00 10 |
@mbw211 There seems to be no errors when reading with 8-byte wide requests ( With this new build, can you try this combination:
@Feezex |
Оставь свои контакты |
I select KI211.cbf and try to connect using OpenPort 2.0 (china) via CANHS but get an access error.
Maybe I'm doing something wrong? This cbf work perfectly in Vediamo and I can open access with your UnlockECU calc.
If I'm not mistaken, I get error 7F 10 21.
I really hope for a solution to this problem, I really liked your HEX editor!
The text was updated successfully, but these errors were encountered: