Is my vats turned off in universal patcher?

DWS
Posts: 129
Joined: Tue Oct 12, 2021 10:04 am
cars: Tons of Toyotas, 2003 cavi derby car, ford trucks, etc.
Location: USA
Contact:

Re: Is my vats turned off in universal patcher?

Post by DWS »

antus wrote:What you describe sounds like universal patcher (screen shot a couple of post above). Maybe you should get on board with that, and look to extend it. In particular we seem to have P08 reading working now, but we know very little about the bin files that are coming out. Universal Patcher cant even check the P08 OS checksum, or locate any of the initial tables we can on other PCMs. https://universalpatcher.net/about/ https://github.com/joukoy/UniversalPatcher

Its very good at P04 though, run it on some P04 files and look at the debug tab and you can see what its doing.
I can use Ghidra since it's java based (aka cross platform), but sadly universal patcher seems to be c# based, the runtime won't install in my win7 vm. I'm a Linux user now full time, so exe's don't exactly get along with me the best now lol. I'm sure with enough time messing with Wine it could be made to work but I haven't had quite that much time to poke at things. I'm not 100% sure how UP detects the different tables and such, but I'd assume it uses some sort of signature system. My idea would be similar, but maybe the whole function minus exact address locations so it works across different builds, maybe it already does what I'm thinking though, not sure lol.





@dethrattles

Java normally installs pretty cleanly. This install guide says you need java 11 runtime as well as the JDK.

https://ghidra-sre.org/InstallationGuid ... quirements

Here's what my system has on it to compare. Pretty sure 11 or newer should be fine, looks like you're trying to install an old version.
java -version
java version "17.0.6" 2023-01-17 LTS
Java(TM) SE Runtime Environment (build 17.0.6+9-LTS-190)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.6+9-LTS-190, mixed mode, sharing)
You should be able to install java 17 jdk from here

https://www.oracle.com/java/technologie ... loads.html

Java runtime should work form this page:

https://www.java.com/en/download/

According to the instructions you'll need both, but the jdk might also install a runtime too.
Ford EEC-V Bin Converter (bank swapping and padding): viewtopic.php?f=41&t=8342
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: Is my vats turned off in universal patcher?

Post by antus »

@dws mostly with metadata here: https://github.com/joukoy/UniversalPatc ... master/XML and also the tiny tuner DB for P04.
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
DethRattles
Posts: 174
Joined: Wed Apr 05, 2023 11:38 am
cars: 2004 Grand am gt

Re: Is my vats turned off in universal patcher?

Post by DethRattles »

DWS wrote:
antus wrote:What you describe sounds like universal patcher (screen shot a couple of post above). Maybe you should get on board with that, and look to extend it. In particular we seem to have P08 reading working now, but we know very little about the bin files that are coming out. Universal Patcher cant even check the P08 OS checksum, or locate any of the initial tables we can on other PCMs. https://universalpatcher.net/about/ https://github.com/joukoy/UniversalPatcher

Its very good at P04 though, run it on some P04 files and look at the debug tab and you can see what its doing.
I can use Ghidra since it's java based (aka cross platform), but sadly universal patcher seems to be c# based, the runtime won't install in my win7 vm. I'm a Linux user now full time, so exe's don't exactly get along with me the best now lol. I'm sure with enough time messing with Wine it could be made to work but I haven't had quite that much time to poke at things. I'm not 100% sure how UP detects the different tables and such, but I'd assume it uses some sort of signature system. My idea would be similar, but maybe the whole function minus exact address locations so it works across different builds, maybe it already does what I'm thinking though, not sure lol.





@dethrattles

Java normally installs pretty cleanly. This install guide says you need java 11 runtime as well as the JDK.

https://ghidra-sre.org/InstallationGuid ... quirements

Here's what my system has on it to compare. Pretty sure 11 or newer should be fine, looks like you're trying to install an old version.
java -version
java version "17.0.6" 2023-01-17 LTS
Java(TM) SE Runtime Environment (build 17.0.6+9-LTS-190)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.6+9-LTS-190, mixed mode, sharing)
You should be able to install java 17 jdk from here

