Bios throttling CPU frequency?

Hello all. I put a lot of work into an older laptop and I've been so proud of my accomplishment. It's beautiful and mostly finished. It has trouble streaming video and while looking for the cause I found that the 2.33GHz Core2 Duo T7600 that I installed to make it 64-bit is being throttled to 1GHz. I've spent all day learning cool things about managing CPU frequency but I've made no progress in getting it above 1GHz. My most recent find has left me very puzzled and stuck. I'm hoping some old-timer around here has seen the issue before and might remember a fix. The terminal output here will show you my problem I've found and I have no idea what to do about it. I will add some pictures of my bios settings a couple of minutes after I post this. Please help me. I'm pulling my hair out over here...

First my inxi...notice that it says says max CPU 1000MHz

[arkansawdave@odell ~]$ inxi -Fxxxz
System:    Host: odell Kernel: 4.14.154-1-MANJARO x86_64 bits: 64 compiler: gcc v: 9.2.0 
           Desktop: Xfce 4.14.1 tk: Gtk 3.24.12 info: xfce4-panel wm: xfwm4 dm: LightDM 1.30.0 
           Distro: Manjaro Linux 
Machine:   Type: Portable System: Dell product: Latitude D820 v: N/A serial: <filter> Chassis: 
           type: 8 serial: <filter> 
           Mobo: Dell model: 0JF240 serial: <filter> BIOS: Dell v: A10 date: 01/27/2010 
Battery:   ID-1: BAT0 charge: 54.9 Wh condition: 73.6/86.6 Wh (85%) volts: 11.9/11.1 
           model: SMP DELL 00 type: Li-ion serial: <filter> status: Unknown 
CPU:       Topology: Dual Core model: Intel Core2 T7600 bits: 64 type: MCP arch: Core Merom 
           rev: 6 L2 cache: 4096 KiB 
           flags: lm nx pae sse sse2 sse3 ssse3 vmx bogomips: 9324 
           Speed: 999 MHz max: 1000 MHz Core speeds (MHz): 1: 999 2: 999 
Graphics:  Device-1: NVIDIA G72M [Quadro NVS 110M/GeForce Go 7300] vendor: Dell driver: nouveau 
           v: kernel bus ID: 01:00.0 chip ID: 10de:01d7 
           Display: x11 server: X.Org 1.20.5 driver: nouveau unloaded: modesetting 
           alternate: fbdev,nv,vesa resolution: 1680x1050~60Hz 
           OpenGL: renderer: NV46 v: 2.1 Mesa 19.2.4 direct render: Yes 
Audio:     Device-1: Intel NM10/ICH7 Family High Definition Audio vendor: Dell 
           driver: snd_hda_intel v: kernel bus ID: 00:1b.0 chip ID: 8086:27d8 
           Sound Server: ALSA v: k4.14.154-1-MANJARO 
Network:   Device-1: Broadcom and subsidiaries NetXtreme BCM5752 Gigabit Ethernet PCI Express 
           vendor: Dell driver: tg3 v: 3.137 port: 10c0 bus ID: 09:00.0 chip ID: 14e4:1600 
           IF: enp9s0 state: down mac: <filter> 
           Device-2: Intel PRO/Wireless 3945ABG [Golan] Network driver: iwl3945 v: in-tree:s 
           port: 10c0 bus ID: 0c:00.0 chip ID: 8086:4222 
           IF: wlp12s0 state: up mac: <filter> 
Drives:    Local Storage: total: 465.76 GiB used: 66.87 GiB (14.4%) 
           ID-1: /dev/sda vendor: Seagate model: ST9500325AS size: 465.76 GiB speed: <unknown> 
           rotation: 5400 rpm serial: <filter> rev: SDM1 scheme: MBR 
Partition: ID-1: / size: 23.50 GiB used: 9.99 GiB (42.5%) fs: ext4 dev: /dev/sda1 
           ID-2: /home size: 331.46 GiB used: 56.87 GiB (17.2%) fs: ext4 dev: /dev/sda3 
           ID-3: swap-1 size: 4.00 GiB used: 0 KiB (0.0%) fs: swap dev: /dev/sda2 
Sensors:   System Temperatures: cpu: 49.0 C mobo: N/A sodimm: 51.0 C gpu: nouveau temp: 52 C 
           Fan Speeds (RPM): cpu: 2658 
