Open source GM OBD2 flash tool using a ELM327 device

They go by many names, P01, P59, VPW, '0411 etc. Also covering E38 and newer here.
Locked
160plus
Posts: 90
Joined: Thu Sep 21, 2017 3:00 pm

Re: Open source GM OBD2 flash tool using a ELM327 device

Post by 160plus »

160plus wrote:
antus wrote:
Do we have a choice? Do you have a different way to write and output m68k code the pcm can run? PC side code is different, there are many options there.
If this...............
FÃË‹Átí #ª6˜²"wÇ9Ê´ÀÄ:0t’[¯E [?ãNÈ1~ÝëÝpiM âPi°áàr1/C4^ÑãšÄC‰,º¯_¬¼R&œ+•HùÂdß\â­CB•›w°P¯ƒñV‡êä°Á¶î™¢ñ*ƒh"|xš0øÒúŒgVÎ5õ—iá´y®$4õ•šóV"e®Ë¤9ÑB™ÿAëðï)jÝíßT(Æy’>vwãªé¤¶Ø«ívƒ(¤SL¾þ‚qWè¸UîDXÂûË¿Qì‰w‚ä4Sñ^ ‰ÿ0ŒFº"мß\ûgsldŽYÒdL¼uHûÃÿ¢íÝ‚¨ªc9>(hVDÛˆ5Ž´{Îîªí–AÖâÍ7Ûtø
Looked like this................
6D 10 F0 36 00 02 00 FF 88 00 32 80 61 00 02 A8 34 11 B4 40 67 0A 57 CC FF F4 34 11 B4 40 66 12
D2 FC 00 02 55 43 66 94 08 87 00 06 08 87 00 07 60 0A 08 C7 00 06 60 04 08 C7 00 07 32 BC F0 F0
32 BC F0 F0 4A 07 66 00 00 BE 4E 75 3A 38 E2 FA 08 C5 00 00 31 C5 E2 FA 3A 3C F9 00 61 00 02 70
3A 38 E1 12 08 05 00 08 66 32 08 C7 00 03 08 87 00 04 60 30 3A 38 E2 FA 08 85 00 00 31 C5 E2 FA
3A 3C F2 00 61 00 02 48 3A 38 E1 12 08 05 00 08 67 0A 08 C7 00 04 08 87 00 03 60 08 08 87 00 03
81 D0 10 19 61 16 04 01 00 01 94 DB 76
6D F0 10 76 00 73 42
6C FE F0 3F C7
8C FE F0 3F 2C
Then why couldn't the pcm read it?

And just to clear this up yes, now we do have a choice. NSFW's Hex2Bin and Bin2Hex where the missing links making this type of conversion possible.
User avatar
Tazzi
Posts: 3425
Joined: Thu May 17, 2012 8:53 pm
cars: VE SS Ute
Location: WA
Contact:

Re: Open source GM OBD2 flash tool using a ELM327 device

Post by Tazzi »

160plus wrote:And just to clear this up yes, now we do have a choice. NSFW's Hex2Bin and Bin2Hex where the missing links making this type of conversion possible.
Im a little confused by you needed an intel hex to bin converter?

If monitoring a bus, just output as hexadecimal onto the screen (6D 10 36 ect ect)

If reading directly from memory or BDM connection, should be able to export as bin file from software.

If compiling custom m68k code, then the compiler should generate or be able to make a raw .bin file as well. All of my compilers for micros produce both .hex,.bin and a variety of others :thumbup:
Your Local Aussie Reverse Engineer
Contact for Software/Hardware development and Reverse Engineering
Site:https://www.envyouscustoms.com
Mob:+61406 140 726
Image
160plus
Posts: 90
Joined: Thu Sep 21, 2017 3:00 pm

Re: Open source GM OBD2 flash tool using a ELM327 device

Post by 160plus »

Tazzi wrote: Im a little confused by you needed an intel hex to bin converter?

If monitoring a bus, just output as hexadecimal onto the screen (6D 10 36 ect ect)
I take this

