Mode 36 is definitely implemented. That's how the utility file transfers the kernel and calibration data. 0x22 just means conditions not correct or sequence error.
I don't have the exact details worked out for the E92 yet, but I believe the ECM reboots into the boot block when it gets a mode 34 message. The real mode 36 handler runs out of the boot block.
Playing with Mode 23 I am not able to request more than 2 bytes in one message (due to the limit of the CAN message size).
I see in the can info that a Flow Control frame is sent to continue receiving the remaining messages with the data requested. I have tried to do that, but I am not getting any more responses after sending the flow control message.
Here is a snippet from the log (Universal Patcher Logger)
Yeah I think mode 23 is two bytes. When I implemented Cal read with Mode 23 on the P01 it was 2 bytes. Thats was older and VPW, but its all the same OBD2 when your at the protocol level.
bubba2533 wrote:Playing with Mode 23 I am not able to request more than 2 bytes in one message (due to the limit of the CAN message size).
I see in the can info that a Flow Control frame is sent to continue receiving the remaining messages with the data requested. I have tried to do that, but I am not getting any more responses after sending the flow control message.
Here is a snippet from the log (Universal Patcher Logger)
I've colored the lines that UP colors red so that just in case that matters. I'm using a script to run these commands and I've attached that below.
Mode_23_Test.txt
If anyone has any idea what I am doing wrong please let me know, because I'm sure It's something I am doing.
Its odd your needing to send the request more then once.
Do you have a terminating resistor on your bench setup?
Your Local Aussie Reverse Engineer
Contact for Software/Hardware development and Reverse Engineering
Site:https://www.envyouscustoms.com
Mob:+61406 140 726
Here's a log of mine using an OBDLink MX. It can be set to send the flow control automatically. I think the extra 0s in the FC frame are just padding. Dunno if they're strictly necessary. Couldn't hurt to try adding them. I don't know how to translate this into a UP script.
Tazzi wrote:
Its odd your needing to send the request more then once.
Do you have a terminating resistor on your bench setup?
I'm not as far as I'm aware. I think It's just how Universal Patcher shows it.
UP_Capture.PNG
Gatecrasher wrote:Here's a log of mine using an OBDLink MX. It can be set to send the flow control automatically. I think the extra 0s in the FC frame are just padding. Dunno if they're strictly necessary. Couldn't hurt to try adding them. I don't know how to translate this into a UP script.
That's nice it sends it automatically. It looks like your software is sending it much faster, so that might be it. I think there is a 100ms timeout for the FC message after the ECU responds to the original request. So in yours it shows only 2 ms between those times where mine is 109 or 125 depending on what message is the correct one to calculate with.
You do not have the required permissions to view the files attached to this post.
LS1 Boost OS Version 5 Available Here. For feature suggestions post in here Development Thread.
OHHHHH Now I understand.
Red is what you write.
Green is what is happening on the bus?
Ok, so.. I believe you need to send your flow control frame (7E0 30 00 00) faster. The SAE standard indicates its suppose to be within 50milliseconds.
Your Local Aussie Reverse Engineer
Contact for Software/Hardware development and Reverse Engineering
Site:https://www.envyouscustoms.com
Mob:+61406 140 726
Yeah, I think that's as fast as UP is able to send it. I'm not adding any delays or anything between messages, so I'm not sure what else I can do without starting to write my own application.
LS1 Boost OS Version 5 Available Here. For feature suggestions post in here Development Thread.