PowerPCM_Flasher: my tool for E38 and E67

Programs / Tools / Scripts
daniel2345
Posts: 51
Joined: Wed Feb 19, 2020 9:58 pm

Re: PowerPCM_Flasher: my tool for E38 and E67

Post by daniel2345 »

I wasted another three hours on the ELM.

All it does is saying "? >" all day.
Sucks. Stupid ic. Should be burned forever :D

Ill skip that for now and check the J2534.dll thing next.
kur4o
Posts: 948
Joined: Sun Apr 10, 2016 9:20 pm

Re: PowerPCM_Flasher: my tool for E38 and E67

Post by kur4o »

Don`t waste your time with pure elm device, unless you have some of the obdlink devices with the later stnXXX chip. Even that can have troubles with the CAN speed and can drop frames with the buffer full message.

Your best bet is to get a gm mdi unit for reverse engineering, given the cost of obdlink. Even though a working obdlink for flashing will be really cool as it now supports all preCan ls1 stuff.
daniel2345
Posts: 51
Joined: Wed Feb 19, 2020 9:58 pm

Re: PowerPCM_Flasher: my tool for E38 and E67

Post by daniel2345 »

Ok, so far i integrated both seed&key algos.
I think there will be more around, but testing will show...

Then i had a quick view how PCMHammer does the loading of PassThru Devices.
It searches the Registry for registered J2534 Devices and their native DLL locations, passes both to Tazzis Wrapper DLL which loades the DLL and provides the standardized PassThru API calls of the native DLL to PCMHammer.

Since Tazzis DLL does not work with the Volvo Dice DLL i decided to do the same.
Registry searching is done, tomorrow test with Volvo Dice DLL via Registry.

Best case is, that all your J2534 PassThru devices correctly registered in Windows can be used if their DLLs obey the standard.
PowerPCM_Flasher_Progress_0.0.0.3.JPG
PowerPCM_Flasher_Progress_0.0.0.3.JPG (32.31 KiB) Viewed 13316 times
Last edited by daniel2345 on Sun Feb 23, 2020 5:15 pm, edited 1 time in total.
User avatar
antus
Site Admin
Posts: 8238
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: PowerPCM_Flasher: my tool for E38 and E67

Post by antus »

Here is hopeing. And watching this space. I have an E38 and J2534 interfaces on my desk in front of me to test. I dont understand what level of J2534 compatability the DiCE has, but hopefully its full and its real and the code you are writing is the missing link.
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: 3422
Joined: Thu May 17, 2012 8:53 pm
cars: VE SS Ute
Location: WA
Contact:

Re: PowerPCM_Flasher: my tool for E38 and E67

Post by Tazzi »

Hmmm.. guess it all depends how the dice tools work. I would have thought if they display in the j2534 registry, they should be following J2534 protocol.
Your Local Aussie Reverse Engineer
Contact for Software/Hardware development and Reverse Engineering
Site:https://www.envyouscustoms.com
Mob:+61406 140 726
Image
daniel2345
Posts: 51
Joined: Wed Feb 19, 2020 9:58 pm

Re: PowerPCM_Flasher: my tool for E38 and E67

Post by daniel2345 »

The Dice Tools behavior regarding J2534 is strange.

If you just follow the Passthru API, it won't connect. It needs special treatment of the passed arguments.
Always wanted to patch the DLL, but never had the time.

Then there are flaws in all the Parameters - to get it working as it should you always have to set "vendor specific" bits or enums. And there are extra non standard functions in the DLL which are needed depending what you want to do. Volvo diagnostic environment (Vida) knows all this and does accordingly.

If you try to connect with J1850 without the "vendor specific" bits set, it refuses connection.


So if i just implement it straight forward, my Dice won't work as test device.

But since Antus and others have a (hopefully) standard J2534 device ready, we can test it that way :)
ironduke
Posts: 579
Joined: Thu Feb 13, 2020 11:32 pm
cars: Mainly GM trucks, a Cruze and an Equinox for dailys..

Re: PowerPCM_Flasher: my tool for E38 and E67

Post by ironduke »

Wish I could help out more, I too am sitting here with an E38 on the bench and a gm MDI handy..

Kind of odd how the Dice is J2534 compatible, up to a point..
daniel2345
Posts: 51
Joined: Wed Feb 19, 2020 9:58 pm

Re: PowerPCM_Flasher: my tool for E38 and E67

Post by daniel2345 »

So after some long long nights i updated to 0.0.0.3

Major change is integration of PassThru DLLs from tool supplier with standard PassThru API.
It looks up the registry for the DLL path. For GM MDI it is: BVTX4J32.dll

You are very welcome to test. Im not surprised if it is not working on non Volvo Dice Units with the first shot :)
I set the path to the suppliers PassThru DLL in the second textbox.
You can edit that by hand if something went wrong.

Some DLLs will need correct tool name in first textbox, you can also edit that.
Some DLLs expect a Number there or an empty string - we need to test that for your devices :)




I had the issues i mentioned before. The Dice in standard PassThru API will ignore Frames with DLC < 8. So i decided to build in a small "hack".
If you check the "DLC != 8 ignore" checkbox, it will ignore the not recognized answer with DLC < 8:

3.7121 1 7E8 Rx d 8 03 7F 34 78 AA AA AA AA
3.7386 1 7E8 Rx d 2 01 74

Downside is, tool is not getting communication loss at these point.
I identified three Frames: Answer to 0x34 (Request Download), Answer to 0x36 (Data Transfer) and intermediate Frame answer after long header message.

When my flashloader programm is answering after connection has been established, and not the ecu anymore, the "hack" is disabled since my flashloader "behaves" correct.

So if you have initial connection, everything should be fine.


Currently i have fame formating and fow control done in software by my tool. Therefore i need standard CAN Frames to be send and received by the Passthru device. Maybe its correct then to drop Frames with DLC < 8.

Ill implement a second connection process with frame formationg and flow control by tool.
Maybe Dice is more happy with short frames then...
Last edited by daniel2345 on Thu Feb 27, 2020 7:18 pm, edited 2 times in total.
ironduke
Posts: 579
Joined: Thu Feb 13, 2020 11:32 pm
cars: Mainly GM trucks, a Cruze and an Equinox for dailys..

Re: PowerPCM_Flasher: my tool for E38 and E67

Post by ironduke »

Thanks for all the work your putting into this!!!! So hopeful between you and Tazzi something will be up and running soon!!!

I couldn't get V1 or V2 to run, but V3 is running, and I didn't change anything?? I still have the side by side configuration error with V2 and an unhandled Exemption with V1.. but V3 runs!!!! must be something on my end.. I'm trying 2 different computers..

I cannot connect to the MDI though, this is a full J2534 device. I can use GM sps,ScanXL,forscan,Toyota Techstream,etc with it..

When I use this with any other program and I try to connect, the MDI connection dialog normally pops up and I select my MDI, this is not happening? I also tried typing in my serial # of my device into either and both of the fill in boxes to the right of the tool selection.. Doesn't matter what I type I get the "initializing Tool J2534 Pass thru... Not ok!"

Are there any log files? Any way to turn on logging?? Anything I can do to help on my end?? Are you located in the USA? or across the pond as they say? lol..
daniel2345
Posts: 51
Joined: Wed Feb 19, 2020 9:58 pm

Re: PowerPCM_Flasher: my tool for E38 and E67

Post by daniel2345 »

Im in Germany, Europe.

Usually :)


Yes, what Tazzi does is already done for my tool.
Did not saw he made good progress before i started before a few weeks.

Thank you for fast testing.

I changed some library linking options.
Maybe thatswhy it is working now.
When it works for you, we leave it this way :)

Ill add logging for next release, lots of strings has to be passed and converted.

Maybe in a few hours.


Can you send me the DLL via PM or better the folder with the dll which is identified in the second box?
I will check what might could make it unhappy.

As i said, the init call is the most difficult thing to get running....
Post Reply