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 Mar 1, 2019 at 6:42 AM       13      
Not open for further replies.
Earlier this week we saw some PS4 Fan Control Payloads arrive following PlayStation 4 scene dev research, and proceeding his PS4Admin GTA V Mod Menus and recent The Enchanted Forest VPK Updates developer @RetroGamer74 made available via Twitter PS4_Fan_Booster which is a PS4 Fan Control Dynamic Parameter payload allowing users to select the temperature from a form prior to launch based on the work of Zer0xFF. :D

Download: PS4-fan-control.bin (4.6 KB) / GIT

To quote from the PS4_Fan_Booster

This payload allows to dynamically inject a modification on the current payload binary as parameter to change temperature based on payload setup form in the PS4ADMIN payload manager for PS4.

In order to use PS4ADMIN you have to setup your Primary and Secondary DNS to the IP:

When done you can launch the User Guide. Once in the PS4ADMIN website select the latest option menu which is Store PS4ADMIN in Cache.

When finished, wait for PS4ADMIN to reload the page, and then go to Homebrew Menu and select Fan Booster.

In the Exploit Customization tab, you will be able to choose the desired temp.

Remember this temp is a threshold. It means at what temp the fan will start to work. So don't become crazy and take care.

This payload has to be used with PS4ADMIN. If you use it by itself (PS4-fan-control.bin) the default TEMP ( 60 Celsius Degrees ) will be used always.

You need the PS4ADMIN website to inject the param to the payload.

Use this at your own risk. No responsibilities from my side.


This payload is an improvement based on the information about PS4 fan from Zer0xFF and the project on

PS4 Fan Control with X-Project + New PS4 Homebrew File Manager
HTML Load for BIN by mohammadfadel

Download: html lode or bin.rar (0.01 MB)

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_Booster PS4 Fan Control Dynamic Parameter Payload Arrives.jpg


Hi. If you set it up in Al Azif, for example, then the temp will be set at 60 celsius degrees always.

This happens because the parameter temp is changed directly against the PAYLOAD BINARY. It is a bit complex. So you lose that capability because it is done thru the PS4ADMIN website. Sorry about it.

Well, best temp depending on your needs. Which is clear is for a PS4 Pro, default temp is 79 celsius degrees. So if you set it up as 60, you're forcing to the fan to start cooling at 60 celsius degrees. Default threshold for PS4 working in the home screen is set to 55 celsius degrees, so it means, low than that, you will be forcing to use the cooler always. Which is not a good idea.

So be careful with your choices. Remember you can change the temp, and it can take until 30 secs to take effect. This usually happens when you change temp from lower to higher.

Also take in mind the change is persistence even when you reboot. It will back to console defaults when POWER OFF.

thx for sharing - would it be possible, that you release a working "html version" that we can implement in our own exploit page? I host myself on my nas, and it would be awesome to implement this feature.

thx and effort for your work
Take a look to my development, and copy what you need. Is the best I can tell you. I don't use that predesigned html. My design is quite different.

nice great work retrogamer. can see the fan speed can be set to maximum when it exceeeds max temp

good 2 see we can at least configure this for better output
I will be trying this :) cool stuff, thanks, I don't know why people say the ps4 dev scene is dead

Oh for anyone who wants to use the Alazif web page, you can cache it in the web browser and use the ps4admin page in the user guide ;)
Not open for further replies.