Manually setting CPU frequency

I am trying to set CPU frequency manually, but it doesn’t work!

I follow these instruction from elinux.org:

first I set the governor to userspace without any problem:

echo "userspace" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

, and then I set the frequency to one of the available frequencies, for example 1326000khz:

echo 1326000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed

But then when I check scaling_cur_freq, it still shows the initial value!

Do I need to make some kernel configuration, or is it something else that I am doing wrong? I would appreciate any suggestion.

Hi, I’ve been messing round for the past day with setting frequencies and such. There are random moments when it will revert back to “ondemand” instead of “userspace” and I would refer you to this thread which covers a little bit of that and has a few neat scripts for reverting back to default if everything mucks up:
https://devtalk.nvidia.com/default/topic/897506/jetson-tk1-cpu-scaling-governor-settings-not-sticking/?offset=5
The upshot of that is if you are not running from a ssh remotely there may be background processes forcing the cpu to change due to the file /etc/init.d/ondemand.

I have personally commented out line 51 of that file which is the culprit for setting the governor to something that is not “userspace”. I’m unsure how advisable this is but the board hasn’t blown up yet which I take as a good sign.

More specific to you if the cpuquiet/enable is set to 0 the userspace frequency setting doesn’t work (IDK why but I just tried and it doesn’t work).
To check whether it is enabled:

cat /sys/devices/system/cpu/cpuquiet/tegra_cpuquiet/enable

To enable it:

echo 1 > /sys/devices/system/cpu/cpuquiet/tegra_cpuquiet/enable

Now reassign the user space and frequency and it might work.