Рейтинг:0

Включить Intel Turbo Boost из пользовательского пространства с включенной безопасной загрузкой

флаг id

На моем ноутбуке (Acer ES1-562-5191) у меня есть Intel Core i5-7200U, который обычно работает на частоте 2,50 ГГц. У меня включен турбобуст и все работает. Все хорошо, кроме того, что при определенном уровне мощности (около 15%) Turbo Boost отключается. Он не включается после зарядки ноутбука. Единственный способ исправить это — перезагрузить ноутбук.

До того, как я включил безопасную загрузку, я мог легко снова включить турбоускорение, но из-за блокировки ядра я не могу сейчас записывать эти файлы.

Я пробовал несколько инструментов, чтобы сделать это, и, насколько мне известно, это невозможно.

Решения, которые у меня есть в голове, заключаются в следующем: найти способ снова включить турбонаддув после того, как он был отключен, или найти способ помешать компьютеру отключить его.

$ uname -a
Linux Jaco-LAPTOP 5.11.0-22-generic #23-Ubuntu SMP Чт, 17 июня, 00:34:23 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
$ lspci
00:00.0 Хост-мост: Intel Corporation Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/регистры DRAM (версия 02)
00:02.0 Контроллер, совместимый с VGA: Intel Corporation HD Graphics 620 (версия 02)
00:14.0 USB-контроллер: Intel Corporation Sunrise Point-LP USB 3.0 xHCI Controller (версия 21)
00:15.0 Контроллер обработки сигналов: Intel Corporation Sunrise Point-LP Serial IO I2C Controller #0 (rev 21)
00:15.1 Контроллер обработки сигналов: Intel Corporation Sunrise Point-LP Serial IO I2C Controller #1 (rev 21)
00:16.0 Коммуникационный контроллер: Intel Corporation Sunrise Point-LP CSME HECI #1 (версия 21)
00:17.0 Контроллер SATA: контроллер Intel Corporation Sunrise Point-LP SATA [режим AHCI] (версия 21)
00:1c.0 Мост PCI: Intel Corporation Sunrise Point-LP Корневой порт PCI Express № 5 (версия f1)
00:1c.5 Мост PCI: Intel Corporation Sunrise Point-LP Корневой порт PCI Express №6 (версия f1)
00:1f.0 Мост ISA: Intel Corporation Sunrise Point-LP LPC Controller (rev 21)
00:1f.2 Контроллер памяти: Корпорация Intel Sunrise Point-LP PMC (версия 21)
00:1f.3 Аудиоустройство: Intel Corporation Sunrise Point-LP HD Audio (версия 21)
00:1f.4 SMBus: Корпорация Intel Sunrise Point-LP SMBus (версия 21)
01:00.0 Ethernet-контроллер: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 Gigabit Ethernet-контроллер PCI Express (версия 15)
02:00.0 Сетевой контроллер: Intel Corporation Dual Band Wireless-AC 3168NGW [Stone Peak] (версия 10)

Запись в регистры MSR — это основной способ, с помощью которого большинство программ изменяет состояние турбонаддува. Это не работает.

# wrmsr -p0 0x1a0 0x4000850089
wrmsr: pwrite: Операция не разрешена

Здесь вы можете увидеть пример вывода dmesg из i7z и wrmsr.

# dmesg
...
[40160.847525] Блокировка: i7z: доступ к необработанным MSR ограничен; см. man kernel_lockdown.7
[41009.622949] Блокировка: wrmsr: доступ к необработанным MSR ограничен; см. man kernel_lockdown.7

Какие-либо предложения?

Рейтинг:0
флаг gn

Это намеренно, что более поздние ядра по умолчанию отключили доступ пользователей для записи в MSR (машинные регистры), так как слишком многие сталкивались с серьезными проблемами, включая разрушение их процессора.

Чтобы включить доступ для записи MSR, вам нужно добавить msr.allow_writes = вкл. в командную строку grub. Пример с другими вещами, которые у меня есть:

GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 consoleblank=314 intel_pstate=active intel_pstate=no_hwp msr.allow_writes=on cpuidle.Governor=teo"

Вы также можете получить доступ к параметру после загрузки и после загрузки модуля msr по адресу:

doug@s19:~/config/etc/default$ ls -l /sys/module/msr/parameters/allow_writes
ls: невозможно получить доступ к '/sys/module/msr/parameters/allow_writes': нет такого файла или каталога
doug@s19:~/config/etc/default$ sudo modprobe msr
doug@s19:~/config/etc/default$ ls -l /sys/module/msr/parameters/allow_writes
-rw------- 1 root root 4096 13 июля 08:31 /sys/module/msr/parameters/allow_writes
doug@s19:~/config/etc/default$ sudo cat /sys/module/msr/parameters/allow_writes
на

где варианты [вкл/выкл/по умолчанию].И я думаю, что значение по умолчанию определяется параметром конфигурации ядра.

Теперь, если вы не хотите включать через командную строку grub, вы также можете сделать это позже через:

doug@s19:~$ ls -l /sys/module/msr/parameters/allow_writes
ls: невозможно получить доступ к '/sys/module/msr/parameters/allow_writes': нет такого файла или каталога
doug@s19:~$ sudo modprobe msr
doug@s19:~$ ls -l /sys/module/msr/parameters/allow_writes
-rw------- 1 root root 4096 13 июля 08:42 /sys/module/msr/parameters/allow_writes
doug@s19:~$ sudo cat /sys/module/msr/parameters/allow_writes
По умолчанию
doug@s19:~$ эхо | sudo tee /sys/module/msr/parameters/allow_writes
на
doug@s19:~$ sudo cat /sys/module/msr/parameters/allow_writes
на

РЕДАКТИРОВАТЬ: Кстати, команда, которую вы пытались написать, отключит турбо, а не включит его. Пример:

doug@s19:~$ sudo rdmsr 0x1a0
850089
doug@s19:~$ кот /sys/devices/system/cpu/intel_pstate/no_turbo
0
doug@s19:~$ sudo wrmsr 0x1a0 0x4000850089
doug@s19:~$ кот /sys/devices/system/cpu/intel_pstate/no_turbo
1
doug@s19:~$ sudo rdmsr 0x1a0
4000850089
флаг id
Я установил msr.allow_writes=on в командной строке ядра, и это все равно не работает. Я проверил содержимое /sys/module/msr/parameters/allow_writes, и оно включено. Все еще получаю ту же ошибку.
Doug Smythies avatar
флаг gn
ОК, я не знал, что безопасная загрузка отменяет этот материал. Вы пробовали «Alt + SysRq + X», чтобы отключить блокировку более высокого уровня? Примечание: я не знаю, насколько актуальна эта информация, и сам не проверял ее.
флаг id
Да... Я пытался использовать `Alt + SysRq + X` Насколько я могу судить по dmesg, это ничего не делает.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.