Fan Control and Monitoring on Nvidia Jetson Orin Nano Custom Board
Issue Overview
Users of the Nvidia Jetson Orin Nano custom board are seeking methods to control and monitor the fan status, including connectivity, operation, PWM/RPM, and frequency. The discussion revolves around accessing and manipulating fan-related information using command-line interfaces on a custom board running Jetpack 5.1.1.
Possible Causes
-
Limited Documentation: The specific methods for fan control and monitoring on custom Jetson Orin Nano boards may not be well-documented, leading to user confusion.
-
Hardware Differences: Custom boards may have different fan control implementations compared to the standard devkit, causing inconsistencies in access methods.
-
Software Version Specifics: The Jetpack 5.1.1 version may have particular requirements or limitations for fan control that users are unaware of.
-
File System Structure: The location and permissions of fan control files in the system may not be immediately apparent to users.
Troubleshooting Steps, Solutions & Fixes
Identifying Fan-Related Hardware Monitors
To begin troubleshooting, identify the hardware monitors related to the fan:
ls -l /sys/class/hwmon/
This command reveals several hardware monitors, with hwmon0
likely corresponding to the tachometer and hwmon2
to the PWM fan control.
Monitoring Fan RPM
To check the current fan speed in RPM:
cat /sys/class/hwmon/hwmon0/rpm
This command reads the revolutions per minute of the fan.
Controlling Fan Speed
-
Check current PWM value:
cat /sys/class/hwmon/hwmon2/pwm1
-
Set fan to full speed (requires root privileges):
sudo su echo 255 > /sys/class/hwmon/hwmon2/pwm1
The PWM value ranges from 0 to 255, with 255 being the maximum speed.
Alternative Fan Control Method
Some users have reported success with the following method:
sudo su
cd /sys/class/pwm/pwmchip0
echo 0 > export
cd pwm0
echo 200 > period
echo 100 > /sys/devices/platform/pwm-fan/hwmon/hwmon2/pwm1
To verify the changes:
cat /sys/devices/platform/pwm-fan/hwmon/hwmon2/pwm1
cat /sys/devices/platform/39c0000.tachometer/hwmon/hwmon0/rpm
Understanding PWM Values
- PWM: The value (0-255) is a byte representing the duty cycle.
- RPM: Represents actual revolutions per minute.
- Period: Measured in nanoseconds.
Configuring Specific PWM Frequencies
To set a specific PWM frequency and duty cycle:
- Calculate the period and duty cycle in nanoseconds.
- Example for 20Hz with 50% duty cycle:
echo 50000000 > period # 50M ns = 0.05s = 20Hz echo 25000000 > duty_cycle # 50% of 50M ns
This configuration results in a 20Hz PWM signal with a 50% duty cycle.
Best Practices
- Always use
sudo
or switch to root when modifying fan control files. - Be cautious when setting fan speeds, as inadequate cooling can lead to system instability or damage.
- Monitor system temperatures when adjusting fan speeds to ensure proper cooling.
- Create scripts for common fan control operations to simplify management.
- Refer to the official Nvidia Jetson documentation for any updates or changes in fan control methods for your specific Jetpack version.