Code: Select all

00 FF CE 00 00 00 04 40 00 00 05 5C 00 00 05 5C 
00 00 05 5C 00 00 06 C2 00 00 00 00 00 00 00 00 
00 00 05 5C 00 00 05 5C 00 00 05 5C 00 00 05 5C 
00 00 05 5C 00 00 05 5C 00 00 05 5C 00 00 05 5C 
00 00 05 5C 00 00 05 5C 00 00 05 5C 00 00 05 5C 
00 00 05 5C 00 00 05 5C 00 00 05 5C 00 00 05 5C 
00 00 05 5C 00 00 05 5C 00 00 05 5C 00 00 05 C4 
00 00 05 5C 00 00 05 5C 00 00 05 5C 00 00 05 5C 
00 00 05 5C 00 00 05 5C 00 00 05 5C 00 00 05 5C 
00 00 05 5C 00 00 05 5C 00 00 05 5C 00 00 05 96 
and turn it into the bin file.

When I was working on the Android app this was one of the biggest issues I was running into. Sure the file size is a bit larger in Hex..... the file is 3202 KB and when it's changed into bin format the file is 1024 KB. But now I can take my "Data log" that's printed in HEX and pull a complete BIN file out of it :thumbup:
User avatar
NSFW
Posts: 679
Joined: Fri Feb 02, 2018 3:13 pm

Re: Open source GM OBD2 flash tool using a ELM327 device

Post by NSFW »

Thaniel wrote:Great thread guys. I agree the elm isn't ideal for a lot of this type of thing. I used so a bit then gave up on it a few years back when I needed a VPW transceiver. Ended up making our own (my son and I) out of a arduino mini. Similar to the designs shown earlier in this thread. I think it could do 4x mode. I'll have to try it.
Would you be willing to share what you have so far?

In order to create a new kernel (aka "bootloader"), I'll need a way to relay VPW messages between my PC and a PCM on my workbench. Basically I want to write a tool for Windows that will send my kernel to the PCM with one button click, send some custom VPW messages with other buttons, and print raw VPW messages when the PCM sends them. It won't be useful for anyone who isn't also working on the kernel code, but it will make kernel development possible. (And I won't need 4x mode any time soon, just standard VPW will be just fine.)

I've been talking with 160plus about various VPW interfaces, but installing device drivers from random Chinese sources kinda frightens me, and the AVT interfaces are $$$. If I can use your Arduino-based interface instead, that would be awesome.

Thanks!
Please don't PM me with technical questions - start a thread instead, and send me a link to it. That way I can answer in public, and help other people who have the same question. Thanks!
User avatar
antus
Site Admin
Posts: 8250
Joined: Sat Feb 28, 2009 8:34 pm
cars: TX Gemini 2L Twincam
TX Gemini SR20 18psi
Datsun 1200 Ute
Subaru Blitzen '06 EZ30 4th gen, 3.0R Spec B
Contact:

Re: Open source GM OBD2 flash tool using a ELM327 device

Post by antus »

Use an allpro adapter from obddiag.net. I can get it doing 180 byte packets and 4x now with firmware mods. You need ttl serial in to it to reflash it. Will work with you on this project. I have working write on the avt now but im not happy with the code and am time poor. This packet size is a bit small but its enough and can be improved further.
Have you read the FAQ? For lots of information and links to significant threads see here: http://pcmhacking.net/forums/viewtopic.php?f=7&t=1396
User avatar
Tazzi
Posts: 3425
Joined: Thu May 17, 2012 8:53 pm
cars: VE SS Ute
Location: WA
Contact:

Re: Open source GM OBD2 flash tool using a ELM327 device

Post by Tazzi »

NSFW wrote:Would you be willing to share what you have so far?

In order to create a new kernel (aka "bootloader"), I'll need a way to relay VPW messages between my PC and a PCM on my workbench. Basically I want to write a tool for Windows that will send my kernel to the PCM with one button click, send some custom VPW messages with other buttons, and print raw VPW messages when the PCM sends them. It won't be useful for anyone who isn't also working on the kernel code, but it will make kernel development possible. (And I won't need 4x mode any time soon, just standard VPW will be just fine.)