https://www.oracle.com/java/technologie ... loads.html

Java runtime should work form this page:

https://www.java.com/en/download/

According to the instructions you'll need both, but the jdk might also install a runtime too.
you could try tiny tuner instead of universal patcher
I'm gonna give it another go in java with the links given.

EDIT: It worked :D
kur4o
Posts: 948
Joined: Sun Apr 10, 2016 9:20 pm

Re: Is my vats turned off in universal patcher?

Post by kur4o »

DWS wrote: but sadly universal patcher seems to be c# based, the runtime won't install in my win7 vm. I'm a Linux user now full time, so exe's don't exactly get along with me the best now lol. . I'm not 100% sure how UP detects the different tables and such, but I'd assume it uses some sort of signature system. My idea would be similar, but maybe the whole function minus exact address locations so it works across different builds, maybe it already does what I'm thinking though, not sure lol.
.
Unversal patcher will run on anything win xp sp3+.
The only prerequisites are .net framework 4.0+, Need to check exact minimum version.

With pattern searching you will notice functions looks exactly the same, main issue is different ram and address registers. You need a way to skip those is search sequence, or mask them someway. It also depends how code is looked up, relative, absolute, indexed, with registers. Early Motorola cpu is easy to work with, But PPC is total nightmare due to how 32 bit addresses are built up, and immense numbers of registers.
DWS
Posts: 129
Joined: Tue Oct 12, 2021 10:04 am
cars: Tons of Toyotas, 2003 cavi derby car, ford trucks, etc.
Location: USA
Contact:

Re: Is my vats turned off in universal patcher?

Post by DWS »

kur4o wrote:
DWS wrote: but sadly universal patcher seems to be c# based, the runtime won't install in my win7 vm. I'm a Linux user now full time, so exe's don't exactly get along with me the best now lol. . I'm not 100% sure how UP detects the different tables and such, but I'd assume it uses some sort of signature system. My idea would be similar, but maybe the whole function minus exact address locations so it works across different builds, maybe it already does what I'm thinking though, not sure lol.
.
Unversal patcher will run on anything win xp sp3+.
The only prerequisites are .net framework 4.0+, Need to check exact minimum version.

With pattern searching you will notice functions looks exactly the same, main issue is different ram and address registers. You need a way to skip those is search sequence, or mask them someway. It also depends how code is looked up, relative, absolute, indexed, with registers. Early Motorola cpu is easy to work with, But PPC is total nightmare due to how 32 bit addresses are built up, and immense numbers of registers.
Not sure which version I was trying to install, but I went with the oldest 4.0 and that actually installed I figured there was a different issue going on other than Microsoft just being stupid making it not work in the newer versions.



Anyway I took a quick peek at the class 2 serial flag and the related code, it's defo not easy to follow through to the fan control function I've been referencing but I'm sure with some time should be able to make some sense of it. I'm behind on my business atm though so I'll probably MIA for a bit, can't make customers mad lol.
Ford EEC-V Bin Converter (bank swapping and padding): viewtopic.php?f=41&t=8342
DethRattles
Posts: 174
Joined: Wed Apr 05, 2023 11:38 am
cars: 2004 Grand am gt

Re: Is my vats turned off in universal patcher?

Post by DethRattles »

DWS wrote:
kur4o wrote:
DWS wrote: but sadly universal patcher seems to be c# based, the runtime won't install in my win7 vm. I'm a Linux user now full time, so exe's don't exactly get along with me the best now lol. . I'm not 100% sure how UP detects the different tables and such, but I'd assume it uses some sort of signature system. My idea would be similar, but maybe the whole function minus exact address locations so it works across different builds, maybe it already does what I'm thinking though, not sure lol.
.
Unversal patcher will run on anything win xp sp3+.
The only prerequisites are .net framework 4.0+, Need to check exact minimum version.

