4

So for some reason on my laptop I suffer from severe throttling issues when bdprochot is enabled, putting my cpu at a measly 400 MHz from it's 2.8 cap according to cpufreq-info and 380 mhz from 2.6 according to windows task manager.

It persists across 3 different drives, 7 reinstalls of windows 10 and 7 reinstalls of 3 different linux distros. I've tried it on steam OS, Ubuntu gamepack and Lubunt. In windows I used throttle stop but that's not a thing on linux. I use an external fan lowering my temps with bdprochot off through throttlestop to the lower 40s and even without it I generally cap out at 67 and avg at 50 as such I'm not to concerned about the rumored heating issues from bdprochot.

I tried the msr tools fix but that doesn't work I get the message saying

wrmsr: pwrite: Operation not permitted.

This is a laptop so there are no bios power settings.

I followed a guide here (quote below)

I came across the same problem and I found a solution which works for me. You'll have to download cpufrequtils.

Run every command in Terminal: Note: The '-c' argument is for core number. If your CPU has four cores, run the given command for 0 through 3 and if your CPU has eight cores, then run the command for 0 through 7.

sudo cpufreq-set -c 0 -g performance
sudo cpufreq-set -c 1 -g performance
sudo cpufreq-set -c 2 -g performance
sudo cpufreq-set -c 3 -g performance
sudo cpufreq-set -c XX -g performance
sudo modprobe msr
sudo rdmsr 0x1FC

The XX here is the number of your core. After this step you'll get an output which you need to note down and then use in the next command.

sudo wrmsr 0x1FC XXXXX 

Here, XXXXX is the output from the previous command execution. Finally, to check if it has worked, run:

cpufreq-info

I excluded the line due to the fact that it cause an error output

 sudo cpufreq-set -c XX -g performance

This worked on steam OS which is based on debrian 8: jessie but doesn't seem to work on lubuntu it only seems to edit the settings to performance

The output from rdmsr changes every time I reboot.

it's also sort of a pain to deal with all these commands every time I launch just to make my pc usuable.

I changed the secure boot to on when I swapped to lubuntu in order to add the boot file to the load order so that might be whats preventing wrmsr from working.

Even then it doesn't change the inherent problem that this issue persists as well as the fact that I have to spend time in the command line every time I boot up which let's face it is a huge headache.

Specs

  • Model # Acer Spin SP-513-51-51PB-N16W1

  • CPU Intel i5-6200U @2.3Ghz dual core 4 logical cores

  • Ram: 16 gig DDR4

  • Hard drive: NVMe m.2 ssd 1tb

  • GPU: Intel hd 520

  • OS: Dual boot of Windows 10 home Ver 1809 KB4497934 and Lubuntu 18.04.2

    • The Ram and SSD are upgrades

4 Answers4

3

Resolve problem CPU lock in Ubuntu

I had the same problem with CPU stuck on 0.79 GHz and all you need to do is..

1) Disable bd prochot on Ubuntu 20.04

sudo apt-get install msrtool

sudo modprobe msr

sudo wrmsr 0x1FC 2


2) Check your actual CPU freq in realtime:

sudo apt install i7z

sudo i7z


3) Use stress to simulate full CPU usage

sudo apt install stress

stress -c 8

2

I'va had exactly the same problem with my Dell 7558 laptop when I freshly installed Linux Mint after turning it on almost 2 years of hibernation. The CPU frequency remained at 500 MHz when plugged in but operated up to 2.7 GHz under battery power. (In fact, sometime plugging the power brick actually works fine without excessive throttling. But that's 1 out of 20 or blowing the connector with some compressed air cans. Maybe the problem lies in the faulty connector or battery...)

Anyway, I've found a neat script here:

https://github.com/yyearth/turnoff-BD-PROCHOT/blob/master/bdprochot_off.sh

#!/bin/bash
# 4005d --> 4005e

Slightly modified for root

/sbin/modprobe msr r=/usr/sbin/rdmsr 0x1FC s='0x'$r'' f=$(($s&0xFFFFE)) sudo /usr/sbin/wrmsr 0x1FC "obase=16;$f"|/usr/bin/bc echo "$r"" write to ""reg 0x1FC" echo "BD PROCHOT off."

Problem is, the script need to import(?) a third party kernel module: msr. I believe you have already installed it before running this kind of code by running

    sudo apt -y install msr-tools

So, you can run the script with 'sudo' after any start up. But then again, this is kind of clunky since we want this bd-prochot to be turned off as soon as we boot. Problem is, running this script on boot up time, such as using crontab with '@reboot bd-prochot-off-script.sh' doesn't work well since using 'modprobe' with third party tool is kind of blocked for some reason. (I'm not sure why, though) So, had to manipulate some module loading stuff in

    /etc/modules-load.d/ 

by creating a new conf file as root

    sudo touch /etc/modules-load.d/msr.conf

and putting 'msr' into the 'msr.conf' file.

Then added the script above into crontab

    sudo crontab -u root -e

as..

    @reboot /path/to/the/bd-prochot-off.sh

Now, the CPU throttling problem does not occur anymore. But then again, I believe this is just a workaround. Maybe changing the battery would work better in terms of 'getting rid of the stem of evil' type of solution. But then again, this laptop is not a very hotshot as of now (the end of 2020) and I do not want to spend a lot of dough on it before it perishes.

1

I assume you used sudo, as described in the script, so the permission denied is not due to lack of userspace permission.

From https://github.com/tiziw/iuvolt/issues/11

In the notebookreview thread linked in credits someone noted that if Secure Boot is enabled wrmsr does not work as the writes are blocked from userspace.

In order for it to still work you'll have to either recompile the msr module or recompile the whole kernel if the module built into the kernel. You will have to either disable Secure Boot or recompile msr with the the patch mentioned here.

The line with "XX" did not work, as it is there as an example.

0

Resolve problem cpu lock in ubuntu

sudo cpufreq-set -c 0 -g performance sudo cpufreq-set -c 1 -g performance sudo cpufreq-set -c 2 -g performance sudo cpufreq-set -c 3 -g performance sudo modprobe msr sudo wrmsr 0x1FC 17422

Resolve problem cpu lock in Windows

Just download throttlestop and Disable BD PROCHOT and Turbo

Specs:
Model # ASUS Vivobook s551ln
CPU Intel i7-4710U @2.6Ghz
Ram: 6 gig DDR3
Hard drive: SSHD 1tb
GPU: Intel hd 440 + NVIDIA GeForce 840M
OS: Dual boot of Windows 10 home Ver 1809 KB4497934 and Lubuntu 19.10