Info:      Processes: 153 Uptime: 39m Memory: 3.18 GiB used: 1.16 GiB (36.4%) Init: systemd 
           v: 242 Compilers: gcc: 9.2.0 Shell: bash v: 5.0.11 running in: xfce4-terminal 
           inxi: 3.0.36

And now the output of my most recent find....and a lot of what I've tried....

[arkansawdave@odell ~]$ su
Password: 
[odell arkansawdave]# cpupower frequency-info
analyzing CPU 0:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 10.0 us
  hardware limits: 1000 MHz - 2.33 GHz
  available frequency steps:  2.33 GHz, 2.00 GHz, 1.67 GHz, 1.33 GHz, 1000 MHz
  available cpufreq governors: performance schedutil
  current policy: frequency should be within 1000 MHz and 1000 MHz.
                  The governor "schedutil" may decide which speed to use
                  within this range.
  current CPU frequency: 1000 MHz (asserted by call to hardware)
  boost state support:
    Supported: no
    Active: no
[odell arkansawdave]# cd /sys/bus/cpu/devices/cpu0/cpufreq
[odell cpufreq]# ls
affected_cpus     cpuinfo_transition_latency     scaling_cur_freq  scaling_setspeed
bios_limit        freqdomain_cpus                scaling_driver    stats
cpuinfo_cur_freq  related_cpus                   scaling_governor
cpuinfo_max_freq  scaling_available_frequencies  scaling_max_freq
cpuinfo_min_freq  scaling_available_governors    scaling_min_freq
[odell cpufreq]# cat cpuinfo_max_freq
2333000
[odell cpufreq]# cat scaling_max_freq
1000000
[odell cpufreq]# cat scaling_available_frequencies
2333000 2000000 1667000 1333000 1000000 
[odell cpufreq]# cat scaling_available_governors
performance schedutil 
[odell cpufreq]# cat scaling_governor
schedutil
[odell cpufreq]# cpupower frequency-set -g performance
Setting cpu: 0
Setting cpu: 1
[odell cpufreq]# cat scaling_governor
performance
[odell cpufreq]# cat scaling_max_freq
1000000
[odell cpufreq]# cat cpuinfo_max_freq
2333000
[odell cpufreq]# cat bios_limit
1000000
[odell cpufreq]# cpupower frequency-set -f 2333000
Setting cpu: 0
Setting cpu: 1
[odell cpufreq]# cat scaling_cur_freq
998628
[odell cpufreq]# cat bios_limit
1000000
[odell cpufreq]# cat scaling_max_freq
1000000
[odell cpufreq]#

I then went to the bios and saw that Intel SpeedStep was enabled because my first thought was that I had accidentally disabled it and locked my CPU in low performance state. I tried disabling it and rebooting, then enabling it and rebooting, in case it was stuck or something....it didn't help...



Someone please tell me there's still hope....

Read this...

Make sure cpupower is installed:

sudo pacman -Ss cpupower

Then try this in a terminal (per @ruinb0w):

sudo systemctl enable cpupower && sudo systemctl start cpupower
# then
sudo cpupower frequency-set -g performance
2 Likes

Yes, Sir. I believe it's enabled because i used it to change governor in the 2nd section of preformatted text. The performance governor can't get it above the bios_limit. I also tried setting the frequency manually. It wouldn't stick.

kde% systemctl status cpupower
● cpupower.service - Apply cpupower configuration
   Loaded: loaded (/usr/lib/systemd/system/cpupower.service; disabled; vendor preset: disabled)
   Active: inactive (dead)

1 Like

I didn't mess with /etc/default/cpupower beyond reading it because I don't have the userspace governor. I did just now start the service but I don't think it will do anything without altering it's file. I will have another look at it. I read over it early in my struggles before I knew what I do now.

I meant by check it, don't believe.

1 Like

I said that i believe it's enabled to be polite because I obviously have it to anyone who read the whole question. I used cpupower twice in my question to change settings and even verified the changes.

OMG...I see what you guys mean....I didn't realize I could add the governor I needed. I thought the proper governor was a prerequisite. Now I can start fresh down a new path with hope. Thank you!! I had read that file early in the day and with all I learned today I think I get it fixed. Suddenly everything makes sense...

Well, with cpupower running and set to performance it still is limited to 1GHz.

