4

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

3 ответа3

10

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

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

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

Изменить: Я нашел утилиту, которая позволит вам отключить регулирование неизвестного адаптера, по крайней мере под Windows (я пока не знаю, будет ли утилита работать под Linux или есть что-то подобное). ThrottleStop имеет флажок "BD PROCHOT", который приводит к тому, что напряжение ядра процессора и множитель сбрасываются в нормальное состояние при отключении. По-видимому, это «двухсторонний путь прохождения сигнала к процессору. Он позволяет другим компонентам ноутбука, таким как материнская плата или графический процессор, посылать сигнал процессору, который заставляет процессор думать, что он слишком горячий», подтверждая, что путь такой » Функция "реализована в BIOS" посредством отправки этого сигнала в ЦП при обнаружении неизвестного адаптера переменного тока.

0

Вот независимая от ОС программа, которую вы можете скомпилировать с помощью компилятора C /GCC (при условии, что имеется реализация asprintf) и настроена на автоматический запуск при запуске системы, что должно отключить регулирование на этих ноутбуках на базе Intel. успешно использовал его на ноутбуке Dell Inspiron 5558, на котором запущен Xubuntu с правами суперпользователя для программы, с установленным "msrtools" и "modprobe msr" в файле запуска перед выполнением программы, чтобы разрешить чтение и запись 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;
}
-1

«Платформа Intel Dynamic и тепловая платформа» - это программа, которая ограничивает частоту работы вашего процессора с нормальной скоростью.
Удаление платформы Intel Dynamic и теплового каркаса должно решить проблему.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .