PS3 wMM independent CELL/RSX fan control?

RIP-Felix

Senior Member
Is it possible to add independent RSX and Cell thermal targets? Currently the only way to accomplish this is by editing the SYSCON fantables, which doesn't control fans dynamically, just stair stepping. It is nice to edit them and not have to worry about the software layer interfering with it, like after the PS2 handoff in BC models, but wMM independent targets would ve quite useful, since the RSX is the main concern for temps (due to it's underfill's Tg of 70C). The CPU produces more heat and is generally what causes the fans to ramp up higher, but it doesn't have bad underfill. It's a tank and can take the extra heat.

So for example, we could set a Cell target of 74C (about it's default), but an RSX target of 68C, then the console would only need to ramp up the fans when the RSX itself needs cooling. This would make the console quieter in most circumstances, since less fan% is needed to maintain 74C Cell than it does 68C.

But IDK if it's possible. @aldostools ? I know it's not currently.
 
Currently webMAN MOD reads temperatures for CPU & RSX. Then it takes the higher values to compare it with the target temperature.

Originally deank had 2 target values, but during the tests we realized that it would make the configuration harder to understand for the average users. It also increases the number of parameters in /setup.ps3

If you want to allow RSX to increase to 74°C and keep CPU below 68°C, you can add the following code to line 44 of fancontrol2.h

t2-=6; // allow a gap of 6°C between RSX (t2) & CPU (t1)
if(t2 > t1) t1 = t2;

This is a hardcoded way to get what you want to achieve without make complex configurations.
 
PS2 emu itself is a standalone LV2 that doesn't use VSH... so basically he's asking for a PID feature on both LV2s (PS3 LV2 and PS2 emu) @Evilnat implemented fan control to Cobra payload IIRC.. @sandungas may have better ideas about syscon fantable stuff..
 
Aldostools, i think he wanted it the other way around , CPU max 74 and RSX max 68 .
Can you do a proof of concept for this idea ?

I see. In that case, the code is this (I reduced the gap to only 2 degrees to reduce potential issues using higher targets):

t1 -= 2; // allow a gap of +2°C between CPU (t1) and RSX (t2)

The compiled version of the plugin is available in this commit:
https://github.com/aldostools/webMAN-MOD/commit/4a057522540465ba121619c78fff064c3e7aa892

It can be downloaded and installed manually. As it's experimental, this commit is still unreleased.
 
Originally deank had 2 target values, but during the tests we realized that it would make the configuration harder to understand for the average users.
Interesting, so that was the original vision. I get the reasoning behind having a simpler version for the average user. You can acomplish that without sacrficing adavnced features by hiding them behind an "advanced/experimental" button. Kinda like how there are nested controls and check boxes already. It would be ideal to have another box to "enable independent CPU & GPU Targets." Restoring this original vision.
t1 -= 2; // allow a gap of +2°C between CPU (t1) and RSX (t2)

The compiled version of the plugin is available in this commit:
https://github.com/aldostools/webMAN-MOD/commit/4a057522540465ba121619c78fff064c3e7aa892

It can be downloaded and installed manually.
I'm game to try this manual way. I'm a total noob when it comes to installing these things. Could someone point me in the right direction? Like IDK if I have to compile it, make a package and install, or drag a file over FTP to a specific folder...me know zilch.
 
Interesting, so that was the original vision. I get the reasoning behind having a simpler version for the average user. You can acomplish that without sacrficing adavnced features by hiding them behind an "advanced/experimental" button. Kinda like how there are nested controls and check boxes already. It would be ideal to have another box to "enable independent CPU & GPU Targets." Restoring this original vision.

I'm game to try this manual way. I'm a total noob when it comes to installing these things. Could someone point me in the right direction? Like IDK if I have to compile it, make a package and install, or drag a file over FTP to a specific folder...me know zilch.

The binaries are already compiled. You only have to download the version of the sprx that you use, transfer the file to /dev_hdd0/plugins, rename it to webftp_server.sprx and reboot
 
I think the gap could be increased to 5 degrees, what do you think ?

Currently the gap is disabled in the released version.

If you want to test wMM with a gap of 5 degrees, you can replace the sprx in /dev_hdd0/plugins with the full version in the attachment.

My main concern about the gap 5 degrees is when the user sets the target temperature to 75ºC or higher. The CPU could reach easily 80ºC or more, which can overheat the system and cause damages. The user wouldn't be aware of this risk.
 

Attachments

The SYSCON cant be superceeded by webman, so it'll still regulate in the background as I understand it. wmm can only cool more than syscon, not less.
 
The SYSCON cant be superceeded by webman, so it'll still regulate in the background as I understand it. wmm can only cool more than syscon, not less.

The SYSCON mode in webMAN MOD disables the fan controller. PS2 mode cannot be disabled (it sets fan to a fixed speed, which must be higher than usual due the high CPU usage of the PS2 emulator).

@aldostools can the fans still be used in webManMod if using ps3 to play music or a video?

If the dynamic fan controller is enabled, the temperature is monitored all the time (in-game, XMB, browser, playing video, music, downloading, installing pkg, etc)
 
So I actually tried to intentionally overheat the console using web Man Mod by setting the target way too high. SYSCON fantable took over when the temps climbed into it's ramping zones. That why I concluded wmm cannot overrule SYSCON. That it is always working in the background to keep the console at least that cool. You can use wmm to cool it more than that, but not less unless you manually change the SYSCON fantables. Either manually in that session or permanently by setting the ini.

Is this not what's happening? Or did you build in a silent safety that prevents a user from intentionally going over the SYSCON defaults?
 
So I actually tried to intentionally overheat the console using web Man Mod by setting the target way too high. SYSCON fantable took over when the temps climbed into it's ramping zones. That why I concluded wmm cannot overrule SYSCON. That it is always working in the background to keep the console at least that cool. You can use wmm to cool it more than that, but not less unless you manually change the SYSCON fantables. Either manually in that session or permanently by setting the ini.

Is this not what's happening? Or did you build in a silent safety that prevents a user from intentionally going over the SYSCON defaults?

I checked the code again:
- If the fan control is set to SYSCON mode, the dynamic fan control is not executed.
- However, if the temperature reaches 83°C, a warning message is shown. If the temperature is over 85°C the fan speed is increased to 69% and increased 3% while the temperature is over 85°C. This only happens if "Disable temperature warnings" is not checked in /setup.ps3

You can verify the code used by the fan control in this link (it's not a silent update):
https://github.com/aldostools/webMAN-MOD/blob/master/include/poll/fancontrol2.h
 
I'll have to try it again, but I remember it was ramping up to the 1st or 2nd syscon level at around 74C (A model default behavior). Here's the fan tables @sandungas posted. And the one my console uses:
9KoyvnR.png


Yeah, so for RSX it would be 83C (crazy), but the CPU is locked at 20% until it reaches 74C and ramps to 25%. Then 27% at 76C...30% at 77C...etc. Wont's ramp back down until it falls below a low temp threshold. That's default SYSCON behavior.

I'll try it again to confirm, but my memory of it was that when setting WMM dynamic up to a target of something like 80C caused the fan percentage to drop to my low fan set point 25% (default). Then I started TLOU stress test to attempt to get to 80C. But the SYSCON took over when the CPU reached 76 and ramped the fan to 30%, which was able to keep the console from climbing higher and ever getting to WMM set point. Even though it was definitely on dynamic, not set to SYSCON.

My memory could be full of it, so give it a try and see.
 
Huh? No, I just meant that I observed that with WMM enabled and set to dynamic, I couldn't get it to superseded SYSCON fan tables. That it "appears" to still function regardless. Like a fail safe. So even if you intentionally tried to set web man to something crazy high, SYSCON would be doing it's thing uncaring of whatever fancon policy webman was issuing, unless the new fan % is higher. Meaning you can't cool less, only more than syscon's hard coded fan table.

I'll try it again later to double check.
 
Huh? No, I just meant that I observed that with WMM enabled and set to dynamic, I couldn't get it to superseded SYSCON fan tables. That it "appears" to still function regardless. Like a fail safe. So even if you intentionally tried to set web man to something crazy high, SYSCON would be doing it's thing uncaring of whatever fancon policy webman was issuing, unless the new fan % is higher. Meaning you can't cool less, only more than syscon's hard coded fan table.

I'll try it again later to double check.
Okay, I finally circled back to this.

I set webMan Mod up to 80C Max. It keept fan% at the lowest setting (25%) until it gets to 76C (either cpu/gpu). CPU in this case, since this was my 65nm Frankie. And then, despite it not having reached 80C it would not let it exceed 76C. It looks like a silent failsafe feature built into web Man Mod.

I know it's not the syscon doing it because I attempted to overheat it more by covering the exhaust and it ramped up the fans every second like web man does instead of in discrete step like the syscon's curve does. So what this tells me is that wMM does supersede syscon fan control. And I was wrong.

Which is concerning because there are cases where wMM screws up and doesn't engage. If it doesn't there nothing to prevent the system from overheating. I have had this happen when starting a PS2 game and coming back to XMB. Sometimes entering a PS2 game it doesn't automatically detect the switchover and doesn't engage the 40% constant fan% before the handover. Or when coming back to XMB from PS2 the same happens sometimes. I assumed that the SYSCON would still be active in that scenario to protect the console from overheating, but if the SYSCON doesn't have control and wMM screwed up, that's not good!

So now my opinion has switched. I now believe given this issue that custom syscon fantables are the better option in terms of reliability and never having to worry about it.

EDIT: Setting a constant 25% fan speed allowed the temps to increase unchecked up to 80C before I stopped. So when it was set to dynamic it wouldn't allow it over 76, but at constant fan% it did. There is "stuff" going on behind the scenes in the code apparently.
 
Last edited:

Similar threads

Back
Top