Остановите Dell от регулирования процессора с помощью адаптера питания

мой ноутбук Dell испытывает старую проблему адаптера питания не может быть распознан компьютером. Я знаю, что это просто разрыв в кабеле передачи данных в линии, потому что, если я расположу его правильно, кабель распознается, и компьютер перестает регулировать процессор до 20%. Есть ли способ отключить это, чтобы у меня не было скрипки с моим шнуром питания каждый раз, когда я подключаю компьютер?

10
задан user173724
07.11.2022 7:44 Количество просмотров материала 3638
Распечатать страницу

3 ответа

Я провел некоторое расследование этого и обнаружил, что, вероятно, нет хорошего способа предотвратить недавние ноутбуки Dell от дросселирования процессора, когда он не обнаруживает адаптер переменного тока OEM (или один со сломанным pin-кодом данных.)

отключение SpeedStep или "дополнительные спящие режимы"или возиться с профилями питания в BIOS не имеет никакого значения. Утилита" Intel Extreme Tuning", похоже, не поддерживает эти материнские платы, поскольку все варианты разгона заблокированы, но когда не OEM зарядное устройство подключено он сообщает, что процессор тепловой дросселирования занимается, и CPU-Z показывает множитель FSB до 5x и напряжение на ядре 0,6 вольт.

Я предполагаю, что, возможно, BIOS предназначен для отправки ложных показаний температуры материнской платы на процессор при обнаружении адаптера, не являющегося OEM, что приводит к его дросселированию. Кажется, Dell очень серьезно относится к блокировке OEM-адаптеров при разработке этой системы.

Edit: я нашел утилиту, которая позволит вам чтобы отключить неизвестное регулирование адаптера, по крайней мере, под Windows (я пока не знаю, будет ли утилита работать под Linux или есть что-то подобное.)ThrottleStop имеет флажок под названием "BD PROCHOT", который вызывает напряжение ядра процессора и множитель для сброса в нормальное состояние при отключении. Видимо, это "2 пути сигнала до процессора. Это позволяет другим компонентам ноутбука, таким как материнская плата или графический процессор, отправлять сигнал на процессор, который обманывает процессор, думая, что это тоже hot", подтверждая, что способ реализации этой" функции " в BIOS заключается в отправке этого сигнала на ЦП при обнаружении неизвестного адаптера переменного тока.

8
отвечен Bitrex 2022-11-08 15:32

вот ОС-независимую программу можно скомпилировать с помощью компилятора C/ССЗ (так долго, как это имеет реализация asprintf имеется) и запускается автоматически при запуске системы, которая должна отключить регулирование по этим процессором Intel ноутбуков, я использовал это успешно на Dell ноутбук Inspiron 5558 ноутбук работает Xubuntu в с полномочиями root для программы, с "msrtools" установлен и "команды modprobe МСР" в запуска файл до выполнения программы, чтобы разрешить чтение и запись MSR-регистры со стороны пользователя (другие ОС могут потребовать различные команды для "const char* cmd" для чтения/записи в расположение регистра процессора 0x1FC и, вероятно, потребуется root/привилегированный доступ пользователя к исполняемому файлу в любой форме, которая может принять)

#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>

#define BUFSIZE (64)

int get_msr_value(uint64_t* reg_value) {
  const char* cmd = "rdmsr -u 0x1FC";
  char cmd_buf[BUFSIZE];

  FILE* fp;

  if ((fp = popen(cmd, "r")) == NULL) {
    printf("Error opening pipe!\n");
    return -1;
  }

  cmd_buf[strcspn(fgets(cmd_buf, BUFSIZE, fp), "\n")] = 0;
  *reg_value = atoi(cmd_buf);

  if (pclose(fp)) {
    printf("Command not found or exited with error status\n");
    return -1;
  }

  return 0;
}

int main(void) {
  const char* cmd = "wrmsr -a 0x1FC";
  char* concat_cmd;
  int ret;
  uint64_t* reg_value = &(uint64_t){0};

  if ((ret = get_msr_value(reg_value))) {
    return ret;
  }

  printf("Old register value: %lu\n", *reg_value);

  *reg_value = *reg_value & 0xFFFFFFFE;  // clear bit 0

  printf("New register value: %lu\n", *reg_value);

  if (asprintf(&concat_cmd, "%s %i", cmd, *reg_value) == -1)
    return -1;

  printf("Executing: %s\n", concat_cmd);

  system(concat_cmd);
  free(concat_cmd);

  return 0;
}
0
отвечен Bitrex 2022-11-08 17:49

'платформа Intel динамически и термальные рамки' программа которая ограничивает ваше C. P. U. от хронометрировать в нормальной скорости.

Удаление Intel Dynamic platform и thermal framework должно решить проблему.

-1
отвечен Guest User 2022-11-08 20:06

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя

Похожие вопросы про тегам:

cpu
dell-inspiron
laptop
power-supply
throttling
Вверх