Tutorial  Updated

Adjust the Nintendo Switch Fan Speed

Works on atmosphere but didn't tested on ReiNX and SX OS.

I'm giving the needed file, copy this to atmosphere>config folder in sd card. DON'T FORGET TO CHANGE THE EXTENSION OF FILE TO .ini OR IT WILL NOT WORK I already modified and bumped the speed level by one tier in every section (except first temps., no need to wear fan on room temp.) for less temperature. Modify if you need.

Default settings are these:
Code:
[tc]
tskin_rate_table_console = str!"[[-1000000, 40000, 0, 0], [36000, 43000, 51, 51], [43000, 53000, 51, 153], [53000, 58000, 153, 255], [58000, 1000000, 255, 255]]"
tskin_rate_table_handheld = str!"[[-1000000, 40000, 0, 0], [36000, 43000, 51, 51], [43000, 48000, 51, 102], [48000, 53000, 102, 153], [53000, 1000000, 153, 153], [48000, 1000000, 153, 153]]"

str!"[[-1000000, 40000, 255, 255]
-1000000, 40000 these are temperature 40000 = 40C
255 is the speed, 0-255

Edit: lesser fan speed maybe would NOT work, for built in security. Even if they work, BE CAREFUL YOU CAN OVERHEAT AND DAMAGE YOUR CONSOLE!
 

Attachments

  • system_settings.txt
    365 bytes · Views: 559
Last edited by TR_mahmutpek,

TR_mahmutpek

medic
OP
Member
Joined
Jul 28, 2015
Messages
1,424
Trophies
0
Age
24
XP
1,996
Country
Turkey
Hello, I am using latest atmosphere. Is there any reason why my atmosphere fails to boot when I add this piece of code to the system_settings.ini in atmosphere/config/system_settings.ini?

Code:
[tc]
; Unlock fan speeds
 tskin_rate_table_console = str!"[[-1000000, 40000, 0, 0], [36000, 43000, 51, 102], [43000, 53000, 102, 153], [53000, 58000, 153, 255], [58000, 1000000, 255, 255]]"
 tskin_rate_table_handheld = str!"[[-1000000, 40000, 0, 0], [36000, 43000, 102, 102], [43000, 48000, 102, 153], [48000, 53000, 153, 153], [53000, 1000000, 255, 255], [48000, 1000000, 255, 255]]"

I added that piece of code at the bottom of my system_settings.ini file and it fails to boot. It only successfully boots when I add the semicolon ";" before the code to each line and it becomes green(using notepad++, of course). Does the setting still take effect this way or is it being commented out with the usage of ';'? Thanks! Below I have attached my config file incase something may be wrong with it. Thank you very much
Lets see if I can help. First, is it first time using this fan controller ini file? Or did you use before? If used before and worked, try previous atmosphere releases (or sd configuration). Newer atmosphere builds (or last things you changed on sd card) may conflict with fan adjust ini file, unfortunately I even dont have a pc right now, I can't test it.

Second, can you try my ini file just as I described? Maybe that semicolon things make the errors.
 
  • Like
Reactions: BestSiteEvar

BestSiteEvar

Member
Newcomer
Joined
Mar 25, 2012
Messages
13
Trophies
0
XP
12
Country
United States
Lets see if I can help. First, is it first time using this fan controller ini file? Or did you use before? If used before and worked, try previous atmosphere releases (or sd configuration). Newer atmosphere builds (or last things you changed on sd card) may conflict with fan adjust ini file, unfortunately I even dont have a pc right now, I can't test it.

Second, can you try my ini file just as I described? Maybe that semicolon things make the errors.
Ur file worked but what about other settings contained in that file? The .ini file had an atmosphere section and important stuff. are they not that important? sorry for noob question this is my first time using this fan controller ini file. idk much about semicolon but when it's enabled it goes through but i have no idea if settings are taken effect when doing so. thanks. sorry if i sound unclear
 

TR_mahmutpek

medic
OP
Member
Joined
Jul 28, 2015
Messages
1,424
Trophies
0
Age
24
XP
1,996
Country
Turkey
Ur file worked but what about other settings contained in that file? The .ini file had an atmosphere section and important stuff. are they not that important? sorry for noob question this is my first time using this fan controller ini file. idk much about semicolon but when it's enabled it goes through but i have no idea if settings are taken effect when doing so. thanks. sorry if i sound unclear
.ini file only has two section, one dor tablet mode and one for console, there are no other things in .ini file. If you are using different file than mine, combining files or etc. I can't help, I don't know other files. Also if it works, just use it like that, there is no need to change on my .ini file. If you want to ensure if .ini works, change the first fan rate values 0, 0 to 51, 102 on both tablet and console section. When you open switch, fan should immediately spins. If works, revert back, no need to wear fan on low temps.
 
  • Like
Reactions: BestSiteEvar

BestSiteEvar

Member
Newcomer
Joined
Mar 25, 2012
Messages
13
Trophies
0
XP
12
Country
United States
.ini file only has two section, one dor tablet mode and one for console, there are no other things in .ini file. If you are using different file than mine, combining files or etc. I can't help, I don't know other files. Also if it works, just use it like that, there is no need to change on my .ini file. If you want to ensure if .ini works, change the first fan rate values 0, 0 to 51, 102 on both tablet and console section. When you open switch, fan should immediately spins. If works, revert back, no need to wear fan on low temps.
Thank you very much for your help. After tinkering and editing my .ini finally works but I modified it. It now looks like this but everything's still working fine for the moment! Fingers crossed.

Code:
[tc]
tskin_rate_table_console = str!"[[-1000000, 40000, 0, 0], [36000, 43000, 51, 102], [43000, 53000, 102, 153], [53000, 58000, 153, 255], [58000, 1000000, 255, 255]]"
tskin_rate_table_handheld = str!"[[-1000000, 40000, 0, 0], [36000, 43000, 102, 102], [43000, 48000, 102, 153], [48000, 53000, 153, 153], [53000, 1000000, 255, 255], [48000, 1000000, 255, 255]]"
; Atmosphere custom settings
[atmosphere]
; Reboot from fatal automatically after some number of milliseconds.
; If field is not present or 0, fatal will wait indefinitely for user input.
; fatal_auto_reboot_interval = u64!0x0
; Make the power menu's "reboot" button reboot to payload.
; Set to "normal" for normal reboot, "rcm" for rcm reboot.
; power_menu_reboot_function = str!payload
; Controls whether dmnt cheats should be toggled on or off by
; default. 1 = toggled on by default, 0 = toggled off by default.
 dmnt_cheats_enabled_by_default = u8!0x0
; Controls whether dmnt should always save cheat toggle state
; for restoration on new game launch. 1 = always save toggles,
; 0 = only save toggles if toggle file exists.
; dmnt_always_save_cheat_toggles = u8!0x0
; Enable writing to BIS partitions for HBL.
; This is probably undesirable for normal usage.
; enable_hbl_bis_write = u8!0x0
; Enable reading the CAL0 partition for HBL.
; This is probably undesirable for normal usage.
; enable_hbl_cal_read = u8!0x0
; Controls whether fs.mitm should redirect save files
; to directories on the sd card.
; 0 = Do not redirect, 1 = Redirect.
; NOTE: EXPERIMENTAL
; If you do not know what you are doing, do not touch this yet.
; fsmitm_redirect_saves_to_sd = u8!0x0
; Controls whether am sees system settings "DebugModeFlag" as
; enabled or disabled.
; 0 = Disabled (not debug mode), 1 = Enabled (debug mode)
; enable_am_debug_mode = u8!0x0
; Controls whether dns.mitm is enabled
; 0 = Disabled, 1 = Enabled
; enable_dns_mitm = u8!0x1
; Controls whether dns.mitm uses the default redirections in addition to
; whatever is specified in the user's hosts file.
; 0 = Disabled (use hosts file contents), 1 = Enabled (use defaults and hosts file contents)
; add_defaults_to_dns_hosts = u8!0x1
; Controls whether dns.mitm logs to the sd card for debugging
; 0 = Disabled, 1 = Enabled
; enable_dns_mitm_debug_log = u8!0x0
; Controls whether htc is enabled
; 0 = Disabled, 1 = Enabled
; enable_htc = u8!0x0
; Controls whether atmosphere's log manager is enabled
; Note that this setting is ignored (and treated as 1) when htc is enabled.
; 0 = Disabled, 1 = Enabled
; enable_log_manager = u8!0x0
 

