PCMHammer 2.0.0 Release

Programs / Tools / Scripts
User avatar
AngelMarc
Posts: 612
Joined: Sat Apr 08, 2023 11:23 am
cars: A CB450 running to 8,000RPM with a P59.

Re: PCMHammer 2.0.0 Release

Post by AngelMarc »

antus wrote: Sun Jun 14, 2026 12:05 pm
98/99 Vortec "Black Box" (5-connector)
So 97 5 connector is just a no? Getting bus errors.
You do not have the required permissions to view the files attached to this post.
Don't stress specific units.
User avatar
AngelMarc
Posts: 612
Joined: Sat Apr 08, 2023 11:23 am
cars: A CB450 running to 8,000RPM with a P59.

Re: PCMHammer 2.0.0 Release

Post by AngelMarc »

My dumbass didn't have power plugged in to wall... but still.
You do not have the required permissions to view the files attached to this post.
Don't stress specific units.
User avatar
AngelMarc
Posts: 612
Joined: Sat Apr 08, 2023 11:23 am
cars: A CB450 running to 8,000RPM with a P59.

Re: PCMHammer 2.0.0 Release

Post by AngelMarc »

And sometimes

[13:28:00.336] Will save to C:\Users\marc\Downloads\PCMHammer_2.0.0_Portable\PCMHammer\PcmHammer\suburban.bin
[13:28:00.349] Using manually selected PCM type: BlackBox
[13:28:00.608] Read failed: System.InvalidOperationException: The BaseStream is only available when the port is open.
at System.IO.Ports.SerialPort.get_BaseStream()
at PcmHacking.StandardPort.<PcmHacking-IPort-Send>d__14.MoveNext() in D:\a\PcmHammer\PcmHammer\Apps\PcmLibraryWindowsApi\Ports\StandardPort.cs:line 274
--- 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 PcmHacking.ElmDeviceImplementation.<SendRequest>d__38.MoveNext() in D:\a\PcmHammer\PcmHammer\Apps\PcmLibrary\Devices\ElmDeviceImplementation.cs:line 158
--- 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 PcmHacking.ScanToolDeviceImplementation.<SendMessage>d__6.MoveNext() in D:\a\PcmHammer\PcmHammer\Apps\PcmLibrary\Devices\ScanToolDeviceImplementation.cs:line 276
--- 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 PcmHacking.ElmDevice.<SendMessage>d__7.MoveNext() in D:\a\PcmHammer\PcmHammer\Apps\PcmLibrary\Devices\ElmDevice.cs:line 189
--- 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 PcmHacking.Vehicle.<SuppressChatter>d__50.MoveNext() in D:\a\PcmHammer\PcmHammer\Apps\PcmLibrary\Vehicle.Kernel.cs:line 28
--- 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.ValidateEnd(Task task)
at PcmHacking.ReadManager.<RunRead>d__16.MoveNext() in D:\a\PcmHammer\PcmHammer\Apps\PcmLibrary\ReadManager.cs:line 204
--- 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 PcmHacking.ReadManager.<Read>d__13.MoveNext() in D:\a\PcmHammer\PcmHammer\Apps\PcmLibrary\ReadManager.cs:line 50
--- 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 PcmHacking.MainForm.<readFullContents_BackgroundThread>d__62.MoveNext() in D:\a\PcmHammer\PcmHammer\Apps\UI\WindowsForms\PcmHammer\MainForm.cs:line 1269
Don't stress specific units.
User avatar
antus
Site Admin
Posts: 10012
Joined: Sat Feb 28, 2009 10:34 am
cars: TX Gemini 2L Twincam 8psi
TX Gemini SR20 18psi
Datsun 1200 Ute
Subaru Blitzen '06 EZ30 4th gen, 3.0R Spec B
Subaru WRX 2007

Re: PCMHammer 2.0.0 Release

Post by antus »

I think that is an obdlink problem. I also think I need to drop that interface from future versions. They are the source of nearly all the problems everyone has. The warning tells people there is a brick risk and they are untested and not recommend. Thats a soft brick, a differet supported interface will be able to fix it.

The problem is the PCM responds too fast the interface misses the response, whereas all others capture it.
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
MPC001
Posts: 174
Joined: Sat May 05, 2018 11:41 am

