PCM Hammer Release 014

They go by many names, P01, P59, VPW, '0411 etc . Circa 1999 to 2006. All VPW OBD2 PCMs.
Posts: 414
Joined: Thu May 03, 2012 10:50 pm
Location: Castlemaine, Vic

Re: PCM Hammer Release 014

Postby pman92 » Tue Jul 14, 2020 7:03 am

Looking at the 6C and 6D header byte and SAE Documentation:
Both have a priority of 3.
6C is a "Physical Node to Node" message type
6D is a "Reserved - Manufacturer" message type

Not sure if that's any help
VR-VY Holden BCM Simulator: LINK
Ford Smartlock Bypass Module: LINK

Site Admin
User avatar
Posts: 6335
Joined: Sat Feb 28, 2009 8:34 pm

Re: PCM Hammer Release 014

Postby antus » Tue Jul 14, 2020 12:15 pm

Ive reached out to NSFW to see what he thinks is the best option here. The logic is common to a lot of parts of the app, and its not clear the best way to create this exception for this pcm in this one part of the app. I think we may need a global pcmbugs variable, and this becomes the first enum in a list that we can set for the LB7 pcm. But even then it looks like we'll need anonymous arguments so the logic in the core of the app can understand the context and change its behavior for this one situation. But i'd like to hear others thoughts on that and it takes some understanding of C# OO to implement. I think its clear we need to accept this message, in this case, but the question is how to do it while keeping solid error checking in place for the rest of the app?
Have you read the FAQ? For lots of information and links to significant threads see here: viewtopic.php?f=7&t=1396

User avatar
Posts: 726
Joined: Sat Dec 15, 2018 7:38 am

Re: PCM Hammer Release 014

Postby Gampy » Tue Jul 14, 2020 12:56 pm

I just sent a test build to In-Tech with the following change.

Code: Select all
        public Response<bool> ParseUploadResponse(Message message)
        {
-            return this.DoSimpleValidation(message, Priority.Block, Mode.PCMUpload);
+            // The following logic is due to what appears to be a bug in the E54 ECU (LB7 Duramax)
+            // It responds to a Priority 0x6D with a 0x6C, is this a GM Bug??
+            Response<bool> response = this.DoSimpleValidation(message, Priority.Block, Mode.PCMUpload);
+
+            if (response.Status == ResponseStatus.Success || response.Status == ResponseStatus.Refused)
+            {
+                return response;
+            }
+
+            return this.DoSimpleValidation(message, Priority.Physical0, Mode.PCMUpload);
        }
Last edited by Gampy on Tue Jul 14, 2020 2:07 pm, edited 1 time in total.
Temporary is a permanent problem!

Site Admin
User avatar
Posts: 6335
Joined: Sat Feb 28, 2009 8:34 pm

Re: PCM Hammer Release 014

Postby antus » Tue Jul 14, 2020 1:34 pm

That looks good, and if it works it probably just needs a comment to explain that its for the LB7 PCM :thumbup:
Have you read the FAQ? For lots of information and links to significant threads see here: viewtopic.php?f=7&t=1396

User avatar
Posts: 726
Joined: Sat Dec 15, 2018 7:38 am

Re: PCM Hammer Release 014

Postby Gampy » Tue Jul 14, 2020 1:58 pm

antus wrote:That looks good, and if it works it probably just needs a comment to explain that its for the LB7 PCM :thumbup:
Bah, who needs comments, comments are for those that CRS!

Oh, Yea, that's me!

Done! ;)
(Review patch post)
Temporary is a permanent problem!

Posts: 250
Joined: Mon Mar 09, 2020 4:35 pm
Location: California

Re: PCM Hammer Release 014

Postby In-Tech » Tue Jul 14, 2020 2:10 pm

Sent logs to Gampy, it uploads the kernel now and gets appropriate response that it is executing but doesn't identify the kernel. More details in PM unless you guys want this here.

The last one was a bit longer since I didn't get the boot on the first attempt. Also the first one failed immediately but then went through my normal power down/up procedures and it moved forward.

My procedure is to turn on power supply for at least 30 seconds(main battery),
Then switched 12v for at least 30 seconds, then attempt. This one needs the boot ground to get past security.

I know it doesn't need to be that long but I try to keep attempts consistent.

Site Admin
User avatar
Posts: 6335
Joined: Sat Feb 28, 2009 8:34 pm

Re: PCM Hammer Release 014

Postby antus » Tue Jul 14, 2020 2:54 pm

Yeah you can post up here, its for those learning to see what we're up to. If the logs are long put them in a txt and attach it so the thread doesnt get too full of logs when browsing. Actually a new thread for LB7 would be even better.
Have you read the FAQ? For lots of information and links to significant threads see here: viewtopic.php?f=7&t=1396

