loud fan noise after upgrading to software 9.0

Hi,

I just upgraded the drive Xavier devkit from software 8.0 to 9.0. previously with 8.0, the fan is loud with cold boot/restart, and it becomes and remains quite after system is fully booted. now with 9.0, the fan is loud, then quiet(fully booted) and then loud again (abut 10 seconds later after booted). I did not run any other program and I checked cpu usage, both Xavier A and B were basically idle. any idea what is going on?

Hi jerryc_sf,

Thanks for reporting this issue, we’re investigating now.
Once any update, we will share with you.

Thanks

Thank kayccc. Waiting for the solution.

After booted:

nvidia@tegra-ubuntu:~$ ps -ef|grep fanctrl
root      1393     1  0 15:14 ?        00:00:00 /bin/bash /etc/systemd/scripts/nv_fanctrl.sh
root      1406  1393  0 15:14 ?        00:00:00 sudo /usr/bin/fanctrl -A -F8 -f4 -s -r -d -m
root      1418  1406  0 15:14 ?        00:00:00 /usr/bin/fanctrl -A -F8 -f4 -s -r -d -m
nvidia    2515  1897  0 15:15 pts/1    00:00:00 grep --color=auto fanctrl
After running for a while, fanctrl process dies:

nvidia@tegra-ubuntu:~$ systemctl status nv_fanctrl
● nv_fanctrl.service - Fan control daemon
   Loaded: loaded (/lib/systemd/system/nv_fanctrl.service; enabled; vendor preset: enabled)
   Active: inactive (dead) since Tue 2019-06-11 12:58:25 PDT; 1h 25min ago
 Main PID: 1353 (code=exited, status=0/SUCCESS)

Jul 04 00:38:29 tegra-ubuntu systemd[1]: Started Fan control daemon.
Jul 04 00:38:29 tegra-ubuntu bash[1353]: Starting fan control daemon APP...
Jul 04 00:38:29 tegra-ubuntu sudo[1367]:     root : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/usr/bin/fanc
Jul 04 00:38:29 tegra-ubuntu sudo[1367]: pam_unix(sudo:session): session opened for user root by (uid=0)
Jun 11 12:58:25 tegra-ubuntu bash[1353]: FANCTRL: FANCTRL_LOG: push: fan_pwm_set_duty failed
Jun 11 12:58:25 tegra-ubuntu sudo[1367]: pam_unix(sudo:session): session closed for user root
Detailed log by running fanctrl with verbose log (after previous fanctrl process dies):