Attachments

  • system_settings.rar
    1.1 KB · Views: 74

TR_mahmutpek

medic
OP
Member
Joined
Jul 28, 2015
Messages
1,424
Trophies
0
Age
24
XP
1,996
Country
Turkey
Thank you very much for your help. After tinkering and editing my .ini finally works but I modified it. It now looks like this but everything's still working fine for the moment! Fingers crossed.

Code:
[tc]
tskin_rate_table_console = str!"[[-1000000, 40000, 0, 0], [36000, 43000, 51, 102], [43000, 53000, 102, 153], [53000, 58000, 153, 255], [58000, 1000000, 255, 255]]"
tskin_rate_table_handheld = str!"[[-1000000, 40000, 0, 0], [36000, 43000, 102, 102], [43000, 48000, 102, 153], [48000, 53000, 153, 153], [53000, 1000000, 255, 255], [48000, 1000000, 255, 255]]"
; Atmosphere custom settings
[atmosphere]
; Reboot from fatal automatically after some number of milliseconds.
; If field is not present or 0, fatal will wait indefinitely for user input.
; fatal_auto_reboot_interval = u64!0x0
; Make the power menu's "reboot" button reboot to payload.
; Set to "normal" for normal reboot, "rcm" for rcm reboot.
; power_menu_reboot_function = str!payload
; Controls whether dmnt cheats should be toggled on or off by
; default. 1 = toggled on by default, 0 = toggled off by default.
 dmnt_cheats_enabled_by_default = u8!0x0
; Controls whether dmnt should always save cheat toggle state
; for restoration on new game launch. 1 = always save toggles,
; 0 = only save toggles if toggle file exists.
; dmnt_always_save_cheat_toggles = u8!0x0
; Enable writing to BIS partitions for HBL.
; This is probably undesirable for normal usage.
; enable_hbl_bis_write = u8!0x0
; Enable reading the CAL0 partition for HBL.
; This is probably undesirable for normal usage.
; enable_hbl_cal_read = u8!0x0
; Controls whether fs.mitm should redirect save files
; to directories on the sd card.
; 0 = Do not redirect, 1 = Redirect.
; NOTE: EXPERIMENTAL
; If you do not know what you are doing, do not touch this yet.
; fsmitm_redirect_saves_to_sd = u8!0x0
; Controls whether am sees system settings "DebugModeFlag" as
; enabled or disabled.
; 0 = Disabled (not debug mode), 1 = Enabled (debug mode)
; enable_am_debug_mode = u8!0x0
; Controls whether dns.mitm is enabled
; 0 = Disabled, 1 = Enabled
; enable_dns_mitm = u8!0x1
; Controls whether dns.mitm uses the default redirections in addition to
; whatever is specified in the user's hosts file.
; 0 = Disabled (use hosts file contents), 1 = Enabled (use defaults and hosts file contents)
; add_defaults_to_dns_hosts = u8!0x1
; Controls whether dns.mitm logs to the sd card for debugging
; 0 = Disabled, 1 = Enabled
; enable_dns_mitm_debug_log = u8!0x0
; Controls whether htc is enabled
; 0 = Disabled, 1 = Enabled
; enable_htc = u8!0x0
; Controls whether atmosphere's log manager is enabled
; Note that this setting is ignored (and treated as 1) when htc is enabled.
; 0 = Disabled, 1 = Enabled
; enable_log_manager = u8!0x0
You're welcome. Enjoy your cooler switch!
And boy, thats look like a REAL .ini file :D
Don't forget what you did because you will need the .ini file (or the fan settigns) every time you freshly setup switch's sd card, you will need to recopy it.
 
  • Like
Reactions: BestSiteEvar

Amirgh

Well-Known Member
Newcomer
Joined
Feb 13, 2021
Messages
62
Trophies
0
Age
34
XP
384
Country
United States
Hello guys
I had some problem with my switch maybe someone from this topic can help me.
In handheld mode sometimes after wake-up my fan speed is going to 75% when switch temperature is less than 35°C.
 

TR_mahmutpek

medic
OP
Member
Joined
Jul 28, 2015
Messages
1,424
Trophies
0
Age
24
XP
1,996
Country
Turkey
Hello guys
I had some problem with my switch maybe someone from this topic can help me.
In handheld mode sometimes after wake-up my fan speed is going to 75% when switch temperature is less than 35°C.
Try freshly setting up switch's card. Some unknown file or config may cause. Also you can uninstall unused homebree apps, etc. And don't forget to update your switch to latest firmware.
 
  • Like
Reactions: Amirgh

Natural

Well-Known Member
Member
Joined
Jul 25, 2014
Messages
380
Trophies
0
XP
594
Country
United States
Damn I thought this would keep my switch from overheating and shutting down but this didn't seem to help. Is there a way for me to have fan speed displayed during gameplay?
 
Last edited by Natural,

masagrator

The patches guy
Developer
Joined
Oct 14, 2018
Messages
6,265
Trophies
3
XP
12,025
Country
Poland
This tutorial is outdated.
Since 12.0.0 tskin_rate_table_console is not in use anymore.
tskin_rate_table_handheld is also not giving you full access to fan, system can takeover it and push their settings.
To properly set fan you must enable this

use_configurations_on_fwdbg

Then use those to set fan profiles

tskin_rate_table_handheld_on_fwdbg
tskin_rate_table_console_on_fwdbg

This works only for 12.0.0+
 

Medel87

Well-Known Member
Member
Joined
Dec 18, 2021
Messages
174
Trophies
0
Age
37
XP
1,008
Country
Spain
This tutorial is outdated.
Since 12.0.0 tskin_rate_table_console is not in use anymore.
tskin_rate_table_handheld is also not giving you full access to fan, system can takeover it and push their settings.
To properly set fan you must enable this

use_configurations_on_fwdbg

Then use those to set fan profiles

tskin_rate_table_handheld_on_fwdbg
tskin_rate_table_console_on_fwdbg

This works only for 12.0.0+
Don't work for me, I get atmos error if I add this, can you share exactly how do you use this? I tried with "1" and with "true", I get the error only when I add use_configurations, modifying tskin_rate with fwdbg work, but obviusly this settings dont work without first thing
 

HalfScoper

Well-Known Member
Member
Joined
Apr 16, 2021
Messages
549
Trophies
0
Age
84
XP
1,468
Country
Germany
This tutorial is outdated.
Since 12.0.0 tskin_rate_table_console is not in use anymore.
tskin_rate_table_handheld is also not giving you full access to fan, system can takeover it and push their settings.
To properly set fan you must enable this

use_configurations_on_fwdbg

Then use those to set fan profiles

tskin_rate_table_handheld_on_fwdbg
tskin_rate_table_console_on_fwdbg

This works only for 12.0.0+

I second the request for an example of how it has to look like, thanks for the info regardless.
 

Medel87

Well-Known Member
Member
Joined
Dec 18, 2021
Messages
174
Trophies
0
Age
37
XP
1,008
Country
Spain
I second the request for an example of how it has to look like, thanks for the info regardless.
I got it, add this

use_configurations_on_fwdbg = u8!0x1

(Take a look first, if you have it yet on your config, only change u8!0x0 to u8!0x1)

And add _on_fwdbg to your tskin rate, like this

tskin_rate_table_console_on_fwdbg
tskin_rate_table_handheld_on_fwdbg
 

uper

Member
Newcomer
Joined
Dec 11, 2006
Messages
7
Trophies
1
XP
46
Country
I got it, add this

use_configurations_on_fwdbg = u8!0x1

(Take a look first, if you have it yet on your config, only change u8!0x0 to u8!0x1)

And add _on_fwdbg to your tskin rate, like this

tskin_rate_table_console_on_fwdbg
tskin_rate_table_handheld_on_fwdbg
Could you pass your .ini file? I can't get it to work
 

uper

Member
Newcomer
Joined
Dec 11, 2006
Messages
7
Trophies
1
XP
46
Country
Tengo muchas cosas modificadas en ese archivo, y tal vez esas cosas no sean para su uso, envíe una captura de pantalla de la parte del fan en el suyo y le echaré un vistazo.
Este a continuación es mi archivo, es el mismo que el predeterminado pero con las líneas tc puestas pero no tienen efecto:

[tc]
use_configurations_on_fwdbg = u8!0x1
tskin_rate_table_console_on_fwdbg = str!"[[-1000000, 40000, 0, 0], [36000, 43000, 51, 51], [43000, 48000, 51, 102], [48000, 53000, 102, 153], [53000, 1000000, 153, 153], [48000, 1000000, 153, 153]]"
tskin_rate_table_handheld_on_fwdbg = str!"[[-1000000, 40000, 0, 0], [36000, 43000, 51, 51], [43000, 48000, 51, 65], [48000, 53000, 65, 93], [53000, 1000000, 93, 120]]"
[eupld]
; Disable uploading error reports to Nintendo
upload_enabled = u8!0x0
[usb]
; Enable USB 3.0 superspeed for homebrew
; 0 = USB 3.0 support is system default (usually disabled), 1 = USB 3.0 support is enabled.
usb30_force_enabled = u8!0x1
[ro]
; Control whether RO should ease its validation of NROs.
; (note: this is normally not necessary, and ips patches can be used.)
; ease_nro_restriction = u8!0x1
[lm]
; Control whether lm should log to the SD card.
; Note that this setting does nothing when log manager is not enabled.
; enable_sd_card_logging = u8!0x1
; Control the output directory for SD card logs.
; Note that this setting does nothing when log manager is not enabled/sd card logging is not enabled.
; sd_card_log_output_directory = str!atmosphere/binlogs
; Atmosphere custom settings
[erpt]
; Control whether erpt reports should always be preserved, instead of automatically cleaning periodically.
disable_automatic_report_cleanup = u8!0x0
[atmosphere]
; Reboot from fatal automatically after some number of milliseconds.
; If field is not present or 0, fatal will wait indefinitely for user input.
fatal_auto_reboot_interval = u64!5000
; Make the power menu's "reboot" button reboot to payload.
; Set to "normal" for normal reboot, "rcm" for rcm reboot.
power_menu_reboot_function = str!payload
; Controls whether dmnt cheats should be toggled on or off by
; default. 1 = toggled on by default, 0 = toggled off by default.
dmnt_cheats_enabled_by_default = u8!0x0
; Controls whether dmnt should always save cheat toggle state
; for restoration on new game launch. 1 = always save toggles,
; 0 = only save toggles if toggle file exists.
dmnt_always_save_cheat_toggles = u8!0x0
; Enable writing to BIS partitions for HBL.
; This is probably undesirable for normal usage.
; enable_hbl_bis_write = u8!0x0
; Enable reading the CAL0 partition for HBL.
; This is probably undesirable for normal usage.
; enable_hbl_cal_read = u8!0x0
; Controls whether fs.mitm should redirect save files
; to directories on the sd card.
; 0 = Do not redirect, 1 = Redirect.
; NOTE: EXPERIMENTAL
; Si no sabe lo que está haciendo, no toque esto todavía.
; fsmitm_redirect_saves_to_sd = u8!0x0
; Controla si am ve la configuración del sistema "DebugModeFlag" como
; habilitado o deshabilitado.
; 0 = Deshabilitado (no modo de depuración), 1 = Habilitado (modo de depuración)
; enable_am_debug_mode = u8!0x0
; Controla si dns.mitm está habilitado
; 0 = Deshabilitado, 1 = Habilitado
enable_dns_mitm = u8!0x1
; Controla si dns.mitm usa las redirecciones predeterminadas además de
; lo que se especifica en el archivo de hosts del usuario.
; 0 = Deshabilitado (usar el contenido del archivo de hosts), 1 = Habilitado (usar los valores predeterminados y el contenido del archivo de hosts)
add_defaults_to_dns_hosts = u8!0x1
; Controla si dns.mitm se registra en la tarjeta SD para la depuración
; 0 = Deshabilitado, 1 = Habilitado
; enable_dns_mitm_debug_log = u8!0x0
; Controla si htc está habilitado
; 0 = Deshabilitado, 1 = Habilitado
; habilitar_htc = u8!0x0
; Controla si el administrador de registro de la atmósfera está habilitado
; Tenga en cuenta que esta configuración se ignora (y se trata como 1) cuando htc está habilitado.
; 0 = Deshabilitado, 1 = Habilitado
; enable_log_manager = u8!0x0
[cargador]
; Controla el tamaño del montón homebrew cuando se ejecuta como subprograma.
; Si se establece en cero, toda la memoria de applet disponible se utiliza como montón.
; El valor predeterminado es cero.
; applet_heap_size = u64!0x0
; Controla la cantidad de memoria para reservar cuando se ejecuta como applet
; para uso de otros applets. Este ajuste no tiene efecto si
; applet_heap_size no es cero. El valor predeterminado es 0x8600000.
; applet_heap_reservation_size = u64!0x8600000
 

