Я заметил ошибку из вывода dmesg, что ubuntu не может включить ASPM:
[ 0.192722] pci0000:00: ACPI _OSC support notification failed, disabling PCIe ASPM
[ 0.192728] pci0000:00: Unable to request _OSC control (_OSC support mask: 0x08)
Хотя я знаю, что это не ошибка, я хотел бы спросить, есть ли способ исправить включите и включите ASPM, причина в том, что он должен увеличить время автономной работы (powertop показывает, что PCIe всегда включен на 100%).
Редактировать: я работаю на ASUS Eee PC 1015px с последней версией BIOS (1401)
Я вставляю это из своего блога (плюс некоторые изменения), так как это добавляет некоторый контекст к этому вопросу.
Активное управление питанием (ASPM) может управлять устройствами с последовательным подключением на основе PCI Express для увеличения времени автономной работы мобильных устройств, таких как ноутбуки и нетбуки. ASPM - это протокол управления питанием, который позволяет управлению питанием операционной системы переводить физический уровень канала в режим низкого энергопотребления, а также дает возможность другим устройствам на этом канале также переходить в режим пониженного энергопотребления.
Плюсом является то, что мы экономим электроэнергию с помощью ASPM, однако это приведет к некоторой задержке, поскольку шине требуется время для пробуждения в состоянии низкого энергопотребления. Спецификация PCIe (версия 2.0) определяет два режима питания:
L0s, которые устанавливают режим низкого энергопотребления в направлении на линии (обычно от нижестоящего контроллера уровня физической линии)
L1, который устанавливает режим пониженного энергопотребления в обоих направлениях на линии связи, однако существует большая задержка активации.
К сожалению, кажется, что ваша прошивка указывает ядру, что оно действительно не поддерживает ASPM на вашем оборудовании. Ядро запросило прошивку с помощью элемента управления ACPI _OSC, чтобы узнать, поддерживается ли ASPM, и сообщается, что оно не поддерживается, поэтому ASPM отключен. Причины такого отключения зависят от поставщика. Это может быть из-за того, что в Windows что-то просто зависает или ненадежно с включенным ASPM, поэтому прошивка полностью его отключает.
Linux также предоставляет некоторые параметры ядра драйвера ASPM для обеспечения некоторого уровня настраиваемости. Можно использовать следующие параметры ядра:
отключить ASPM:
pcie_aspm=off
использовать конфигурацию встроенного ПО по умолчанию:
pcie_aspm=default
отключает ASPM и управление тактовой мощностью:
pcie_aspm=performance
режим наибольшего энергосбережения, включить ASPM и управление тактовой мощностью:
pcie_aspm=powersave
включить ASPM:
pcie_aspm=force
Возможно, вы захотите повозиться с последней настройкой посмотрите, можете ли вы переопределить настройки ASPM по умолчанию.