nvidia@tegra-ubuntu:~$ sudo /usr/bin/fanctrl -A -F8 -f4 -s -r -d -m -v 3
FANCTRL: FANCTRL_LOG: pwm no: 8
FANCTRL: FANCTRL_LOG: sysfs_path = /sys/devices/32f0000.pwm/pwm
FANCTRL: FANCTRL_LOG: find . sub directory
FANCTRL: FANCTRL_LOG: find .. sub directory
FANCTRL: FANCTRL_LOG: find pwmchip2 sub directory
FANCTRL: FANCTRL_LOG: sysfs_set_pwm_with_pwm_no: sysfs_path = /sys/class/pwm/pwmchip2/export
FANCTRL: FANCTRL_LOG: error or already exported
FANCTRL: FANCTRL_LOG: sysfs_set_pwm_with_pwm_no: sysfs_path = /sys/class/pwm/pwmchip2/pwm0/period
FANCTRL: FANCTRL_LOG: sysfs_set_pwm_with_pwm_no: sysfs_path = /sys/class/pwm/pwmchip2/pwm0/duty_cycle
FANCTRL: FANCTRL_LOG: sysfs_set_pwm_with_pwm_no: sysfs_path = /sys/class/pwm/pwmchip2/pwm0/enable
FANCTRL: FANCTRL_LOG: pwm no: 4
FANCTRL: FANCTRL_LOG: sysfs_path = /sys/devices/c340000.pwm/pwm
FANCTRL: FANCTRL_LOG: find . sub directory
FANCTRL: FANCTRL_LOG: find .. sub directory
FANCTRL: FANCTRL_LOG: find pwmchip0 sub directory
FANCTRL: FANCTRL_LOG: sysfs_set_pwm_with_pwm_no: sysfs_path = /sys/class/pwm/pwmchip0/export
FANCTRL: FANCTRL_LOG: error or already exported
FANCTRL: FANCTRL_LOG: sysfs_set_pwm_with_pwm_no: sysfs_path = /sys/class/pwm/pwmchip0/pwm0/period
FANCTRL: FANCTRL_LOG: sysfs_set_pwm_with_pwm_no: sysfs_path = /sys/class/pwm/pwmchip0/pwm0/duty_cycle
FANCTRL: FANCTRL_LOG: sysfs_set_pwm_with_pwm_no: sysfs_path = /sys/class/pwm/pwmchip0/pwm0/enable
FANCTRL: FANCTRL_LOG: AURIX_IP_ADDRESS is 10.42.0.146
FANCTRL: FANCTRL_LOG: TEGRA_A_IP_ADDRESS is 10.42.0.28
FANCTRL: FANCTRL_LOG: TEGRA_B_IP_ADDRESS is 10.42.0.29
FANCTRL: FANCTRL_LOG: TEGRA_CVM_IP_ADDRESS is 10.42.0.30
FANCTRL: FANCTRL_LOG: TEGRA_IP_ADDRESS is 10.42.0.28
FANCTRL: FANCTRL_LOG: ==== loop start
FANCTRL: FANCTRL_LOG: local SOC == 45000
FANCTRL: FANCTRL_LOG: GPU list:
FANCTRL: FANCTRL_LOG: gpu-index   probe name
FANCTRL: FANCTRL_LOG: ======================================
FANCTRL: FANCTRL_LOG:      2000   nvgpu:/dev/nvhost-gpu
FANCTRL: FANCTRL_LOG: no dGPU found in pci interface.
FANCTRL: FANCTRL_LOG: Can't get dGpu temperature.
FANCTRL: FANCTRL_LOG: Set dGpu temp 0 to exclude dGpu temp from calcuation
FANCTRL: FANCTRL_LOG: dGPU temp == 0
FANCTRL: FANCTRL_LOG: == push fan start
FANCTRL: FANCTRL_LOG: local SOC: push_rpm == 1500
FANCTRL: FANCTRL_LOG: Temp client: temp == 0
FANCTRL: FANCTRL_LOG: Temp client: push Fan RPM == 1500
FANCTRL: FANCTRL_LOG: Max(current, Temp client): push RPM == 1500
FANCTRL: FANCTRL_LOG: Max(current, dGpu): push RPM == 1500
FANCTRL: FANCTRL_LOG: Remote SOC: temp == 0
FANCTRL: FANCTRL_LOG: Remote SOC: push Fan RPM == 0
FANCTRL: FANCTRL_LOG: Target: push Fan RPM == 1500
FANCTRL: FANCTRL_LOG: Target: push Fan pwm Duty == 48
FANCTRL: FANCTRL_LOG: sysfs_set_pwm_with_pwm_no: sysfs_path = /sys/class/pwm/pwmchip2/pwm0/duty_cycle
FANCTRL: FANCTRL_LOG: Push RPM error: Target RPM[1500] -Measured RPM[0] = 1500
FANCTRL: FANCTRL_LOG: push_rpm_error_conditioned: 1425.000000
FANCTRL: FANCTRL_LOG: Absolute value of RPM error filtered == 1425
FANCTRL: FANCTRL_LOG: push_fan_rpm_fault_threshold == 530
FANCTRL: FANCTRL_LOG: Push fan RPM error
FANCTRL: FANCTRL_LOG: == push fan end
FANCTRL: FANCTRL_LOG: == pull fan start
FANCTRL: FANCTRL_LOG: local SOC: pull_rpm == 1600
FANCTRL: FANCTRL_LOG: Temp client: temp == 0
FANCTRL: FANCTRL_LOG: Temp client: Pull RPM == 1600
FANCTRL: FANCTRL_LOG: Max(local SOC, Temp client): pull RPM == 1600
FANCTRL: FANCTRL_LOG: Max(current, dGpu): push RPM == 1600
FANCTRL: FANCTRL_LOG: Remote SOC: temp == 0
FANCTRL: FANCTRL_LOG: Remote SOC: pull RPM == 0
FANCTRL: FANCTRL_LOG: Target: pull Fan RPM == 1600
FANCTRL: FANCTRL_LOG: Target: pull Fan pwm Duty == 45
FANCTRL: FANCTRL_LOG: sysfs_set_pwm_with_pwm_no: sysfs_path = /sys/class/pwm/pwmchip0/pwm0/duty_cycle
FANCTRL: FANCTRL_LOG: pull RPM error: Target RPM[1600] -Measured RPM[0] = 1600
FANCTRL: FANCTRL_LOG: pull_rpm_error_conditioned: 1520.000000
FANCTRL: FANCTRL_LOG: Absolute value of RPM error filtered == 1520
FANCTRL: FANCTRL_LOG: pull_fan_rpm_fault_threshold == 560
FANCTRL: FANCTRL_LOG: Pull fan RPM error
FANCTRL: FANCTRL_LOG: == pull fan end
FANCTRL: FANCTRL_LOG: sendto remote: temp=45000, push_rpm=1500, pull_rpm=1600
FANCTRL: FANCTRL_LOG: ==== loop end
FANCTRL: FANCTRL_LOG: fanctrl_receive_work: IP from=10.42.0.146
FANCTRL: FANCTRL_LOG: fanctrl_receive_work: portNo from=62100
FANCTRL: FANCTRL_LOG: measured_push_rpm: 2508
FANCTRL: FANCTRL_LOG: measured_pull_rpm: 2713
FANCTRL: FANCTRL_LOG: ==== loop start
FANCTRL: FANCTRL_LOG: local SOC == 45000
FANCTRL: FANCTRL_LOG: GPU list:
FANCTRL: FANCTRL_LOG: gpu-index   probe name
FANCTRL: FANCTRL_LOG: ======================================
FANCTRL: FANCTRL_LOG:      2000   nvgpu:/dev/nvhost-gpu
FANCTRL: FANCTRL_LOG: no dGPU found in pci interface.
FANCTRL: FANCTRL_LOG: Can't get dGpu temperature.
FANCTRL: FANCTRL_LOG: Set dGpu temp 0 to exclude dGpu temp from calcuation
FANCTRL: FANCTRL_LOG: dGPU temp == 0
FANCTRL: FANCTRL_LOG: == push fan start
FANCTRL: FANCTRL_LOG: local SOC: push_rpm == 1500
FANCTRL: FANCTRL_LOG: Temp client: temp == 0
FANCTRL: FANCTRL_LOG: Temp client: push Fan RPM == 1500
FANCTRL: FANCTRL_LOG: Max(current, Temp client): push RPM == 1500
FANCTRL: FANCTRL_LOG: Max(current, dGpu): push RPM == 1500
FANCTRL: FANCTRL_LOG: Remote SOC: temp == 0
FANCTRL: FANCTRL_LOG: Remote SOC: push Fan RPM == 0
FANCTRL: FANCTRL_LOG: Target: push Fan RPM == 1500
FANCTRL: FANCTRL_LOG: Target: push Fan pwm Duty == 48
FANCTRL: FANCTRL_LOG: sysfs_set_pwm_with_pwm_no: sysfs_path = /sys/class/pwm/pwmchip2/pwm0/duty_cycle
FANCTRL: FANCTRL_LOG: Push RPM error: Target RPM[1500] -Measured RPM[2508] = -1008
FANCTRL: FANCTRL_LOG: push_rpm_error_conditioned: -886.350000
FANCTRL: FANCTRL_LOG: Absolute value of RPM error filtered == 886
FANCTRL: FANCTRL_LOG: push_fan_rpm_fault_threshold == 530
FANCTRL: FANCTRL_LOG: Push fan RPM error
FANCTRL: FANCTRL_LOG: == push fan end
FANCTRL: FANCTRL_LOG: == pull fan start
FANCTRL: FANCTRL_LOG: local SOC: pull_rpm == 1600
FANCTRL: FANCTRL_LOG: Temp client: temp == 0
FANCTRL: FANCTRL_LOG: Temp client: Pull RPM == 1600
FANCTRL: FANCTRL_LOG: Max(local SOC, Temp client): pull RPM == 1600
FANCTRL: FANCTRL_LOG: Max(current, dGpu): push RPM == 1600
FANCTRL: FANCTRL_LOG: Remote SOC: temp == 0
FANCTRL: FANCTRL_LOG: Remote SOC: pull RPM == 0
FANCTRL: FANCTRL_LOG: Target: pull Fan RPM == 1600
FANCTRL: FANCTRL_LOG: Target: pull Fan pwm Duty == 45
FANCTRL: FANCTRL_LOG: sysfs_set_pwm_with_pwm_no: sysfs_path = /sys/class/pwm/pwmchip0/pwm0/duty_cycle
FANCTRL: FANCTRL_LOG: pull RPM error: Target RPM[1600] -Measured RPM[2713] = -1113
FANCTRL: FANCTRL_LOG: pull_rpm_error_conditioned: -981.350000
FANCTRL: FANCTRL_LOG: Absolute value of RPM error filtered == 981
FANCTRL: FANCTRL_LOG: pull_fan_rpm_fault_threshold == 560
FANCTRL: FANCTRL_LOG: Pull fan RPM error
FANCTRL: FANCTRL_LOG: == pull fan end
FANCTRL: FANCTRL_LOG: sendto remote: temp=45000, push_rpm=1500, pull_rpm=1600
FANCTRL: FANCTRL_LOG: ==== loop end
FANCTRL: FANCTRL_LOG: fanctrl_receive_work: IP from=10.42.0.146
FANCTRL: FANCTRL_LOG: fanctrl_receive_work: portNo from=62100
FANCTRL: FANCTRL_LOG: measured_push_rpm: 1689
FANCTRL: FANCTRL_LOG: measured_pull_rpm: 1757
FANCTRL: FANCTRL_LOG: ==== loop start
FANCTRL: FANCTRL_LOG: local SOC == 45000
FANCTRL: FANCTRL_LOG: GPU list:
FANCTRL: FANCTRL_LOG: gpu-index   probe name
FANCTRL: FANCTRL_LOG: ======================================
FANCTRL: FANCTRL_LOG:      2000   nvgpu:/dev/nvhost-gpu
FANCTRL: FANCTRL_LOG: no dGPU found in pci interface.
FANCTRL: FANCTRL_LOG: Can't get dGpu temperature.
FANCTRL: FANCTRL_LOG: Set dGpu temp 0 to exclude dGpu temp from calcuation
FANCTRL: FANCTRL_LOG: dGPU temp == 0
FANCTRL: FANCTRL_LOG: == push fan start
FANCTRL: FANCTRL_LOG: local SOC: push_rpm == 1500
FANCTRL: FANCTRL_LOG: Temp client: temp == 0
FANCTRL: FANCTRL_LOG: Temp client: push Fan RPM == 1500
FANCTRL: FANCTRL_LOG: Max(current, Temp client): push RPM == 1500
FANCTRL: FANCTRL_LOG: Max(current, dGpu): push RPM == 1500
FANCTRL: FANCTRL_LOG: Remote SOC: temp == 0
FANCTRL: FANCTRL_LOG: Remote SOC: push Fan RPM == 0
FANCTRL: FANCTRL_LOG: Target: push Fan RPM == 1500
FANCTRL: FANCTRL_LOG: Target: push Fan pwm Duty == 48
FANCTRL: FANCTRL_LOG: sysfs_set_pwm_with_pwm_no: sysfs_path = /sys/class/pwm/pwmchip2/pwm0/duty_cycle
FANCTRL: FANCTRL_LOG: Push RPM error: Target RPM[1500] -Measured RPM[1689] = -189
FANCTRL: FANCTRL_LOG: push_rpm_error_conditioned: -223.867500
FANCTRL: FANCTRL_LOG: Absolute value of RPM error filtered == 224
FANCTRL: FANCTRL_LOG: push_fan_rpm_fault_threshold == 530
FANCTRL: FANCTRL_LOG: == push fan end
FANCTRL: FANCTRL_LOG: == pull fan start
FANCTRL: FANCTRL_LOG: local SOC: pull_rpm == 1600
FANCTRL: FANCTRL_LOG: Temp client: temp == 0
FANCTRL: FANCTRL_LOG: Temp client: Pull RPM == 1600
FANCTRL: FANCTRL_LOG: Max(local SOC, Temp client): pull RPM == 1600
FANCTRL: FANCTRL_LOG: Max(current, dGpu): push RPM == 1600
FANCTRL: FANCTRL_LOG: Remote SOC: temp == 0
FANCTRL: FANCTRL_LOG: Remote SOC: pull RPM == 0
FANCTRL: FANCTRL_LOG: Target: pull Fan RPM == 1600
FANCTRL: FANCTRL_LOG: Target: pull Fan pwm Duty == 45
FANCTRL: FANCTRL_LOG: sysfs_set_pwm_with_pwm_no: sysfs_path = /sys/class/pwm/pwmchip0/pwm0/duty_cycle
FANCTRL: FANCTRL_LOG: pull RPM error: Target RPM[1600] -Measured RPM[1757] = -157
FANCTRL: FANCTRL_LOG: pull_rpm_error_conditioned: -198.217500
FANCTRL: FANCTRL_LOG: Absolute value of RPM error filtered == 198
FANCTRL: FANCTRL_LOG: pull_fan_rpm_fault_threshold == 560
FANCTRL: FANCTRL_LOG: == pull fan end
FANCTRL: FANCTRL_LOG: sendto remote: temp=45000, push_rpm=1500, pull_rpm=1600
FANCTRL: FANCTRL_LOG: ==== loop end
FANCTRL: FANCTRL_LOG: poll_receive_with_timeout err!
FANCTRL: FANCTRL_LOG: fanctrl_receive_work: IP from=10.42.0.146
FANCTRL: FANCTRL_LOG: fanctrl_receive_work: portNo from=62100
FANCTRL: FANCTRL_LOG: measured_push_rpm: 1684
FANCTRL: FANCTRL_LOG: measured_pull_rpm: 1754
FANCTRL: FANCTRL_LOG: poll_receive_with_timeout err!
FANCTRL: FANCTRL_LOG: ==== loop start
FANCTRL: FANCTRL_LOG: local SOC == 45000
FANCTRL: FANCTRL_LOG: GPU list:
FANCTRL: FANCTRL_LOG: gpu-index   probe name
FANCTRL: FANCTRL_LOG: ======================================
FANCTRL: FANCTRL_LOG:      2000   nvgpu:/dev/nvhost-gpu
FANCTRL: FANCTRL_LOG: no dGPU found in pci interface.
FANCTRL: FANCTRL_LOG: Can't get dGpu temperature.
FANCTRL: FANCTRL_LOG: Set dGpu temp 0 to exclude dGpu temp from calcuation
FANCTRL: FANCTRL_LOG: dGPU temp == 0
FANCTRL: FANCTRL_LOG: == push fan start
FANCTRL: FANCTRL_LOG: local SOC: push_rpm == 1500
FANCTRL: FANCTRL_LOG: Temp client: temp == 0
FANCTRL: FANCTRL_LOG: Temp client: push Fan RPM == 1500
FANCTRL: FANCTRL_LOG: Max(current, Temp client): push RPM == 1500
FANCTRL: FANCTRL_LOG: Max(current, dGpu): push RPM == 1500
FANCTRL: FANCTRL_LOG: Remote SOC: temp == 0
FANCTRL: FANCTRL_LOG: Remote SOC: push Fan RPM == 0
FANCTRL: FANCTRL_LOG: Target: push Fan RPM == 1500
FANCTRL: FANCTRL_LOG: Target: push Fan pwm Duty == 48
FANCTRL: FANCTRL_LOG: sysfs_set_pwm_with_pwm_no: sysfs_path = /sys/class/pwm/pwmchip2/pwm0/duty_cycle
FANCTRL: FANCTRL_LOG: Push RPM error: Target RPM[1500] -Measured RPM[1684] = -184
FANCTRL: FANCTRL_LOG: push_rpm_error_conditioned: -185.993375
FANCTRL: FANCTRL_LOG: Absolute value of RPM error filtered == 186
FANCTRL: FANCTRL_LOG: push_fan_rpm_fault_threshold == 530
FANCTRL: FANCTRL_LOG: == push fan end
FANCTRL: FANCTRL_LOG: == pull fan start
FANCTRL: FANCTRL_LOG: local SOC: pull_rpm == 1600
FANCTRL: FANCTRL_LOG: Temp client: temp == 0
FANCTRL: FANCTRL_LOG: Temp client: Pull RPM == 1600
FANCTRL: FANCTRL_LOG: Max(local SOC, Temp client): pull RPM == 1600
FANCTRL: FANCTRL_LOG: Max(current, dGpu): push RPM == 1600
FANCTRL: FANCTRL_LOG: Remote SOC: temp == 0
FANCTRL: FANCTRL_LOG: Remote SOC: pull RPM == 0
FANCTRL: FANCTRL_LOG: Target: pull Fan RPM == 1600
FANCTRL: FANCTRL_LOG: Target: pull Fan pwm Duty == 45
FANCTRL: FANCTRL_LOG: sysfs_set_pwm_with_pwm_no: sysfs_path = /sys/class/pwm/pwmchip0/pwm0/duty_cycle
FANCTRL: FANCTRL_LOG: pull RPM error: Target RPM[1600] -Measured RPM[1754] = -154
FANCTRL: FANCTRL_LOG: pull_rpm_error_conditioned: -156.210875
FANCTRL: FANCTRL_LOG: Absolute value of RPM error filtered == 156
FANCTRL: FANCTRL_LOG: pull_fan_rpm_fault_threshold == 560
FANCTRL: FANCTRL_LOG: == pull fan end
FANCTRL: FANCTRL_LOG: sendto remote: temp=45000, push_rpm=1500, pull_rpm=1600
FANCTRL: FANCTRL_LOG: ==== loop end
FANCTRL: FANCTRL_LOG: fanctrl_receive_work: IP from=10.42.0.146
FANCTRL: FANCTRL_LOG: fanctrl_receive_work: portNo from=62100
FANCTRL: FANCTRL_LOG: measured_push_rpm: 1667
FANCTRL: FANCTRL_LOG: measured_pull_rpm: 1756
FANCTRL: FANCTRL_LOG: ==== loop start
FANCTRL: FANCTRL_LOG: local SOC == 45000
FANCTRL: FANCTRL_LOG: GPU list:
FANCTRL: FANCTRL_LOG: gpu-index   probe name
FANCTRL: FANCTRL_LOG: ======================================
FANCTRL: FANCTRL_LOG:      2000   nvgpu:/dev/nvhost-gpu
FANCTRL: FANCTRL_LOG: no dGPU found in pci interface.
FANCTRL: FANCTRL_LOG: Can't get dGpu temperature.
FANCTRL: FANCTRL_LOG: Set dGpu temp 0 to exclude dGpu temp from calcuation
FANCTRL: FANCTRL_LOG: dGPU temp == 0
FANCTRL: FANCTRL_LOG: == push fan start
FANCTRL: FANCTRL_LOG: local SOC: push_rpm == 1500
FANCTRL: FANCTRL_LOG: Temp client: temp == 0
FANCTRL: FANCTRL_LOG: Temp client: push Fan RPM == 1500
FANCTRL: FANCTRL_LOG: Max(current, Temp client): push RPM == 1500
FANCTRL: FANCTRL_LOG: Max(current, dGpu): push RPM == 1500
FANCTRL: FANCTRL_LOG: Remote SOC: temp == 0
FANCTRL: FANCTRL_LOG: Remote SOC: push Fan RPM == 0
FANCTRL: FANCTRL_LOG: Target: push Fan RPM == 1500
FANCTRL: FANCTRL_LOG: Target: push Fan pwm Duty == 48
FANCTRL: FANCTRL_LOG: sysfs_set_pwm_with_pwm_no: sysfs_path = /sys/class/pwm/pwmchip2/pwm0/duty_cycle
FANCTRL: FANCTRL_LOG: Push RPM error: Target RPM[1500] -Measured RPM[1667] = -167
FANCTRL: FANCTRL_LOG: push_rpm_error_conditioned: -167.949669
FANCTRL: FANCTRL_LOG: Absolute value of RPM error filtered == 168
FANCTRL: FANCTRL_LOG: push_fan_rpm_fault_threshold == 530
FANCTRL: FANCTRL_LOG: == push fan end
FANCTRL: FANCTRL_LOG: == pull fan start
FANCTRL: FANCTRL_LOG: local SOC: pull_rpm == 1600
FANCTRL: FANCTRL_LOG: Temp client: temp == 0
FANCTRL: FANCTRL_LOG: Temp client: Pull RPM == 1600
FANCTRL: FANCTRL_LOG: Max(local SOC, Temp client): pull RPM == 1600
FANCTRL: FANCTRL_LOG: Max(current, dGpu): push RPM == 1600
FANCTRL: FANCTRL_LOG: Remote SOC: temp == 0
FANCTRL: FANCTRL_LOG: Remote SOC: pull RPM == 0
FANCTRL: FANCTRL_LOG: Target: pull Fan RPM == 1600
FANCTRL: FANCTRL_LOG: Target: pull Fan pwm Duty == 45
FANCTRL: FANCTRL_LOG: sysfs_set_pwm_with_pwm_no: sysfs_path = /sys/class/pwm/pwmchip0/pwm0/duty_cycle
FANCTRL: FANCTRL_LOG: pull RPM error: Target RPM[1600] -Measured RPM[1756] = -156
FANCTRL: FANCTRL_LOG: pull_rpm_error_conditioned: -156.010544
FANCTRL: FANCTRL_LOG: Absolute value of RPM error filtered == 156
FANCTRL: FANCTRL_LOG: pull_fan_rpm_fault_threshold == 560
FANCTRL: FANCTRL_LOG: == pull fan end
FANCTRL: FANCTRL_LOG: sendto remote: temp=45000, push_rpm=1500, pull_rpm=1600
FANCTRL: FANCTRL_LOG: ==== loop end
FANCTRL: FANCTRL_LOG: fanctrl_receive_work: IP from=10.42.0.146
FANCTRL: FANCTRL_LOG: fanctrl_receive_work: portNo from=62100
FANCTRL: FANCTRL_LOG: measured_push_rpm: 1657
FANCTRL: FANCTRL_LOG: measured_pull_rpm: 1754
FANCTRL: FANCTRL_LOG: poll_receive_with_timeout err!
FANCTRL: FANCTRL_LOG: poll_receive_with_timeout err!
FANCTRL: FANCTRL_LOG: ==== loop start
FANCTRL: FANCTRL_LOG: local SOC == 45000
FANCTRL: FANCTRL_LOG: GPU list:
FANCTRL: FANCTRL_LOG: gpu-index   probe name
FANCTRL: FANCTRL_LOG: ======================================
FANCTRL: FANCTRL_LOG:      2000   nvgpu:/dev/nvhost-gpu
FANCTRL: FANCTRL_LOG: no dGPU found in pci interface.
FANCTRL: FANCTRL_LOG: Can't get dGpu temperature.
FANCTRL: FANCTRL_LOG: Set dGpu temp 0 to exclude dGpu temp from calcuation
FANCTRL: FANCTRL_LOG: dGPU temp == 0
FANCTRL: FANCTRL_LOG: == push fan start
FANCTRL: FANCTRL_LOG: local SOC: push_rpm == 1500
FANCTRL: FANCTRL_LOG: Temp client: temp == 0
FANCTRL: FANCTRL_LOG: Temp client: push Fan RPM == 1500
FANCTRL: FANCTRL_LOG: Max(current, Temp client): push RPM == 1500
FANCTRL: FANCTRL_LOG: Max(current, dGpu): push RPM == 1500
FANCTRL: FANCTRL_LOG: Remote SOC: temp == 0
FANCTRL: FANCTRL_LOG: Remote SOC: push Fan RPM == 0
FANCTRL: FANCTRL_LOG: Target: push Fan RPM == 1500
FANCTRL: FANCTRL_LOG: Target: push Fan pwm Duty == 48
FANCTRL: FANCTRL_LOG: sysfs_set_pwm_with_pwm_no: sysfs_path = /sys/class/pwm/pwmchip2/pwm0/duty_cycle
FANCTRL: FANCTRL_LOG: fanctrl_receive_work: IP from=10.42.0.146
FANCTRL: FANCTRL_LOG: fanctrl_receive_work: portNo from=62100
FANCTRL: FANCTRL_LOG: measured_push_rpm: 1675
FANCTRL: FANCTRL_LOG: measured_pull_rpm: 1754
FANCTRL: FANCTRL_LOG: Push RPM error: Target RPM[1500] -Measured RPM[1675] = -175
FANCTRL: FANCTRL_LOG: push_rpm_error_conditioned: -174.647483
FANCTRL: FANCTRL_LOG: Absolute value of RPM error filtered == 175
FANCTRL: FANCTRL_LOG: push_fan_rpm_fault_threshold == 530
FANCTRL: FANCTRL_LOG: == push fan end
FANCTRL: FANCTRL_LOG: == pull fan start
FANCTRL: FANCTRL_LOG: local SOC: pull_rpm == 1600
FANCTRL: FANCTRL_LOG: Temp client: temp == 0
FANCTRL: FANCTRL_LOG: Temp client: Pull RPM == 1600
FANCTRL: FANCTRL_LOG: Max(local SOC, Temp client): pull RPM == 1600
FANCTRL: FANCTRL_LOG: Max(current, dGpu): push RPM == 1600
FANCTRL: FANCTRL_LOG: Remote SOC: temp == 0
FANCTRL: FANCTRL_LOG: Remote SOC: pull RPM == 0
FANCTRL: FANCTRL_LOG: Target: pull Fan RPM == 1600
FANCTRL: FANCTRL_LOG: Target: pull Fan pwm Duty == 45
FANCTRL: FANCTRL_LOG: sysfs_set_pwm_with_pwm_no: sysfs_path = /sys/class/pwm/pwmchip0/pwm0/duty_cycle
FANCTRL: FANCTRL_LOG: pull RPM error: Target RPM[1600] -Measured RPM[1754] = -154
FANCTRL: FANCTRL_LOG: pull_rpm_error_conditioned: -154.100527
FANCTRL: FANCTRL_LOG: Absolute value of RPM error filtered == 154
FANCTRL: FANCTRL_LOG: pull_fan_rpm_fault_threshold == 560
FANCTRL: FANCTRL_LOG: == pull fan end
FANCTRL: FANCTRL_LOG: sendto remote: temp=45000, push_rpm=1500, pull_rpm=1600
FANCTRL: FANCTRL_LOG: ==== loop end
FANCTRL: FANCTRL_LOG: fanctrl_receive_work: IP from=10.42.0.146
FANCTRL: FANCTRL_LOG: fanctrl_receive_work: portNo from=62100
FANCTRL: FANCTRL_LOG: measured_push_rpm: 1669
FANCTRL: FANCTRL_LOG: measured_pull_rpm: 1763
FANCTRL: FANCTRL_LOG: ==== loop start
FANCTRL: FANCTRL_LOG: local SOC == 45000
FANCTRL: FANCTRL_LOG: GPU list:
FANCTRL: FANCTRL_LOG: gpu-index   probe name
FANCTRL: FANCTRL_LOG: ======================================
FANCTRL: FANCTRL_LOG:      2000   nvgpu:/dev/nvhost-gpu
FANCTRL: FANCTRL_LOG: no dGPU found in pci interface.
FANCTRL: FANCTRL_LOG: Can't get dGpu temperature.
FANCTRL: FANCTRL_LOG: Set dGpu temp 0 to exclude dGpu temp from calcuation
FANCTRL: FANCTRL_LOG: dGPU temp == 0
FANCTRL: FANCTRL_LOG: == push fan start
FANCTRL: FANCTRL_LOG: local SOC: push_rpm == 1500
FANCTRL: FANCTRL_LOG: Temp client: temp == 0
FANCTRL: FANCTRL_LOG: Temp client: push Fan RPM == 1500
FANCTRL: FANCTRL_LOG: Max(current, Temp client): push RPM == 1500
FANCTRL: FANCTRL_LOG: Max(current, dGpu): push RPM == 1500
FANCTRL: FANCTRL_LOG: Remote SOC: temp == 0
FANCTRL: FANCTRL_LOG: Remote SOC: push Fan RPM == 0
FANCTRL: FANCTRL_LOG: Target: push Fan RPM == 1500
FANCTRL: FANCTRL_LOG: Target: push Fan pwm Duty == 48
FANCTRL: FANCTRL_LOG: sysfs_set_pwm_with_pwm_no: sysfs_path = /sys/class/pwm/pwmchip2/pwm0/duty_cycle
FANCTRL: FANCTRL_LOG: Push RPM error: Target RPM[1500] -Measured RPM[1669] = -169
FANCTRL: FANCTRL_LOG: push_rpm_error_conditioned: -169.282374
FANCTRL: FANCTRL_LOG: Absolute value of RPM error filtered == 169
FANCTRL: FANCTRL_LOG: push_fan_rpm_fault_threshold == 530
FANCTRL: FANCTRL_LOG: == push fan end
FANCTRL: FANCTRL_LOG: == pull fan start
FANCTRL: FANCTRL_LOG: local SOC: pull_rpm == 1600
FANCTRL: FANCTRL_LOG: Temp client: temp == 0
FANCTRL: FANCTRL_LOG: Temp client: Pull RPM == 1600
FANCTRL: FANCTRL_LOG: Max(local SOC, Temp client): pull RPM == 1600
FANCTRL: FANCTRL_LOG: Max(current, dGpu): push RPM == 1600
FANCTRL: FANCTRL_LOG: Remote SOC: temp == 0
FANCTRL: FANCTRL_LOG: Remote SOC: pull RPM == 0
FANCTRL: FANCTRL_LOG: Target: pull Fan RPM == 1600
FANCTRL: FANCTRL_LOG: Target: pull Fan pwm Duty == 45
FANCTRL: FANCTRL_LOG: sysfs_set_pwm_with_pwm_no: sysfs_path = /sys/class/pwm/pwmchip0/pwm0/duty_cycle
FANCTRL: FANCTRL_LOG: pull RPM error: Target RPM[1600] -Measured RPM[1763] = -163
FANCTRL: FANCTRL_LOG: pull_rpm_error_conditioned: -162.555026
FANCTRL: FANCTRL_LOG: Absolute value of RPM error filtered == 163
FANCTRL: FANCTRL_LOG: pull_fan_rpm_fault_threshold == 560
FANCTRL: FANCTRL_LOG: == pull fan end
FANCTRL: FANCTRL_LOG: sendto remote: temp=45000, push_rpm=1500, pull_rpm=1600
FANCTRL: FANCTRL_LOG: ==== loop end
FANCTRL: FANCTRL_LOG: poll_receive_with_timeout err!
FANCTRL: FANCTRL_LOG: read remote rpm failed over 3 times
FANCTRL: FANCTRL_LOG: poll_receive_with_timeout err!
FANCTRL: FANCTRL_LOG: read temp client failed over 3 times
FANCTRL: FANCTRL_LOG: fanctrl_receive_work: IP from=10.42.0.146
FANCTRL: FANCTRL_LOG: fanctrl_receive_work: portNo from=62100
FANCTRL: FANCTRL_LOG: measured_push_rpm: 1669
FANCTRL: FANCTRL_LOG: measured_pull_rpm: 1765
FANCTRL: FANCTRL_LOG: ==== loop start
FANCTRL: FANCTRL_LOG: local SOC == 45000
FANCTRL: FANCTRL_LOG: GPU list:
FANCTRL: FANCTRL_LOG: gpu-index   probe name
FANCTRL: FANCTRL_LOG: ======================================
FANCTRL: FANCTRL_LOG:      2000   nvgpu:/dev/nvhost-gpu
FANCTRL: FANCTRL_LOG: no dGPU found in pci interface.
FANCTRL: FANCTRL_LOG: Can't get dGpu temperature.
FANCTRL: FANCTRL_LOG: Set dGpu temp 0 to exclude dGpu temp from calcuation
FANCTRL: FANCTRL_LOG: dGPU temp == 0
FANCTRL: FANCTRL_LOG: == push fan start
FANCTRL: FANCTRL_LOG: local SOC: push_rpm == 1500
FANCTRL: FANCTRL_LOG: Temp client: temp == 100000
FANCTRL: FANCTRL_LOG: Temp client: push Fan RPM == 2650
FANCTRL: FANCTRL_LOG: Max(current, Temp client): push RPM == 2650
FANCTRL: FANCTRL_LOG: Max(current, dGpu): push RPM == 2650
FANCTRL: FANCTRL_LOG: Remote SOC: temp == 100000
FANCTRL: FANCTRL_LOG: Remote SOC: push Fan RPM == 2650
FANCTRL: FANCTRL_LOG: Target: push Fan RPM == 2650
FANCTRL: FANCTRL_LOG: Target: push Fan pwm Duty == 100
FANCTRL: FANCTRL_LOG: sysfs_set_pwm_with_pwm_no: sysfs_path = /sys/class/pwm/pwmchip2/pwm0/duty_cycle
FANCTRL: FANCTRL_LOG: Push RPM error: Target RPM[2650] -Measured RPM[1669] = 981
FANCTRL: FANCTRL_LOG: push_rpm_error_conditioned: 923.485881
FANCTRL: FANCTRL_LOG: Absolute value of RPM error filtered == 923
FANCTRL: FANCTRL_LOG: push_fan_rpm_fault_threshold == 530
FANCTRL: FANCTRL_LOG: Push fan RPM error
FANCTRL: FANCTRL_LOG: == push fan end
FANCTRL: FANCTRL_LOG: == pull fan start
FANCTRL: FANCTRL_LOG: local SOC: pull_rpm == 1600
FANCTRL: FANCTRL_LOG: Temp client: temp == 100000
FANCTRL: FANCTRL_LOG: Temp client: Pull RPM == 2800
FANCTRL: FANCTRL_LOG: Max(local SOC, Temp client): pull RPM == 2800
FANCTRL: FANCTRL_LOG: Max(current, dGpu): push RPM == 2800
FANCTRL: FANCTRL_LOG: Remote SOC: temp == 100000
FANCTRL: FANCTRL_LOG: Remote SOC: pull RPM == 2800
FANCTRL: FANCTRL_LOG: Target: pull Fan RPM == 2800
FANCTRL: FANCTRL_LOG: Target: pull Fan pwm Duty == 100
FANCTRL: FANCTRL_LOG: sysfs_set_pwm_with_pwm_no: sysfs_path = /sys/class/pwm/pwmchip0/pwm0/duty_cycle
FANCTRL: FANCTRL_LOG: pull RPM error: Target RPM[2800] -Measured RPM[1765] = 1035
FANCTRL: FANCTRL_LOG: pull_rpm_error_conditioned: 975.122249
FANCTRL: FANCTRL_LOG: Absolute value of RPM error filtered == 975
FANCTRL: FANCTRL_LOG: pull_fan_rpm_fault_threshold == 560
FANCTRL: FANCTRL_LOG: Pull fan RPM error
FANCTRL: FANCTRL_LOG: == pull fan end
FANCTRL: FANCTRL_LOG: sendto remote: temp=45000, push_rpm=2650, pull_rpm=2800
FANCTRL: FANCTRL_LOG: ==== loop end
^CFANCTRL: FANCTRL_LOG: SIGINT is detected

