Hollywood Posted May 26, 2020 Share Posted May 26, 2020 I hava a jetson nano and i use Armbian 20.05.4 Buster. I installed a Fan with pwn, but it does not turn. https://wiki.52pi.com/index.php/ICE_Tower_Cooling_Fan_For_Jetson_Nano_SKU:_EP-0113 A command /usr/bin/jetson_clocks should enable the pwm signal. (this is mentioned for nvidia image) How can i enable the pwm signal in armbian? Link to comment Share on other sites More sharing options...
balbes150 Posted May 27, 2020 Share Posted May 27, 2020 Used the kernel and u-boot from NVIDIA. Perhaps the Armbian builds do not have enough settings\script to manage. You need to compare both systems and look for what is missing. I don't have time for this yet. You can check and find the solution yourself, it's not difficult (compare and copy from the source system where it works to Armbian). If you have ready-made solutions, I can quickly include them in the build of subsequent images. Link to comment Share on other sites More sharing options...
Hollywood Posted May 27, 2020 Author Share Posted May 27, 2020 The simplest way is: just add the following line before last line "exit 0' in /etc/rc.local echo 255 > /sys/devices/pwm-fan/target_pwm exit 0 Another way is decribed here: https://github.com/Pyrestone/jetson-fan-ctl I currently use the simple approach. Link to comment Share on other sites More sharing options...
balbes150 Posted May 28, 2020 Share Posted May 28, 2020 8 hours ago, Hollywood said: The simplest way is: just add the following line before last line "exit 0' in /etc/rc.local If I don't forget, I'll try to add this option to the next versions. Link to comment Share on other sites More sharing options...
balbes150 Posted May 28, 2020 Share Posted May 28, 2020 I added a fix for the fan and build new versions of images 20.05.5 20200528. But I haven't tested the fan yet. Link to comment Share on other sites More sharing options...
Hollywood Posted May 30, 2020 Author Share Posted May 30, 2020 Thank you. Link to comment Share on other sites More sharing options...
balbes150 Posted June 5, 2020 Share Posted June 5, 2020 Finally found time to test the fan. May need to make a correction to the start line (add at the end of&). Without it, my fan wouldn't turn on. Question. @Hollywood If you use the suggested value of 255, the fan turns on at maximum speed. I have tried different loads and even when using a value of 100 (and low fan speed), the temperature under load does not exceed 40 degrees (for temperature control, I run "armbianmonitor -m" in the terminal). And what temperature and under what loads do you have ? Link to comment Share on other sites More sharing options...
Hollywood Posted June 5, 2020 Author Share Posted June 5, 2020 My fan is really quiet with 255. I think it depends on the fan if it is too loud or not. The temperature of my jetson nano is under 40 degrees too. In tried https://github.com/Pyrestone/jetson-fan-ctl, but it works with ubuntu from nvidia only. I tried nvidia ubuntu and the fan works really quiet and it sets the fan speed dynamically. It uses /usr/bin/jetson_clocks which produces an error on armbian but the fan starts working. Maybe, on nvidia ubuntu are some defines set which are not available on armbian. /usr/bin/jetson_clocks is used by https://github.com/Pyrestone/jetson-fan-ctl, too. The do_gpu() function of /usr/bin/jetson_clocks produces an error: Maybe, there are some environment variables about GPU not set in this section: /usr/bin/jetson_clocks line 242... for devfreq in /sys/class/devfreq/*; do name=$(tr -d '\0' <${devfreq}/device/of_node/name) if [[ "${name}" == "gv11b" || "${name}" == "gp10b" || "${name}" == "gpu" ]]; then GPU_MIN_FREQ="${devfreq}/min_freq" GPU_MAX_FREQ="${devfreq}/max_freq" GPU_CUR_FREQ="${devfreq}/cur_freq" GPU_RAIL_GATE="${devfreq}/device/railgate_enable" break fi done if [[ "${name}" == "" ]]; then echo "Error! Unknown GPU!" <------------------- this error is shown on armbian exit 1 fi 1 Link to comment Share on other sites More sharing options...
Hollywood Posted June 5, 2020 Author Share Posted June 5, 2020 armbianmonitor -m shows a teemperature between 26 and 28 °C. Link to comment Share on other sites More sharing options...
Hollywood Posted June 6, 2020 Author Share Posted June 6, 2020 The difference between armbian and nvidia ubuntu 18.04 is: nvidia ubuntu shows in /sys/class/devfreq/ 2 links: lrwxrwxrwx 1 root root 0 Jan 28 2018 54340000.vic -> ../../devices/50000000.host1x/54340000.vic/devfreq/54340000.vic lrwxrwxrwx 1 root root 0 Jun 5 18:40 57000000.gpu -> ../../devices/57000000.gpu/devfreq/57000000.gpu armbian 20.05.5_Jetson-nano_buster_legacy_4.9.140_20200528 shows in /sys/class/devfreq/ only 1 link: lrwxrwxrwx 1 root root 0 Jun 5 20:46 54340000.vic -> ../../devices/50000000.host1x/54340000.vic/devfreq/54340000.vic Here is a link https://www.jetsonhacks.com/2018/10/07/nvpmodel-nvidia-jetson-agx-xavier-developer-kit/ which decribes nvpmodel and jetson_clocks.sh (which was renamed to jetson_clocks, meanwhile) Interesting of the link above is, that the performance model can be set nvpmodel. If you take the nvpmodel program, the jetson_clocks script from nvidia ubuntu 18.04 and if you uncomment line 391 of jetson_clocks do_hotplug do_clusterswitch do_cpu #do_gpu <--- commented out at line 391 do_emc do_fan do_nvpmodel then the script seems to work. Additionally https://github.com/Pyrestone/jetson-fan-ctl should work then too. I will try it and i report it to you. 1 Link to comment Share on other sites More sharing options...
Hollywood Posted June 6, 2020 Author Share Posted June 6, 2020 https://github.com/Pyrestone/jetson-fan-ctl works good. I wrote a little script which monitors the pwm fan speed: show_fan_pwm.sh #!/bin/bash # script show_fan_pwm.sh main () { while [ 1 ]; do echo -n "fan pwn speed is : " cat /sys/devices/pwm-fan/target_pwm sleep 1 done } main $@ exit 0 1 Link to comment Share on other sites More sharing options...
Recommended Posts