Medel87

Well-Known Member
Member
Joined
Dec 18, 2021
Messages
174
Trophies
0
Age
37
XP
1,008
Country
Spain
tskin_rate_table_console_on_fwdbg = str!"[[-1000000, 40000, 0, 0], [36000, 43000, 51, 51], [43000, 48000, 51, 102], [48000, 53000, 102, 153], [53000, 1000000, 153, 153], [48000, 1000000, 153, 153]]"
tskin_rate_table_handheld_on_fwdbg = str!"[[-1000000, 40000, 0, 0], [36000, 43000, 51, 51], [43000, 48000, 51, 65], [48000, 53000, 65, 93], [53000, 1000000, 93, 120]]"
You have really limited fan. Have you erista or mariko?
 
Last edited by Medel87,

uper

Member
Newcomer
Joined
Dec 11, 2006
Messages
7
Trophies
1
XP
46
Country
Erista, what I want is to lower the revolutions of the fan, when it goes from 53 degrees the fan goes from being around 40% to 80% or more and the noise it makes to be at 53 degrees is crazy, but it doesn't work what have i put

The original code was the one from the first post, that is tests that I have been doing to lower the revolutions
You have really limited fan. Have you erista or mariko?
 

deathblade200

Well-Known Member
Member
Joined
May 10, 2016
Messages
1,371
Trophies
0
XP
1,344
Country
United States
Erista, what I want is to lower the revolutions of the fan, when it goes from 53 degrees the fan goes from being around 40% to 80% or more and the noise it makes to be at 53 degrees is crazy, but it doesn't work what have i put

The original code was the one from the first post, that is tests that I have been doing to lower the revolutions
its crazy to me that people actually want to make their device hotter just because "noise"
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    SylverReZ @ SylverReZ: https://www.youtube.com/watch?v=uLN9qrJ8ESs