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
User avatar
CYRAX
Posts: 9
Joined: Tue Dec 13, 2011 4:36 am
cars: 99TJ, 06F250
Location: USA

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

Post by CYRAX »

also wanting to create a "Free" flash tool but for more then just chevy, but 1 manufacture at a time right. so ive been reverse engineering other software out there that can do this and I come across this bit of code that looks like chevy ford and dodge ecm numbers with years from a branch of code currently im looking for the seed / key alg. in the software

had to leave out some code was to long to post..

Mod edit: code removed
User avatar
antus
Site Admin
Posts: 8237
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 »

Hi Cyrax, welcome to the forums!

Its good to hear that you are also interested in createing a flash tool. However, Ive removed the code from your post as its non original work. Sorry about that but hope you understand.
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
beyerch
Posts: 26
Joined: Sat May 22, 2010 8:36 am
cars: all kinds

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

Post by beyerch »

What exactly do you guys need to know about flash programming VPW for GM?

I have made commercial software for this purpose in the past and while I've been out of the scene for 5 or 6 years, I'm pretty sure I can assist with this.

I will be very straight forward though :

#1 - I want to get back into things and re-release a commercial product at some point with the goal of beating the pants off of the current "leading" tools in price and features.

Furthermore as much as I like the idea of open source, it hardly ever works. There is a TON of work to make a decent setup and once people realize the amount of work, they lose interest and since it's open source you have no way to compel people to do their work. Very difficult. A DECENTLY priced commercial offering is a fair way to do this, though.

#2 - IF no one here has an interest in a commercial venture, I would be willing to contribute my help to an open source offering though if it helps me get to where I want to be as well. My biggest gap would be with the interface hardware at this point as I just don't have the time to mess with that part.

#3 - I have a *TON* (seriously) a *TON* of calibration data details for creating maps, scan tool PID data, etc.

#4 - If anyone is interested, My thought for a mutually beneficial arrangement here is to determine who the key players are in this thread and put together a team which will need :

EE Circuit / firmware guy - To work on interfaces. I have sample schematics / firmware for a 4x block write device running a MC 908GP32 as well as AVR and pic code. I also have official protocol documents that define electrical specifications for things we might need to figure out. I could probably figure it out given enough time, but time is my problem. Additionaly would be nice to add features to boards / firmware. (black box logging, etc)

firmware guy - to focus on bootloader development for ECU's. Have sample bootloaders / source for specific ECU's. Need to spend the time to create additional ones to work with other ECU's, etc. In theory real straight forward; however, still need a body to work out the kinks, etc.

Reverse Engineer guy - To analyze ECU files for adding custom features, etc. I have official source code to aid in reverse enginnering process as well as memory maps (RAM / ROM) as well. Someone super familiar with IDA would be a good fit for this.

CAlibration mapping guy - I have most of this data; however, validating it requires manual labor and someone who understands tables and what looks reasonable, etc.

Software for laptop / mobile device - I have thoughts on how I would want to go about this to make a pretty wicked setup. Looks like might have some interested parties in this thread.

Server software - IF you want to make this bad ass, need some server side functionality as well. Want a guy to focus on that....


For something commerical in nature, I expect we can make a product that would retail in the $200 range out the door with the capability to program a couple cars. That would be very cheap on the market and you could make it $25 per additional car. If someone is looking to do more than one or two cars, they are acting commercially and it's only fair that they pay more than a john doe. $25 isn't going to kill anyone.

IF anyone is interested or wants to talk about this further let me know.

P.S. I'm dead serious and if you need some proof, let me know....
User avatar
CYRAX
Posts: 9
Joined: Tue Dec 13, 2011 4:36 am
cars: 99TJ, 06F250
Location: USA

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

Post by CYRAX »

i would be in for a commercial version and i could really help out with server side php mysql ect.. also pretty dam good at C# for the pc side of things
beyerch
Posts: 26
Joined: Sat May 22, 2010 8:36 am
cars: all kinds

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

Post by beyerch »

where are you located cyrax?
User avatar
CYRAX
Posts: 9
Joined: Tue Dec 13, 2011 4:36 am
cars: 99TJ, 06F250
Location: USA

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

Post by CYRAX »

colorado, if you have AIM hit me up sn oO1CYRAX1Oo
User avatar
antus
Site Admin
Posts: 8237
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 »

Well im still planning on making a free to use flash tool to work with the existing XDFs in Tunerpro 5. The catch is the hardware. Someone needs to make a cheap VPW interface that can handle large packet upload. IMHO the rest is not so hard.
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
CYRAX
Posts: 9
Joined: Tue Dec 13, 2011 4:36 am
cars: 99TJ, 06F250
Location: USA

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

Post by CYRAX »

would it be possible to use mutiple chips (ex. a controller, the elm329 for commands, and a flashrom for storage)?
and what about a STN1110 instead of ELM http://www.obdsol.com/downloads/stn1110_vs_elm327.pdf

and from reading the mc68hc58 ic it states that "When operating in block mode, the DLC can transmit or receive message frames containing an unlimited number of data bytes."

so maybe design something based around the MC68HC58 VPW interface chip which supports 4x mode and block mode, just spitballing here since im not "Yet" as familar with the flashing procedure
beyerch
Posts: 26
Joined: Sat May 22, 2010 8:36 am
cars: all kinds

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

Post by beyerch »

antus wrote:The bootloader is already in the pcm. You need to unlock the pcm, upload your code to ram, set the bootloader to execute from ram next cycle, then reset the pcm, then talk to your own code on the pcm, and take it from there.
For GM PCMs, the bootloader is most definitely *NOT* in the code.

You upload the code and then execute the code you just loaded which *IS* the bootloader. This applies for both reading and writing.
beyerch
Posts: 26
Joined: Sat May 22, 2010 8:36 am
cars: all kinds

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

Post by beyerch »

festy wrote:try this, I think it might be what you're after.

function SeedtoKey(string seed) returns string Key
eg:

Code: Select all

Dim X As KeyDLL
Private Sub Command1_Click()
  Set X = New KeyDLL
  Text2.Text = X.SeedtoKey(Text1.Text)
End Sub

But where do you supply the algorithm number?
Locked