Fan Management Xavier

The fan on my Jetson AGX Xavier isn’t spinning, not sure if it’s just software or a hardware fault. how can I customise the fan profile on the system to keep the fan spinning continuously?

Hi tobiasapreston, the fan should turn on only when the unit is under load or heated up.

Running the ~/jetson_clocks.sh script will set the fan to run at maximum RPM (until reboot). Does your fan turn on after running that?

1 Like

Hi Dusty, Yep that’s got it going thanks. Is there any way I can make a custom fan profile?

/sys/kernel/debug/tegra_fan/target_pwm will manually set the fan speed, expecting a PWM value between 0 and 255.

This command will manually turn off the fan:

echo 0 | sudo tee /sys/kernel/debug/tegra_fan/target_pwm

And this command will run the fan at maximum speed:

echo 255 | sudo tee /sys/kernel/debug/tegra_fan/target_pwm

This command will retrieve the current fan speed:

cat /sys/kernel/debug/tegra_fan/cur_pwm
1 Like

Hi Dusty,
Why does jetson_clocks.sh explicitly set the fan to 255?
Why doesn’t the fan come on only if needed automatically?
Is a custom script necessary to do this?
Thanks, tonyvr

1 Like

Hi tonyvr, jetson_clocks.sh disables the DVFS governor and locks the clocks to their maximum for the active nvpmodel, so the fan is preemptively enabled to full speed as the processor will be running at full performance. If you do not desire this behavior, you can comment out the call to do_fan in jetson_clocks.sh (line 407).

Thanks for the quick answer Dusty.
I’ll give it a try.
I was afraid I’d burn up my Xavier if I tried that.
I’ll do a test to monitor temp and fan speed over time to make sure it all works.

OK thanks, yes, I would keep an eye on it carefully to prevent any issue (although it should shutdown if die temp were to exceed 105C).

I’ve just flashed my Xavier to the latest L4T 4.2 - but now the jetson_clocks.sh script and /sys/kernel/debug/tegra_fan/target_pwm appears to be gone.
Have these been moved?

Thanks

The script is now located at /usr/bin/jetson_clocks as an executable.

/sys/kernel/debug/tegra_fan/target_pwm changed to /sys/devices/pwm-fan/target-pwm

5 Likes

Thanks

Hey,

I recently run into the opposite problem. I’ve had my Jetson for roughly 3 months and I can never remember a time where the fan was running so hard that I noticed it. Now I just installed the ZED SDK for Jetson Xavier and now the fan is running really hard, even when there is no load on the system. I did select the maximum performance mode during the installer so I’m doing some research into that. I checked my nvpmodel which was still on mode 2.

Is there any risk for having the fan on maximum speed all the time?

Is there any way to reduce the speed of the fan when I’m doing low intensity tasks on the Jetson such as development?

Thanks

ben.kawecki,

Are you using our devkit or you own custom carrier board?

This is the dev kit. Typically after I boot up the Jetson and log into my account in starts within a couple seconds.

Thanks,
Ben

Ben,

Got it.

You could just read the jetson_clock.sh to know how to control the pwm of fan. It should control the fan speed by changing the value from 255 to lower one.

Gotcha,

I understand how to change the fan speed as necessary. I’m more wondering if there is any danger in having the fan constantly at 100%.

You could check the temperature. Please refer to L4T document to understand how to read the thermal zone.

is there a way to re-enable the DVFS governor or set its parameters?

Hi gaylord, the easiest way is to run “sudo jetson_clocks --store” (which saves the current configuration to file) before disabling DVFS with “sudo jetson_clocks”. Then when you want to re-enable DVFS, run “sudo jetson_clocks --restore” to re-active the configuration that was saved to the file.

# save the current configuration
$ sudo jetson_clocks --store

# disable DVFS / lock the clocks
$ sudo jetson_clocks

# re-enable DVFS / restore saved configuration
$ sudo jetson_clocks --restore
1 Like

thank you. now i already changed fan speed by writing into /sys/kernel/debug/tegra_fan/target_pwm

Is there any way i can get the governor back on to regulate fan speed after that?

Or will it automatically kick in when it registers overheating?