Join Us and become a Member for a Verified Badge to access private areas with the latest PS4 PKGs.
PS4 CFW and Hacks       Thread starter PSXHAX       Start date Feb 24, 2019 at 9:56 PM       63      
Status
Not open for further replies.
For quite some time PlayStation 4 scene developers have been researching and testing code to control the PS4 fan speed in order to adjust the console's temperature, and following the PS4 Homebrew PKG Store developer @Joaquin Salih (aka toxxic407) made available a collection of payloads via Twitter used to control the PS4 fan speed on Github.

Download: PS4-fan-control-payloads-master.zip / GIT

Recently PlayStation 4 Fan Control code from ethylamine's repository based on Zer0xFF's findings was forked by kozarovv for a 4.74 port and added to JgDuff's PS4 Exploit Host v0.4.6 updates as well. (y)

Below are some additional details from the README.md: PS4 Fan Control Payloads

Collection of Payloads used to control the fan of PS4's on version 5.05. All Credit goes to ethylamine, Zer0xFF (Twitter), theorywrong (Twitter), xvortex (Twitter) and zecoxao (Twitter). The name is equal to the Temperature threshold in degrees.

:alert: Most of the Payloads are not tested! I do not take any responsibility and I am not liable for any damage done to your PS4!
PS4 PRO 5.05 HARDWARE SPEED FAN CONTROL MOD with PSXITArch Linux via PS4LINUX
PS4 Fan Control with X-Project + New PS4 Homebrew File Manager
I compiled the fan control payloads with support for 6.72 with all threshold options from 0°C to 99°C. If anybody wants to use them: PS4 Fan Control Payloads / PS4-fan-control-payloads-master.zip / GIT
The code for the payload is from this repo and not from me: ps4-fan-threshold-master.zip / GIT
Code:
u32 sceKernelGetCpuTemperature(u64 res);

u64 numb;
u32 ret = sceKernelGetCpuTemperature(&numb);
printf("sceKernelGetCpuTemperature returned %i\n", ret);
printf("TEMP %d°C\n", numb);
Code:
connected
sceKernelGetCpuTemperature returned 0
TEMPERATURE is 62 °C
sceKernelGetCpuFrequency returned 1.60 GHz
Download: MiraTempReport.7z (172.44 KB - includes MiraTempReportByLMAndAlAzif.bin and MiraLoader.elf)
Download: ps4fancontrol-1.0.0-1-x86_64.pkg.tar.xz / PS4FanControl GIT by Ps3itaTeam
Code:
Update psxitarch v2 27/03/21
 
First remove this pkg:
sudo pacman -R jwm-git
sudo pacman -Rc openobex
 
After open the file /etc/pacman.conf, change the repo from https://psxita.it/repo to https://psxita.it/repo-testing, update psxitarch with:
sudo pacman -Syu
Answer yes to all, when you get the message that some packages are corrupted because the keyring are outdated, answer no to "..you want delete the corrupted packages?", this should abort the upgrade of system.
To fix the corrupted packages just install archlinux-keyring with sudo pacman -S archlinux-keyring
Now you can finally update the system and drivers with 
 
sudo pacman -Syu && sudo pacman -S jwm
From Pastebin.com: PS4 Get CPU Clock Speed 9.00 Code
Code:
void cpuFrequency() {
	u64 v1;
	uint8_t* kernel_base = (uint8_t*)(__readmsr(0xC0000082) - 0x1C0);
	u64*(*devclass_find)(char*) = (void*)(kernel_base + 0x38DEC0);
	u64(*devclass_get_device)(u64 a1, int a2) = (void*)(kernel_base + 0x38E480);
	long long(*cpufreq_get)(u64 a1, int* a2) = (void*)(kernel_base + 0x2830D0);

	//long long(*sub_FFFFFFFFDDD46D90)(long long a1, long long *a2, long long a3) = (void*)(kernel_base + 0x1FAD90);
	//u32(*cpufreq_pre_change)(u64 a1, int* a2, u64 unk) = (void*)(kernel_base + 0x282800);//change CPU clock speed, I tried 1866Mhz and It worked for me once & after using it again my PS4 crashed, Maybe I didn't use this function well?

	//long long v30 = v1 + 8LL * (u8)(kernel_base + 0x1A6FC80);
	//long long v23 = sub_FFFFFFFFDDD46D90(*(u64*)(v1 + 2048), &v30, (long long)(kernel_base + 0x1A6FC80));
	u64* v0 = devclass_find("cpufreq");
	v1 = devclass_get_device((long long)v0, 0);
	cpufreq_get(v1, &freq);
	printf("CPU clock speed: %dMHz", freq);
	int mhz = 1600;
	int *v38 = &mhz;
	//cpufreq_pre_change(v1, v38, 1000LL);
}

int _main(void) {
kexec(cpuFrequency, NULL);
}
PS4 Fan Control Payloads to Adjust PS4 Fan Speed and Temperature.jpg
 

Comments

eBay listing... If you message guy he has them for all ps4 models and Xbox models too. I get one from him every console. Yes it’s in GB but shipping is quick and he is trustworthy
 
Anyone here familiar with the commands run under psxitarch linux v2 to set the temperature threshold values. I've used the given command for 59 on this site here but I wouldn't mind knowing the commands for the temps 60, 65, 70 and 75.
 
@bonusb4ll
yea that link is just a place holder for the item. it says

This listing was ended by the seller because the item is no longer available.

any other suggestions?
 
These hardware fan controllers become irrelevant once the processor reaches the threshold temperature setting. However if you are still interested make sure you get a fan speed controller that will never slow the fan speed more than the console dictates.
 
@finalman Just change the 0x3b value in the 59 degrees line.
  • for 59 degrees use: 0x3b
  • for 60 degrees use: 0x3c
  • for 65 degrees use: 0x41
  • for 70 degrees use: 0x46
  • for 75 degrees use: 0x4b
  • for 79 degrees use: 0x4f
Its simple to work out. 0x3b is 59 in hex, 0x3c is 60 etc...
 
@Leeful Thanks for your reply. Yeah I figured that out by loading the payloads in the dashboard then using the send_icc_cmd 0xA 7 0 0 52 in psxitarch to see what values were changing.

Anyone able to give me a quick tutorial of how to setup the temp monitor patch in psxitarch linux from download to install going by the following statement from here.

# monitor temp you'll need this patch https://github.com/Zer0xFF/linux/commit/eb353d1a089e4b3ef6305646b8a3cfe93a6cca4c
watch cat /sys/class/hwmon/hwmon1/device/hwmon/hwmon1/temp1_input
 
Here is a bzImage from Zer0xFF with the temp monitor patch already included.

Spoiler

Just replace the bzImage file on the Psxitarch V2 USB and type sensors in the terminal when Psxitarch has loaded.
 
Status
Not open for further replies.
Back
Top