And by "includes support for" I mean "we need more volunteers to test it."
And by "volunteers" I mean "guinea pigs."
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!
I was wondering why when I read the entire PCM it says the operating system is from 040000 to 0FFFFF in four segments, but when I verify the file checksums it says that it is from 08002 to FFFFF. This overlaps other areas of the file that are listed.
Also as can be seen below the file is corrupted. Apparently one bit flipped. I have done two downloads with the same result. This makes sense as the PCM would reset under certain conditions. I would like to know exactly where the incorrect bit is but have not been able to find a good bin for reference. I considered reprogramming with SPS and reading it again, but there was an update so I don't know how to get the same file that way. If someone could share a bin for 12597778 I would greatly appreciate it.
OS ID: 12597778
[09:36:59:804] Hardware Type: P12
[09:36:59:864] Calibration ID: 12597777
[09:37:00:054] Serial Number: 5034KG04U
[09:37:00:104] Broad Cast Code: YLCB
[09:37:00:154] MEC: 0
[09:37:27:714] Querying operating system of current PCM.
[09:37:27:761] OSID: 12597778
[09:37:27:978] PCM Unlock not required
[09:37:27:988] Unlock succeeded.
[09:37:28:048] This interface does not support VPW 4x
[09:37:29:298] Kernel upload 11% complete.
[09:37:30:412] Kernel upload 23% complete.
[09:37:31:610] Kernel upload 36% complete.
[09:37:32:762] Kernel upload 49% complete.
[09:37:33:956] Kernel upload 61% complete.
[09:37:35:112] Kernel upload 74% complete.
[09:37:36:303] Kernel upload 87% complete.
[09:37:37:455] Kernel upload 100% complete.
[09:37:38:726] Kernel Version: 0103050C
[09:37:38:746] kernel uploaded to PCM succesfully. Requesting data...
[09:37:38:862] Flash chip: AMD AM29BL802C, 1mb
[09:57:21:256] Read complete.
[09:57:21:266] All read-request messages succeeded on the first try. You have an excellent connection to the PCM.
[09:57:21:266] We're not sure how much retrying is normal for a read operation on a 1024kb PCM.
[09:57:21:276] Please help by sharing your results in the PCM Hammer thread at pcmhacking.net.
[09:57:21:276] Starting verification...
[09:57:21:299] Calculating CRCs from file.
[09:57:21:311] Initializing CRC algorithm on PCM, this will take a minute...
[09:57:21:433] Requesting CRCs from PCM.
[09:57:21:473] Range File CRC PCM CRC Verdict Purpose
[09:57:28:080] 0C0000-0FFFFF 4D0D6C07 4D0D6C07 Same OperatingSystem
[09:57:34:698] 080000-0BFFFF 4F05C834 4F05C834 Same OperatingSystem
[09:57:38:134] 060000-07FFFF 2F4D85D2 2F4D85D2 Same OperatingSystem
[09:57:41:558] 040000-05FFFF E439462E E439462E Same OperatingSystem
[09:57:44:980] 020000-03FFFF DEE10700 DEE10700 Same Calibration
[09:57:47:619] 008000-01FFFF 92BC974F 92BC974F Same Calibration
[09:57:48:067] 006000-007FFF 0FEF7761 0FEF7761 Same Parameter
[09:57:48:515] 004000-005FFF 85B5BB36 85B5BB36 Same Parameter
[09:57:49:168] 000000-003FFF 7EBCD52C 7EBCD52C Same Boot
[09:57:49:266] The contents of the file match the contents of the PCM.
They are different checksums. The ones from the pcm are our own implementation of crc-16 used to optimise the flash process, and they are calculated by the flash kernel at runtime. They represent the data on the pcm at runtime, not from the GM factory. The segments fit the definition of how the ranges on the flash chip are defined by intel and amd (not gm).
The ones from the validation are checksum-16 as implemented in the data by gm. The ranges and the required sum are in the bin from the factory, so although it's a weaker algorithm than crc-16 it can still be used to check if a file is probably not corrupted from how the factory intended.
If a pcm is corrupted its possible to get a successful read that is validated by pcm hammer as matching the pcm but then but which fails validation on your pc. This would indicate the pcm is working enough to accurately read, but the pcm has some kind of data errors on it and probably requires a re-flash.