Dear jerryc_sf,

We support Drive AGX Pegasus(w/dGPU) from 5.1.0.2 and we assumed dGPU board is always exist in e3550 board as default.
If there is no dGPU board on e3550 board, please remove Temp Server option of fanctrl in nv_fanctrl.sh
nv_fanctrl.sh is exist under etc/systemd/scripts/ on target linux.

if [[ $TARGET_BOARD == “e3550_t194a” ]]; then

  •         temp_server=1
    
  •         temp_server=0
            remote_soc=1
    

Could you please help to check the topic with above option? Thanks.

thanks, it fixed the issue, the fans are quite now.

update:
while fan remains quiet now, I noticed that fanctrl process will eventually exit/die (regardless of the change you asked to make). please let us know if it is still an issue.

nvidia@tegra-ubuntu:~$ systemctl status nv_fanctrl.service 
● nv_fanctrl.service - Fan control daemon
   Loaded: loaded (/lib/systemd/system/nv_fanctrl.service; enabled; vendor preset: enabled)
   Active: inactive (dead) since Thu 2019-06-13 13:00:41 PDT; 1h 59min ago
 Main PID: 1274 (code=exited, status=0/SUCCESS)

Jul 04 00:38:31 tegra-ubuntu systemd[1]: Started Fan control daemon.
Jul 04 00:38:31 tegra-ubuntu bash[1274]: Starting fan control daemon APP...
Jul 04 00:38:31 tegra-ubuntu sudo[1304]:     root : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/usr/bin/fanctrl -B -F8 -f4 -r -d -m
Jul 04 00:38:31 tegra-ubuntu sudo[1304]: pam_unix(sudo:session): session opened for user root by (uid=0)
Jun 13 13:00:41 tegra-ubuntu bash[1274]: FANCTRL: FANCTRL_LOG: push: fan_pwm_set_duty failed
Jun 13 13:00:41 tegra-ubuntu sudo[1304]: pam_unix(sudo:session): session closed for user root

For me the fix slowed the fans down temporarily. They would ramp up again after a minute or few. The issue is similar to the starter of the thread: the reading of a sensor fails over 3 times.

nvidia@tegra-ubuntu:/etc/systemd/scripts$ sudo /usr/bin/fanctrl -A -F8 -f4 -s -r -d -v 3
usage: fanctrl [-v num] [-p num] [-A] [-B] [-V] [-F num] [-f num] [-K num] [-k num] [-r] [-o] [-s] [-l] [-m] [-d] [-h]
    Options:
        -v <num> : Set the verbose level.(0~3)
        -p <num> : Set period second of loop. Default is 5 sec. UDP receive timeout will be 2*period.
        -A       : Set as SOC A
        -B       : Set as SOC B
        -V       : Set as SOC CVM
        -F <num> : SOC has a Push FAN and set pwm number.(e.g. e3550-b00 pwm no is 2, e3550-b01 pwm no is 8)
        -f <num> : SOC has a Pull FAN and set pwm number.(e.g. e3550-b01 pwm no is 4)
        -K <num> : Set Push FAN pwm clock frequency. Default is 25000.
        -k <num> : Set Pull FAN pwm clock frequency. Default is 25000.
        -r       : Set as member of remote SOC
        -o       : Apply acoustic offset
        -s       : Set as temperature server SOC
        -l       : Set as temperature client SOC
        -m       : Set as rpm server to get measured RPM and report RPM fault
        -d       : Apply dGPU temperature and Fan curve
        -h       : Display this Help information