Re: PCMHammer 2.0.0 Release

Post by MPC001 »

antus wrote: Mon Sep 07, 2026 11:12 pm I think that is an obdlink problem. I also think I need to drop that interface from future versions. They are the source of nearly all the problems everyone has.
:punk:
User avatar
AngelMarc
Posts: 612
Joined: Sat Apr 08, 2023 11:23 am
cars: A CB450 running to 8,000RPM with a P59.

Re: PCMHammer 2.0.0 Release

Post by AngelMarc »

I should have mentioned I'm using my Vlinker FS. Yes, it at least works for P01, while in vehicle. Since the OBDLink is missing/stolen.
My next purchase is Ulink NT, then, if needed, something else for this stuff.
Don't stress specific units.
User avatar
antus
Site Admin
Posts: 10012
Joined: Sat Feb 28, 2009 10:34 am
cars: TX Gemini 2L Twincam 8psi
TX Gemini SR20 18psi
Datsun 1200 Ute
Subaru Blitzen '06 EZ30 4th gen, 3.0R Spec B
Subaru WRX 2007

Re: PCMHammer 2.0.0 Release

Post by antus »

OK the screenshot shows its a scantool chip. So I get that it is a vlinker, but FYI that appears to be a brand of scantool and it's using the same chip and driver, so for the purposes of what I am saying, it's a known problematic chip.
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
fl0wl0w
Posts: 32
Joined: Thu Jun 21, 2018 4:44 pm
cars: L83/8L90 swapped 2013 W204 Mercedes, 1986 LS3 Swapped BMW E30, 1995 LS swapped GMC Truck, Custom Vehicle

Re: PCMHammer 2.0.0 Release

Post by fl0wl0w »

You are welcome to use my Kernels in PCMHammer. They probably don't match PCMHammer kernels protocol, but they do offer sha256 for each block so you only have to update changed blocks. They also have LZ4 compression which is a notable performance bump for both read and write. Let me know if you want any features added or how they can better be adapted to work with PCMHammer.

https://github.com/FL0WL0W/KernelMPC567 ... Version1.0
https://github.com/FL0WL0W/KernelMPC556 ... rsion1.0.1
User avatar
antus
Site Admin
Posts: 10012
Joined: Sat Feb 28, 2009 10:34 am
cars: TX Gemini 2L Twincam 8psi
TX Gemini SR20 18psi
Datsun 1200 Ute
Subaru Blitzen '06 EZ30 4th gen, 3.0R Spec B
Subaru WRX 2007

Re: PCMHammer 2.0.0 Release

Post by antus »

Cool, thanks for the offer, I'll keep that in mind. We already do have E92 support and there is a private build that is also using that code base to read E78. But at this stage I have left can bus PCMs closed source to slow down any cloners since this functionality is not in a released build yet. I'll probably release as open source later down the line. If we do use anything from yours i'll open them up to maintain GPL licensing and proper accreditation. This one uses CRC32 for segment checksums, same as other pcmhammer kernels to date, and flash chip identification, kernel version number, and read. I havn't made a decision if to support write yet. It is supported through factory bootloader with library eg factory spec, so may not be worth duplicating the effort. The can PCMs have put a bunch of new things on the table so I have been spending the time to get the mechanics behind two possible write methods with different capability on top of features unique to PCM Hammer right now for usability and extendabiilty going forward. https://github.com/PcmHammer/PcmHammer/ ... AN-Asm-E92
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
fl0wl0w
Posts: 32
Joined: Thu Jun 21, 2018 4:44 pm
cars: L83/8L90 swapped 2013 W204 Mercedes, 1986 LS3 Swapped BMW E30, 1995 LS swapped GMC Truck, Custom Vehicle

Re: PCMHammer 2.0.0 Release

Post by fl0wl0w »

My approach to writing is to have the flash layout stored in the Kernel and make the protocol identical for any supported ECU. So a command gets sent to request the flash layout which returns a list of block ids, their addresses, and a sha256 to use to check against the file to be written so only the needed blocks have to be erased and written.

It would be good if you could put together a document that details the custom commands supported by the Kernel. Even if it is just AI generated, it would be useful if you were the one to generate it so you can spot any AI BS. Then it would be easier for me to add the needed commands to make it compatible with PCMHammer