User avatar
Posts: 726
Joined: Sat Dec 15, 2018 7:38 am

Re: PCM Hammer Release 014

Postby Gampy » Tue Jul 14, 2020 3:05 pm

Either place is fine by me ... I have no secrets.
Or as Antus suggested and create a E54 (LB7 Duramax) thread.

It's either not talking back or not executing ...

Sorry, guess I fudged up, I thought I had included a User Defined Key Dialog mod in that test version ... I'll add it so you can define the key yourself if you know it, if not lets brute force it so we can get past that hurdle easily.

Actually, I'm going to attach one of the logs, more eyes the better ...
PcmHammer_debugLog_20200713@204927.txt
(34.95 KiB) Downloaded 33 times
Temporary is a permanent problem!

Posts: 250
Joined: Mon Mar 09, 2020 4:35 pm
Location: California

Re: PCM Hammer Release 014

Postby In-Tech » Tue Jul 14, 2020 3:41 pm


Posts: 35
Joined: Tue Dec 31, 2019 11:24 am

Re: PCM Hammer Release 014

Postby ColPaul » Wed Jul 29, 2020 8:58 am

I just starting using PCMHammer with ODBX Pro USB. I disconnected the PCM from the wiring harness and used a bench adapter on a Vortec 5.3 (probably an '03 truck engine). I am using a MacBook Pro 13" 2015 Retina running Windows 10.

When I try to download the entire PCM, it works but then fails after "Clearing trouble codes." and doesn't save the file. The log file is attached and the relevant section is pasted below. I reverted to PCMHammer v12 and it works. I'm about to start reflashing the OS to '603 but I would like to get V14 working first.
[04:56:20:144] 0x0FF000 99% 00:00
[04:56:20:144] Read complete.
[04:56:20:160] All read-request messages succeeded on the first try. You have an excellent connection to the PCM.
[04:56:20:175] We're not sure how much retrying is normal for a read operation on a 1024kb PCM.
[04:56:20:191] Please help by sharing your results in the PCM Hammer thread at pcmhacking.net.
[04:56:20:207] Starting verification...
[04:56:20:222] Calculating CRCs from file...
[04:56:20:238] Requesting CRCs from PCM...
[04:56:20:300] Range File CRC PCM CRC Verdict Purpose
[04:56:22:362] 0E0000-0FFFFF A873B6D7 A873B6D7 Same OperatingSystem
[04:56:24:434] 0C0000-0DFFFF 807305D6 807305D6 Same OperatingSystem
[04:56:26:512] 0A0000-0BFFFF 807305D6 807305D6 Same OperatingSystem
[04:56:28:581] 080000-09FFFF CA3CB0F4 CA3CB0F4 Same OperatingSystem
[04:56:30:643] 060000-07FFFF 9A433D6B 9A433D6B Same OperatingSystem
[04:56:32:706] 040000-05FFFF 635F236F 635F236F Same OperatingSystem
[04:56:34:784] 020000-03FFFF 9667FFB0 9667FFB0 Same OperatingSystem
[04:56:36:351] 008000-01FFFF 74C8B461 74C8B461 Same Calibration
[04:56:36:539] 006000-007FFF 3D8662C5 3D8662C5 Same Parameter
[04:56:36:726] 004000-005FFF 85B5BB36 85B5BB36 Same Parameter
[04:56:37:050] 000000-003FFF 6A096F07 6A096F07 Same Boot
[04:56:37:066] The contents of the file match the contents of the PCM.
[04:56:37:082] Clearing trouble codes.
[04:56:38:196] Read failed: System.NullReferenceException: Object reference not set to an instance of an object.
at PcmHacking.OBDXProDevice.<FindResponseFromTool>d__56.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
at PcmHacking.OBDXProDevice.<SetVpwSpeedInternal>d__71.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
at PcmHacking.Device.<SetVpwSpeed>d__37.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
at PcmHacking.Vehicle.<ExitKernel>d__34.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
at PcmHacking.Vehicle.<Cleanup>d__33.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
at PcmHacking.CKernelReader.<ReadContents>d__4.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
at PcmHacking.MainForm.<readFullContents_BackgroundThread>d__36.MoveNext() in C:\GitHub\PcmHacks\Apps\PcmHammer\MainForm.cs:line 839
Attachments
PCMHammer14.log
(13.88 KiB) Downloaded 28 times

PreviousNext

Return to GM LS1 512Kbyte and 1Mbyte

Who is online

Users browsing this forum: No registered users and 3 guests