I've been talking with 160plus about various VPW interfaces, but installing device drivers from random Chinese sources kinda frightens me, and the AVT interfaces are $$$. If I can use your Arduino-based interface instead, that would be awesome.

Thanks!
Iv picked up one of those GM vxdiag tools, and seems to happily do 4x without any problems. Havent bothered trying with 4x as I dont use it for my stuff.

Custom hardware.. running custom firmware.. to then interface with custom PC software.. its quite the task! Iv moved to using and supporting J2534 devices now instead so that the only main thing to work on is the software integration :thumbup:

Seems the elcheapo toyota J2534 clones are the problem cables, with suspicous installers, and seem to get hung up randomly when reading/writing.
Your Local Aussie Reverse Engineer
Contact for Software/Hardware development and Reverse Engineering
Site:https://www.envyouscustoms.com
Mob:+61406 140 726
Image
User avatar
antus
Site Admin
Posts: 8250
Joined: Sat Feb 28, 2009 8:34 pm
cars: TX Gemini 2L Twincam
TX Gemini SR20 18psi
Datsun 1200 Ute
Subaru Blitzen '06 EZ30 4th gen, 3.0R Spec B
Contact:

Re: Open source GM OBD2 flash tool using a ELM327 device

Post by antus »

I'd say one of the problems. Ive seen 'cracked' VCX-NANO clones which dont work and cant receive firmware updates inside clones of completely different hardware too. Really obviously a fake and bin-worthy, but until its in your hands you cant see you were ripped off :(
Have you read the FAQ? For lots of information and links to significant threads see here: http://pcmhacking.net/forums/viewtopic.php?f=7&t=1396
User avatar
antus
Site Admin
Posts: 8250
Joined: Sat Feb 28, 2009 8:34 pm
cars: TX Gemini 2L Twincam
TX Gemini SR20 18psi
Datsun 1200 Ute
Subaru Blitzen '06 EZ30 4th gen, 3.0R Spec B
Contact:

Re: Open source GM OBD2 flash tool using a ELM327 device

Post by antus »

I got my money back, and the seller stopped touching these, but it happens.
07-mdi clone guts - inner.jpg
Have you read the FAQ? For lots of information and links to significant threads see here: http://pcmhacking.net/forums/viewtopic.php?f=7&t=1396
User avatar
Tazzi
Posts: 3425
Joined: Thu May 17, 2012 8:53 pm
cars: VE SS Ute
Location: WA
Contact:

Re: Open source GM OBD2 flash tool using a ELM327 device

Post by Tazzi »

Oh wow! Thats a joke!

I bought directly from the manufacturer, so maybe thats the difference.
Your Local Aussie Reverse Engineer
Contact for Software/Hardware development and Reverse Engineering
Site:https://www.envyouscustoms.com
Mob:+61406 140 726
Image
User avatar
NSFW
Posts: 679
Joined: Fri Feb 02, 2018 3:13 pm

Re: Open source GM OBD2 flash tool using a ELM327 device

Post by NSFW »

antus wrote:Use an allpro adapter from obddiag.net. I can get it doing 180 byte packets and 4x now with firmware mods. You need ttl serial in to it to reflash it. Will work with you on this project. I have working write on the avt now but im not happy with the code and am time poor. This packet size is a bit small but its enough and can be improved further.
Thanks for the offer, I'd love to have help with this. I'll send you a PM.

Is the TTL serial interface exposed on the USB version of the AllPro adapter? I'd like to think that's what the row of holes at the back-left of this picture are for...

http://www.obddiag.net/images/allpro/AllProUSB_top.png

Also, does the 180-byte packet limit still apply in 4x mode?
Please don't PM me with technical questions - start a thread instead, and send me a link to it. That way I can answer in public, and help other people who have the same question. Thanks!
Locked