Ok, to truly understand how this works, you need to understand 7-layers of OSI model. You are getting "OBD2" transport-layer mixed up with "application". OBD2 just provides buckets to carry data across from ECU to application on top. What you put in that bucket makes HUGE difference. Just because 2 sides agree on using 2-liter wooden-buckets to transport information doesn't mean they will understand each other. An application must speak exact same language as devices on other side Torque speaks different language than HondaFlasher, even though they are both applications at top layer on top of OBD2 transport on top of ISO-9141-2 datalink.
The OSI model describes seven layers that computer systems use to communicate over a network. Learn about it and how it compares to TCP/IP model.
www.imperva.com
A Complete Guide to Open Systems Interconnection model (OSI model). 7 layers of the OSI Model are explained with functionalities and roles of each layer.
www.softwaretestinghelp.com
Think of layer-1 wires up to OBD2 transport layer-4 as "newspaper paper". It can be yellow, blue, pink, etc. So Honda has standardised on papyrus paper (layer-1) as it's transport mechanism with
blue dye (layer-4 ISO-9141-2/OBD2). IF you
ALSO use blue papyrus paper, you too can communicate with Honda ECU.
However, if you pass blank blue pieces of paper through port-hole to ECU, it won't know what you're saying and it'll pass nonsense blank blue pieces of paper back. You need to add additional layers of
information on top using common language. Some kind of writing or print on that blank blue paper. "Language" used at application-layer on top is what you're missing right now. Torque is writing Polish onto same pieces of blue papyrus paper being passed to ECU. But ECU only understands Japanese language written on same blue pieces of paper. That's language HondaFlasher.exe sends to ECU,
no other application speaks that language!
View attachment 45485