Join Us and become a Member for a Verified Badge to access private areas with the latest PS4 / PS5 PKGs.
PS4 CFW and Hacks       Thread starter PSXHAX       Start date Feb 24, 2019 at 9:56 PM       63      
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: / 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 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 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 / / GIT
The code for the payload is from this repo and not from me: / GIT
u32 sceKernelGetCpuTemperature(u64 res);

u64 numb;
u32 ret = sceKernelGetCpuTemperature(&numb);
printf("sceKernelGetCpuTemperature returned %i\n", ret);
printf("TEMP %d°C\n", numb);
sceKernelGetCpuTemperature returned 0
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
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 to, 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 " 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 PS4 Get CPU Clock Speed 9.00 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


@barelynotlegal Good question... the demo video sounds like a plane taking off, so personally I wouldn't mess with the PS4's fan speed in case it affects things down the road such as wearing fan components out prematurely, etc.

It's kinda like vaping, there have to be long-term studies done to see what adverse effects surface I spose. :bananaman13:
It's not a wise idea to stop 5.05 development, because whenever a higher version jailbreak surfaces the work done for 5.05 can be ported and enjoyed as was done for 1.76, 4.05, etc. :cool:
Not open for further replies.