FANCTRL: FANCTRL_LOG: pwm no: 8
FANCTRL: FANCTRL_LOG: sysfs_path = /sys/devices/32f0000.pwm/pwm
FANCTRL: FANCTRL_LOG: find . sub directory
FANCTRL: FANCTRL_LOG: find .. sub directory
FANCTRL: FANCTRL_LOG: find pwmchip2 sub directory
FANCTRL: FANCTRL_LOG: sysfs_set_pwm_with_pwm_no: sysfs_path = /sys/class/pwm/pwmchip2/export
FANCTRL: FANCTRL_LOG: error or already exported
FANCTRL: FANCTRL_LOG: sysfs_set_pwm_with_pwm_no: sysfs_path = /sys/class/pwm/pwmchip2/pwm0/period
FANCTRL: FANCTRL_LOG: sysfs_set_pwm_with_pwm_no: sysfs_path = /sys/class/pwm/pwmchip2/pwm0/duty_cycle
FANCTRL: FANCTRL_LOG: sysfs_set_pwm_with_pwm_no: sysfs_path = /sys/class/pwm/pwmchip2/pwm0/enable
FANCTRL: FANCTRL_LOG: pwm no: 4
FANCTRL: FANCTRL_LOG: sysfs_path = /sys/devices/c340000.pwm/pwm
FANCTRL: FANCTRL_LOG: find . sub directory
FANCTRL: FANCTRL_LOG: find .. sub directory
FANCTRL: FANCTRL_LOG: find pwmchip0 sub directory
FANCTRL: FANCTRL_LOG: sysfs_set_pwm_with_pwm_no: sysfs_path = /sys/class/pwm/pwmchip0/export
FANCTRL: FANCTRL_LOG: error or already exported
FANCTRL: FANCTRL_LOG: sysfs_set_pwm_with_pwm_no: sysfs_path = /sys/class/pwm/pwmchip0/pwm0/period
FANCTRL: FANCTRL_LOG: sysfs_set_pwm_with_pwm_no: sysfs_path = /sys/class/pwm/pwmchip0/pwm0/duty_cycle
FANCTRL: FANCTRL_LOG: sysfs_set_pwm_with_pwm_no: sysfs_path = /sys/class/pwm/pwmchip0/pwm0/enable
FANCTRL: FANCTRL_LOG: AURIX_IP_ADDRESS is 10.42.0.146
FANCTRL: FANCTRL_LOG: TEGRA_A_IP_ADDRESS is 10.42.0.28
FANCTRL: FANCTRL_LOG: TEGRA_B_IP_ADDRESS is 10.42.0.29
FANCTRL: FANCTRL_LOG: TEGRA_CVM_IP_ADDRESS is 10.42.0.30
FANCTRL: FANCTRL_LOG: TEGRA_IP_ADDRESS is 10.42.0.28
FANCTRL: FANCTRL_LOG: ==== loop start
FANCTRL: FANCTRL_LOG: local SOC == 42000
FANCTRL: FANCTRL_LOG: GPU list:
FANCTRL: FANCTRL_LOG: gpu-index   probe name
FANCTRL: FANCTRL_LOG: ======================================
FANCTRL: FANCTRL_LOG:      2000   nvgpu:/dev/nvhost-gpu
FANCTRL: FANCTRL_LOG: no dGPU found in pci interface.
FANCTRL: FANCTRL_LOG: Can't get dGpu temperature.
FANCTRL: FANCTRL_LOG: Set dGpu temp 0 to exclude dGpu temp from calcuation
FANCTRL: FANCTRL_LOG: dGPU temp == 0
FANCTRL: FANCTRL_LOG: == push fan start
FANCTRL: FANCTRL_LOG: local SOC: push_rpm == 1500
FANCTRL: FANCTRL_LOG: Temp client: temp == 0
FANCTRL: FANCTRL_LOG: Temp client: push Fan RPM == 1500
FANCTRL: FANCTRL_LOG: Max(current, Temp client): push RPM == 1500
FANCTRL: FANCTRL_LOG: Max(current, dGpu): push RPM == 1500
FANCTRL: FANCTRL_LOG: Remote SOC: temp == 0
FANCTRL: FANCTRL_LOG: Remote SOC: push Fan RPM == 0
FANCTRL: FANCTRL_LOG: Target: push Fan RPM == 1500
FANCTRL: FANCTRL_LOG: Target: push Fan pwm Duty == 48
FANCTRL: FANCTRL_LOG: sysfs_set_pwm_with_pwm_no: sysfs_path = /sys/class/pwm/pwmchip2/pwm0/duty_cycle
FANCTRL: FANCTRL_LOG: == push fan end
FANCTRL: FANCTRL_LOG: == pull fan start
FANCTRL: FANCTRL_LOG: local SOC: pull_rpm == 1600
FANCTRL: FANCTRL_LOG: Temp client: temp == 0
FANCTRL: FANCTRL_LOG: Temp client: Pull RPM == 1600
FANCTRL: FANCTRL_LOG: Max(local SOC, Temp client): pull RPM == 1600
FANCTRL: FANCTRL_LOG: Max(current, dGpu): push RPM == 1600
FANCTRL: FANCTRL_LOG: Remote SOC: temp == 0
FANCTRL: FANCTRL_LOG: Remote SOC: pull RPM == 0
FANCTRL: FANCTRL_LOG: Target: pull Fan RPM == 1600
FANCTRL: FANCTRL_LOG: Target: pull Fan pwm Duty == 45
FANCTRL: FANCTRL_LOG: sysfs_set_pwm_with_pwm_no: sysfs_path = /sys/class/pwm/pwmchip0/pwm0/duty_cycle
FANCTRL: FANCTRL_LOG: == pull fan end
FANCTRL: FANCTRL_LOG: sendto remote: temp=42000, push_rpm=1500, pull_rpm=1600
FANCTRL: FANCTRL_LOG: ==== loop end
FANCTRL: FANCTRL_LOG: ==== loop start
FANCTRL: FANCTRL_LOG: local SOC == 43000
FANCTRL: FANCTRL_LOG: GPU list:
FANCTRL: FANCTRL_LOG: gpu-index   probe name
FANCTRL: FANCTRL_LOG: ======================================
FANCTRL: FANCTRL_LOG:      2000   nvgpu:/dev/nvhost-gpu
FANCTRL: FANCTRL_LOG: no dGPU found in pci interface.
FANCTRL: FANCTRL_LOG: Can't get dGpu temperature.
FANCTRL: FANCTRL_LOG: Set dGpu temp 0 to exclude dGpu temp from calcuation
FANCTRL: FANCTRL_LOG: dGPU temp == 0
FANCTRL: FANCTRL_LOG: == push fan start
FANCTRL: FANCTRL_LOG: local SOC: push_rpm == 1500
FANCTRL: FANCTRL_LOG: Temp client: temp == 0
FANCTRL: FANCTRL_LOG: Temp client: push Fan RPM == 1500
FANCTRL: FANCTRL_LOG: Max(current, Temp client): push RPM == 1500
FANCTRL: FANCTRL_LOG: Max(current, dGpu): push RPM == 1500
FANCTRL: FANCTRL_LOG: Remote SOC: temp == 0
FANCTRL: FANCTRL_LOG: Remote SOC: push Fan RPM == 0
FANCTRL: FANCTRL_LOG: Target: push Fan RPM == 1500
FANCTRL: FANCTRL_LOG: Target: push Fan pwm Duty == 48
FANCTRL: FANCTRL_LOG: sysfs_set_pwm_with_pwm_no: sysfs_path = /sys/class/pwm/pwmchip2/pwm0/duty_cycle
FANCTRL: FANCTRL_LOG: == push fan end
FANCTRL: FANCTRL_LOG: == pull fan start
FANCTRL: FANCTRL_LOG: local SOC: pull_rpm == 1600
FANCTRL: FANCTRL_LOG: Temp client: temp == 0
FANCTRL: FANCTRL_LOG: Temp client: Pull RPM == 1600
FANCTRL: FANCTRL_LOG: Max(local SOC, Temp client): pull RPM == 1600
FANCTRL: FANCTRL_LOG: Max(current, dGpu): push RPM == 1600
FANCTRL: FANCTRL_LOG: Remote SOC: temp == 0
FANCTRL: FANCTRL_LOG: Remote SOC: pull RPM == 0
FANCTRL: FANCTRL_LOG: Target: pull Fan RPM == 1600
FANCTRL: FANCTRL_LOG: Target: pull Fan pwm Duty == 45
FANCTRL: FANCTRL_LOG: sysfs_set_pwm_with_pwm_no: sysfs_path = /sys/class/pwm/pwmchip0/pwm0/duty_cycle
FANCTRL: FANCTRL_LOG: == pull fan end
FANCTRL: FANCTRL_LOG: sendto remote: temp=43000, push_rpm=1500, pull_rpm=1600
FANCTRL: FANCTRL_LOG: ==== loop end
FANCTRL: FANCTRL_LOG: poll_receive_with_timeout err!
FANCTRL: FANCTRL_LOG: ==== loop start
FANCTRL: FANCTRL_LOG: local SOC == 43000
FANCTRL: FANCTRL_LOG: GPU list:
FANCTRL: FANCTRL_LOG: gpu-index   probe name
FANCTRL: FANCTRL_LOG: ======================================
FANCTRL: FANCTRL_LOG:      2000   nvgpu:/dev/nvhost-gpu
FANCTRL: FANCTRL_LOG: no dGPU found in pci interface.
FANCTRL: FANCTRL_LOG: Can't get dGpu temperature.
FANCTRL: FANCTRL_LOG: Set dGpu temp 0 to exclude dGpu temp from calcuation
FANCTRL: FANCTRL_LOG: dGPU temp == 0
FANCTRL: FANCTRL_LOG: == push fan start
FANCTRL: FANCTRL_LOG: local SOC: push_rpm == 1500
FANCTRL: FANCTRL_LOG: Temp client: temp == 0
FANCTRL: FANCTRL_LOG: Temp client: push Fan RPM == 1500
FANCTRL: FANCTRL_LOG: Max(current, Temp client): push RPM == 1500
FANCTRL: FANCTRL_LOG: Max(current, dGpu): push RPM == 1500
FANCTRL: FANCTRL_LOG: Remote SOC: temp == 0
FANCTRL: FANCTRL_LOG: Remote SOC: push Fan RPM == 0
FANCTRL: FANCTRL_LOG: Target: push Fan RPM == 1500
FANCTRL: FANCTRL_LOG: Target: push Fan pwm Duty == 48
FANCTRL: FANCTRL_LOG: sysfs_set_pwm_with_pwm_no: sysfs_path = /sys/class/pwm/pwmchip2/pwm0/duty_cycle
FANCTRL: FANCTRL_LOG: == push fan end
FANCTRL: FANCTRL_LOG: == pull fan start
FANCTRL: FANCTRL_LOG: local SOC: pull_rpm == 1600
FANCTRL: FANCTRL_LOG: Temp client: temp == 0
FANCTRL: FANCTRL_LOG: Temp client: Pull RPM == 1600
FANCTRL: FANCTRL_LOG: Max(local SOC, Temp client): pull RPM == 1600
FANCTRL: FANCTRL_LOG: Max(current, dGpu): push RPM == 1600
FANCTRL: FANCTRL_LOG: Remote SOC: temp == 0
FANCTRL: FANCTRL_LOG: Remote SOC: pull RPM == 0
FANCTRL: FANCTRL_LOG: Target: pull Fan RPM == 1600
FANCTRL: FANCTRL_LOG: Target: pull Fan pwm Duty == 45
FANCTRL: FANCTRL_LOG: sysfs_set_pwm_with_pwm_no: sysfs_path = /sys/class/pwm/pwmchip0/pwm0/duty_cycle
FANCTRL: FANCTRL_LOG: == pull fan end
FANCTRL: FANCTRL_LOG: sendto remote: temp=43000, push_rpm=1500, pull_rpm=1600
FANCTRL: FANCTRL_LOG: ==== loop end
FANCTRL: FANCTRL_LOG: poll_receive_with_timeout err!
FANCTRL: FANCTRL_LOG: ==== loop start
FANCTRL: FANCTRL_LOG: local SOC == 43000
FANCTRL: FANCTRL_LOG: GPU list:
FANCTRL: FANCTRL_LOG: gpu-index   probe name
FANCTRL: FANCTRL_LOG: ======================================
FANCTRL: FANCTRL_LOG:      2000   nvgpu:/dev/nvhost-gpu
FANCTRL: FANCTRL_LOG: no dGPU found in pci interface.
FANCTRL: FANCTRL_LOG: Can't get dGpu temperature.
FANCTRL: FANCTRL_LOG: Set dGpu temp 0 to exclude dGpu temp from calcuation
FANCTRL: FANCTRL_LOG: dGPU temp == 0
FANCTRL: FANCTRL_LOG: == push fan start
FANCTRL: FANCTRL_LOG: local SOC: push_rpm == 1500
FANCTRL: FANCTRL_LOG: Temp client: temp == 0
FANCTRL: FANCTRL_LOG: Temp client: push Fan RPM == 1500
FANCTRL: FANCTRL_LOG: Max(current, Temp client): push RPM == 1500
FANCTRL: FANCTRL_LOG: Max(current, dGpu): push RPM == 1500
FANCTRL: FANCTRL_LOG: Remote SOC: temp == 0
FANCTRL: FANCTRL_LOG: Remote SOC: push Fan RPM == 0
FANCTRL: FANCTRL_LOG: Target: push Fan RPM == 1500
FANCTRL: FANCTRL_LOG: Target: push Fan pwm Duty == 48
FANCTRL: FANCTRL_LOG: sysfs_set_pwm_with_pwm_no: sysfs_path = /sys/class/pwm/pwmchip2/pwm0/duty_cycle
FANCTRL: FANCTRL_LOG: == push fan end
FANCTRL: FANCTRL_LOG: == pull fan start
FANCTRL: FANCTRL_LOG: local SOC: pull_rpm == 1600
FANCTRL: FANCTRL_LOG: Temp client: temp == 0
FANCTRL: FANCTRL_LOG: Temp client: Pull RPM == 1600
FANCTRL: FANCTRL_LOG: Max(local SOC, Temp client): pull RPM == 1600
FANCTRL: FANCTRL_LOG: Max(current, dGpu): push RPM == 1600
FANCTRL: FANCTRL_LOG: Remote SOC: temp == 0
FANCTRL: FANCTRL_LOG: Remote SOC: pull RPM == 0
FANCTRL: FANCTRL_LOG: Target: pull Fan RPM == 1600
FANCTRL: FANCTRL_LOG: Target: pull Fan pwm Duty == 45
FANCTRL: FANCTRL_LOG: sysfs_set_pwm_with_pwm_no: sysfs_path = /sys/class/pwm/pwmchip0/pwm0/duty_cycle
FANCTRL: FANCTRL_LOG: == pull fan end
FANCTRL: FANCTRL_LOG: sendto remote: temp=43000, push_rpm=1500, pull_rpm=1600
FANCTRL: FANCTRL_LOG: ==== loop end
FANCTRL: FANCTRL_LOG: ==== loop start
FANCTRL: FANCTRL_LOG: local SOC == 43500
FANCTRL: FANCTRL_LOG: GPU list:
FANCTRL: FANCTRL_LOG: gpu-index   probe name
FANCTRL: FANCTRL_LOG: ======================================
FANCTRL: FANCTRL_LOG:      2000   nvgpu:/dev/nvhost-gpu
FANCTRL: FANCTRL_LOG: no dGPU found in pci interface.
FANCTRL: FANCTRL_LOG: Can't get dGpu temperature.
FANCTRL: FANCTRL_LOG: Set dGpu temp 0 to exclude dGpu temp from calcuation
FANCTRL: FANCTRL_LOG: dGPU temp == 0
FANCTRL: FANCTRL_LOG: == push fan start
FANCTRL: FANCTRL_LOG: local SOC: push_rpm == 1500
FANCTRL: FANCTRL_LOG: Temp client: temp == 0
FANCTRL: FANCTRL_LOG: Temp client: push Fan RPM == 1500
FANCTRL: FANCTRL_LOG: Max(current, Temp client): push RPM == 1500
FANCTRL: FANCTRL_LOG: Max(current, dGpu): push RPM == 1500
FANCTRL: FANCTRL_LOG: Remote SOC: temp == 0
FANCTRL: FANCTRL_LOG: Remote SOC: push Fan RPM == 0
FANCTRL: FANCTRL_LOG: Target: push Fan RPM == 1500
FANCTRL: FANCTRL_LOG: Target: push Fan pwm Duty == 48
FANCTRL: FANCTRL_LOG: sysfs_set_pwm_with_pwm_no: sysfs_path = /sys/class/pwm/pwmchip2/pwm0/duty_cycle
FANCTRL: FANCTRL_LOG: == push fan end
FANCTRL: FANCTRL_LOG: == pull fan start
FANCTRL: FANCTRL_LOG: local SOC: pull_rpm == 1600
FANCTRL: FANCTRL_LOG: Temp client: temp == 0
FANCTRL: FANCTRL_LOG: Temp client: Pull RPM == 1600
FANCTRL: FANCTRL_LOG: Max(local SOC, Temp client): pull RPM == 1600
FANCTRL: FANCTRL_LOG: Max(current, dGpu): push RPM == 1600
FANCTRL: FANCTRL_LOG: Remote SOC: temp == 0
FANCTRL: FANCTRL_LOG: Remote SOC: pull RPM == 0
FANCTRL: FANCTRL_LOG: Target: pull Fan RPM == 1600
FANCTRL: FANCTRL_LOG: Target: pull Fan pwm Duty == 45
FANCTRL: FANCTRL_LOG: sysfs_set_pwm_with_pwm_no: sysfs_path = /sys/class/pwm/pwmchip0/pwm0/duty_cycle
FANCTRL: FANCTRL_LOG: == pull fan end
FANCTRL: FANCTRL_LOG: sendto remote: temp=43500, push_rpm=1500, pull_rpm=1600
FANCTRL: FANCTRL_LOG: ==== loop end
FANCTRL: FANCTRL_LOG: poll_receive_with_timeout err!
FANCTRL: FANCTRL_LOG: poll_receive_with_timeout err!
FANCTRL: FANCTRL_LOG: ==== loop start
FANCTRL: FANCTRL_LOG: local SOC == 43000
FANCTRL: FANCTRL_LOG: GPU list:
FANCTRL: FANCTRL_LOG: gpu-index   probe name
FANCTRL: FANCTRL_LOG: ======================================
FANCTRL: FANCTRL_LOG:      2000   nvgpu:/dev/nvhost-gpu
FANCTRL: FANCTRL_LOG: no dGPU found in pci interface.
FANCTRL: FANCTRL_LOG: Can't get dGpu temperature.
FANCTRL: FANCTRL_LOG: Set dGpu temp 0 to exclude dGpu temp from calcuation
FANCTRL: FANCTRL_LOG: dGPU temp == 0
FANCTRL: FANCTRL_LOG: == push fan start
FANCTRL: FANCTRL_LOG: local SOC: push_rpm == 1500
FANCTRL: FANCTRL_LOG: Temp client: temp == 0
FANCTRL: FANCTRL_LOG: Temp client: push Fan RPM == 1500
FANCTRL: FANCTRL_LOG: Max(current, Temp client): push RPM == 1500
FANCTRL: FANCTRL_LOG: Max(current, dGpu): push RPM == 1500
FANCTRL: FANCTRL_LOG: Remote SOC: temp == 0
FANCTRL: FANCTRL_LOG: Remote SOC: push Fan RPM == 0
FANCTRL: FANCTRL_LOG: Target: push Fan RPM == 1500
FANCTRL: FANCTRL_LOG: Target: push Fan pwm Duty == 48
FANCTRL: FANCTRL_LOG: sysfs_set_pwm_with_pwm_no: sysfs_path = /sys/class/pwm/pwmchip2/pwm0/duty_cycle
FANCTRL: FANCTRL_LOG: == push fan end
FANCTRL: FANCTRL_LOG: == pull fan start
FANCTRL: FANCTRL_LOG: local SOC: pull_rpm == 1600
FANCTRL: FANCTRL_LOG: Temp client: temp == 0
FANCTRL: FANCTRL_LOG: Temp client: Pull RPM == 1600
FANCTRL: FANCTRL_LOG: Max(local SOC, Temp client): pull RPM == 1600
FANCTRL: FANCTRL_LOG: Max(current, dGpu): push RPM == 1600
FANCTRL: FANCTRL_LOG: Remote SOC: temp == 0
FANCTRL: FANCTRL_LOG: Remote SOC: pull RPM == 0
FANCTRL: FANCTRL_LOG: Target: pull Fan RPM == 1600
FANCTRL: FANCTRL_LOG: Target: pull Fan pwm Duty == 45
FANCTRL: FANCTRL_LOG: sysfs_set_pwm_with_pwm_no: sysfs_path = /sys/class/pwm/pwmchip0/pwm0/duty_cycle
FANCTRL: FANCTRL_LOG: == pull fan end
FANCTRL: FANCTRL_LOG: sendto remote: temp=43000, push_rpm=1500, pull_rpm=1600
FANCTRL: FANCTRL_LOG: ==== loop end
FANCTRL: FANCTRL_LOG: ==== loop start
FANCTRL: FANCTRL_LOG: local SOC == 43000
FANCTRL: FANCTRL_LOG: GPU list:
FANCTRL: FANCTRL_LOG: gpu-index   probe name
FANCTRL: FANCTRL_LOG: ======================================
FANCTRL: FANCTRL_LOG:      2000   nvgpu:/dev/nvhost-gpu
FANCTRL: FANCTRL_LOG: no dGPU found in pci interface.
FANCTRL: FANCTRL_LOG: Can't get dGpu temperature.
FANCTRL: FANCTRL_LOG: Set dGpu temp 0 to exclude dGpu temp from calcuation
FANCTRL: FANCTRL_LOG: dGPU temp == 0
FANCTRL: FANCTRL_LOG: == push fan start
FANCTRL: FANCTRL_LOG: local SOC: push_rpm == 1500
FANCTRL: FANCTRL_LOG: Temp client: temp == 0
FANCTRL: FANCTRL_LOG: Temp client: push Fan RPM == 1500
FANCTRL: FANCTRL_LOG: Max(current, Temp client): push RPM == 1500
FANCTRL: FANCTRL_LOG: Max(current, dGpu): push RPM == 1500
FANCTRL: FANCTRL_LOG: Remote SOC: temp == 0
FANCTRL: FANCTRL_LOG: Remote SOC: push Fan RPM == 0
FANCTRL: FANCTRL_LOG: Target: push Fan RPM == 1500
FANCTRL: FANCTRL_LOG: Target: push Fan pwm Duty == 48
FANCTRL: FANCTRL_LOG: sysfs_set_pwm_with_pwm_no: sysfs_path = /sys/class/pwm/pwmchip2/pwm0/duty_cycle
FANCTRL: FANCTRL_LOG: == push fan end
FANCTRL: FANCTRL_LOG: == pull fan start
FANCTRL: FANCTRL_LOG: local SOC: pull_rpm == 1600
FANCTRL: FANCTRL_LOG: Temp client: temp == 0
FANCTRL: FANCTRL_LOG: Temp client: Pull RPM == 1600
FANCTRL: FANCTRL_LOG: Max(local SOC, Temp client): pull RPM == 1600
FANCTRL: FANCTRL_LOG: Max(current, dGpu): push RPM == 1600
FANCTRL: FANCTRL_LOG: Remote SOC: temp == 0
FANCTRL: FANCTRL_LOG: Remote SOC: pull RPM == 0
FANCTRL: FANCTRL_LOG: Target: pull Fan RPM == 1600
FANCTRL: FANCTRL_LOG: Target: pull Fan pwm Duty == 45
FANCTRL: FANCTRL_LOG: sysfs_set_pwm_with_pwm_no: sysfs_path = /sys/class/pwm/pwmchip0/pwm0/duty_cycle
FANCTRL: FANCTRL_LOG: == pull fan end
FANCTRL: FANCTRL_LOG: sendto remote: temp=43000, push_rpm=1500, pull_rpm=1600
FANCTRL: FANCTRL_LOG: ==== loop end
FANCTRL: FANCTRL_LOG: poll_receive_with_timeout err!
FANCTRL: FANCTRL_LOG: read temp client failed over 3 times
FANCTRL: FANCTRL_LOG: poll_receive_with_timeout err!
FANCTRL: FANCTRL_LOG: read remote rpm failed over 3 times
FANCTRL: FANCTRL_LOG: ==== loop start
FANCTRL: FANCTRL_LOG: local SOC == 43000
FANCTRL: FANCTRL_LOG: GPU list:
FANCTRL: FANCTRL_LOG: gpu-index   probe name
FANCTRL: FANCTRL_LOG: ======================================
FANCTRL: FANCTRL_LOG:      2000   nvgpu:/dev/nvhost-gpu
FANCTRL: FANCTRL_LOG: no dGPU found in pci interface.
FANCTRL: FANCTRL_LOG: Can't get dGpu temperature.
FANCTRL: FANCTRL_LOG: Set dGpu temp 0 to exclude dGpu temp from calcuation
FANCTRL: FANCTRL_LOG: dGPU temp == 0
FANCTRL: FANCTRL_LOG: == push fan start
FANCTRL: FANCTRL_LOG: local SOC: push_rpm == 1500
FANCTRL: FANCTRL_LOG: Temp client: temp == 100000
FANCTRL: FANCTRL_LOG: Temp client: push Fan RPM == 2650
FANCTRL: FANCTRL_LOG: Max(current, Temp client): push RPM == 2650
FANCTRL: FANCTRL_LOG: Max(current, dGpu): push RPM == 2650
FANCTRL: FANCTRL_LOG: Remote SOC: temp == 100000
FANCTRL: FANCTRL_LOG: Remote SOC: push Fan RPM == 2650
FANCTRL: FANCTRL_LOG: Target: push Fan RPM == 2650
FANCTRL: FANCTRL_LOG: Target: push Fan pwm Duty == 100
FANCTRL: FANCTRL_LOG: sysfs_set_pwm_with_pwm_no: sysfs_path = /sys/class/pwm/pwmchip2/pwm0/duty_cycle
FANCTRL: FANCTRL_LOG: == push fan end
FANCTRL: FANCTRL_LOG: == pull fan start
FANCTRL: FANCTRL_LOG: local SOC: pull_rpm == 1600
FANCTRL: FANCTRL_LOG: Temp client: temp == 100000
FANCTRL: FANCTRL_LOG: Temp client: Pull RPM == 2800
FANCTRL: FANCTRL_LOG: Max(local SOC, Temp client): pull RPM == 2800
FANCTRL: FANCTRL_LOG: Max(current, dGpu): push RPM == 2800
FANCTRL: FANCTRL_LOG: Remote SOC: temp == 100000
FANCTRL: FANCTRL_LOG: Remote SOC: pull RPM == 2800
FANCTRL: FANCTRL_LOG: Target: pull Fan RPM == 2800
FANCTRL: FANCTRL_LOG: Target: pull Fan pwm Duty == 100
FANCTRL: FANCTRL_LOG: sysfs_set_pwm_with_pwm_no: sysfs_path = /sys/class/pwm/pwmchip0/pwm0/duty_cycle
FANCTRL: FANCTRL_LOG: == pull fan end
FANCTRL: FANCTRL_LOG: sendto remote: temp=43000, push_rpm=2650, pull_rpm=2800
FANCTRL: FANCTRL_LOG: ==== loop end

EDIT: Cold booting the system resolved this issue as well.

Hi Steve

Any hints in case we have a dGPU? The FAN noise is really horribly loud (but stays silent during boot) but I don’t want to disable FANs which might be required to run (for the dGPUs)? At least it would be good if the system easily could activate a temperature control to lower the speed if not necessary since I didn’t found so far and understandable description of the fan-control script (or better say recommended settings).

1 Like

Hi @Dominik_M,

Sorry for the unclear statements in the previous post.

temp_server/temp_client isn’t for the current system. So even if your system has dGPU(s), you need to apply the change. It is a fix included in any following releases. Thanks!

Dear VickNV,

thanks, so is this fix still valid also for release 10 of the DRIVE Software or is it only applicable for version 9? If we can use it only for version 9 I would need to look for another solution which controls the fans in DRIVE software 10…

Thank you!

This fix is also applicable to DRIVE Software 10.0.