[odell cpufreq]# cat scaling_available_governors
userspace performance schedutil 
[odell cpufreq]# systemctl restart cpupower.service
[odell cpufreq]# cat scaling_available_governors
ondemand userspace performance schedutil 
[odell cpufreq]# cat scaling_max_freq
1000000
[odell cpufreq]# cat scaling_governor
ondemand
[odell cpufreq]# nano /etc/default/cpupower
[odell cpufreq]# cat scaling_governor
ondemand
[odell cpufreq]# systemctl restart cpupower.service
[odell cpufreq]# cat scaling_governor
performance
[odell cpufreq]# cat scaling_cur_freq
998631
[odell cpufreq]# cat scaling_max_freq
1000000
[odell cpufreq]# cpupower frequency-info
analyzing CPU 0:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 10.0 us
  hardware limits: 1000 MHz - 2.33 GHz
  available frequency steps:  2.33 GHz, 2.00 GHz, 1.67 GHz, 1.33 GHz, 1000 MHz
  available cpufreq governors: ondemand userspace performance schedutil
  current policy: frequency should be within 1000 MHz and 1000 MHz.
                  The governor "performance" may decide which speed to use
                  within this range.
  current CPU frequency: 1000 MHz (asserted by call to hardware)
  boost state support:
    Supported: no
    Active: no
[odell cpufreq]#

Looks to still be limited by the "current policy" which, I believe is the bios_limit file .

What wonders do you expect from a computer/laptop from date: 01/27/2010 ?

Well, wouldn't you expect it to run the processor at the processor's speed? That's not asking much. And it's doing a hell of a great job being quick and responsive even at 1GHz. It's a great and beautiful machine and it's been a fun project. i've upgraded all kinds of crap on it. It's much more than it was when it was made. I've upgraded all kinds of crap on it, fixed all kinds of crap on it, and it would suck for the project to end being stuck at 1GHZ max by the most current bios. That was a very unhelpful statement you made and I'm surprisd i'm able to rep-ly p[olitely. My demeanor is not at all polite in person at that comment.....why fix up any classic car?

@SGS I want to make sure you see the edit to my last comment.

I'd be proud to pull this thing out of my bag in any crowd. It has a lot of style...but not at 1GHz.

I only come here for help when I'm frustrated and stressed out from failures. I think I should start waiting a day or so when I'm not in a bad mood....I hope you understand @SGS.

Do you guys think it would be a bad idea to make the boot_limit file writable and change it from 1000000 to 2333000?

OMG!! They killed Nano!! Those bastards!!!

try using cpupower to manually set performance governor first

then manually set a frequency (this sets 2ghz to all cores)

sudo cpupower -c all frequency-set -u 2000000 

then check cpupower frequency-info to see if it changed to 2ghz

1 Like

I will try it, but cpupower frequency-info says that the performance governor can only set it between 1GHz and 1GHz because of the current policy....

Strange...it must be sick of that command for today. I tried 3 times just now and its getting stuck here.

I'm going to reboot and try again.

if you have TLP enabled, the changes your trying to make with cpupower might not matter. TLP is enabled by default and it has configuration for power management and governor control.

you can edit /etc/default/tlp or you can use a gui tool for tlp which is easier to use. i wanna say it's called tlp-ui in manjaro's repo iirc

I've not heard of TLP before. I'll have a look. Thanks.

Yes, it is....@dglt

[arkansawdave@odell ~]$ systemctl status tlp.service
● tlp.service - TLP system startup/shutdown
   Loaded: loaded (/usr/lib/systemd/system/tlp.service; enabled; vendor preset: disabled)
   Active: active (exited) since Sun 2019-11-17 18:47:41 CST; 5min ago
     Docs: https://linrunner.de/tlp
  Process: 552 ExecStart=/usr/bin/tlp init start (code=exited, status=0/SUCCESS)
 Main PID: 552 (code=exited, status=0/SUCCESS)

Nov 17 18:47:40 odell systemd[1]: Starting TLP system startup/shutdown...
Nov 17 18:47:41 odell tlp[552]: Applying power save settings...done.
Nov 17 18:47:41 odell tlp[552]: Setting battery charge thresholds...done.
Nov 17 18:47:41 odell systemd[1]: Started TLP system startup/shutdown.
[arkansawdave@odell ~]$
1 Like

Forum kindly sponsored by