With pattern searching you will notice functions looks exactly the same, main issue is different ram and address registers. You need a way to skip those is search sequence, or mask them someway. It also depends how code is looked up, relative, absolute, indexed, with registers. Early Motorola cpu is easy to work with, But PPC is total nightmare due to how 32 bit addresses are built up, and immense numbers of registers.
Not sure which version I was trying to install, but I went with the oldest 4.0 and that actually installed I figured there was a different issue going on other than Microsoft just being stupid making it not work in the newer versions.



Anyway I took a quick peek at the class 2 serial flag and the related code, it's defo not easy to follow through to the fan control function I've been referencing but I'm sure with some time should be able to make some sense of it. I'm behind on my business atm though so I'll probably MIA for a bit, can't make customers mad lol.
Thanks for taking a peek, sorry about work. I'm happy you can take a little bit of time to try and figure some of this out and help me with ghidra. I may fully never grasp it but i'll try.
DWS
Posts: 129
Joined: Tue Oct 12, 2021 10:04 am
cars: Tons of Toyotas, 2003 cavi derby car, ford trucks, etc.
Location: USA
Contact:

Re: Is my vats turned off in universal patcher?

Post by DWS »

It's for sure a learning curve. The hardest part is trying to understand the code with nothing labeled, that's where UP is useful since you can check related settings and get a better sense of what's going on.
Ford EEC-V Bin Converter (bank swapping and padding): viewtopic.php?f=41&t=8342
kur4o
Posts: 948
Joined: Sun Apr 10, 2016 9:20 pm

Re: Is my vats turned off in universal patcher?

Post by kur4o »

Found some tutorial how fans are controlled with p04 pcm.
Cooling Fan Control 3.4L (LA1)
The engine cooling fans are controlled by the body control module (BCM) and the powertrain control module (PCM). The BCM sends a Class 2 message to the PCM requesting cooling fan operation. If there is a Class 2 communication malfunction between the BCM and the PCM. The PCM will operate the engine cooling fans independently of the BCM.

The engine cooling fan system consists of 2 electrical cooling fans and 3 fan relays. The relays are arranged in a series/parallel configurationthat allows the PCM to operate both fans togetherat low or high speeds. The cooling fans and fan relays receive batterypositive voltage from the engine wiring harness junction block. The groundpath is provided at G101.

During low speed operation, the PCM supplies the ground path for the low speed fan relay through the low speed cooling fan relay control circuit.This energizes the cooling fan 1 relay coil, closes the relay contacts,and supplies battery positive voltage from the FAN CONT #1 fusethrough the cooling fan motor supply voltage circuit to the right coolingfan. The ground path for the right cooling fan is through the cooling fan 2 relay and the left cooling fan. The result is a series circuit with both fans running at low speed.

During high speed operation the PCM supplies the ground path for the cooling fan 1 relay through the low speed cooling fan relay controlcircuit. After a 3-second delay, the PCM supplies a ground path for thecooling fan 2 relay and the cooling fan 3 relay through the high speed cooling fan relay control circuit. This energizes the coolingfan 2 relay coil, closes the relay contacts, and provides a groundpath for the right cooling fan. At the same time the cooling fan 3relay coil is energized closing the relay contacts and provides battery positive voltage from the FAN CONT #2 fuse on the cooling fan motorsupply voltage circuit to the left cooling fan. During high speed fan operation, both engine cooling fans have there own ground path. The result is a parallel circuit with both fans running at high speed.

The BCM will request low speed cooling fan operation from the PCM under the following conditions:

Engine coolant temperature exceeds approximately 103°C (217°F).
When A/C is requested and the ambient temperature is more than 50°C (122°F).
A/C refrigerant pressure exceeds 1310 kPa (190 psi).
After the vehicle is shut off if the engine coolant temperature at key-off is more than 117°C (243°F) and system voltage is morethan 12 volts. The fans will stay on for approximately 3 minutes.
The BCM will request high speed cooling fan operation from the PCM under the following conditions:

Engine coolant temperature reaches 110°C (230°F).
A/C refrigerant pressure exceeds 1655 kPa (240 psi).
When certain DTCs set.
Post Reply