URL: https://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 116421
[ Назад ]

Исходное сообщение
"Раздел полезных советов: Отключение wakeup для PCIe устройств"

Отправлено auto_tips , 28-Янв-19 12:39 
Краткий экскурс в историю или как это было раньше.

В файле /proc/acpi/wakeup перечислены устройства и возможность пробуждать компьютер из S3 с их стороны. Структура файла wakeup достаточна проста:

   <acpi device name> <S-state> <Status> <Sysfs node>

Небольшой пример

   cat /proc/acpi/wakeup | grep enabled
   EHC1      S4    *enabled   pci:0000:00:1d.0
   XHC       S4    *enabled   pci:0000:00:14.0
   LID0      S3    *enabled   platform:PNP0C0D:00

Для отключения замечательной функции "Пробуждение по клику мышки" ранее требовалось просто сделать

   echo EHC1 > /proc/acpi/wakeup


++ Современность

А в современном мире устройств стало много, а имена им в dsdt таблице стали давать одинаковые.
Небольшой пример:

   PXSX      S4    *enabled   pci:0000:08:00.0
   PXSX      S4    *enabled   pci:0000:09:00.0
   XHC       S4    *disabled  pci:0000:00:14.0

Все эти устройства - usb-контроллеры. В результате дублирования имён echo PXSX больше не работает.


++ Лечение

Вместо отключения через /proc/acpi/wakeup необходимо отключить возможность пробуждения через /sys

  echo disabled > /sys/bus/pci/devices/0000\\:08\\:00.0/power/wakeup
  echo disabled > /sys/bus/pci/devices/0000\\:09\\:00.0/power/wakeup

В результате в /proc/acpi/wakeup  статус изменится

   PXSX      S4    *disabled  pci:0000:08:00.0
   PXSX      S4    *disabled  pci:0000:09:00.0
   XHC       S4    *disabled  pci:0000:00:14.0


URL:
Обсуждается: http://www.opennet.dev/tips/info/3088.shtml


Содержание

Сообщения в этом обсуждении
"Отключение wakeup для PCIe устройств"
Отправлено Онанимус , 28-Янв-19 12:39 
Много профита в реальном использовании? Или почти не сказывается?

"Отключение wakeup для PCIe устройств"
Отправлено Аноним , 28-Янв-19 17:35 
Наверное, если включить пробуждение компа от сетевой карты. Мне как-то раньше было нужно, чтобы комп вкючался при поступлении специального фрейма Ethernet от роутера, но не добился. Может, проблема была ещё и в этом разрешении, а не толко в BIOS. Но тогда о написанном в этой статье не знал.

"Отключение wakeup для PCIe устройств"
Отправлено ABATAPA , 03-Апр-19 16:35 
ethtool -s enp1s0 wol g

man ethtool


"Отключение wakeup для PCIe устройств"
Отправлено ddo , 30-Янв-19 06:55 
Профит есть для ядра 4.19.0. У меня после перехода на него ноут перестал уходить в спящий режим. Точнее он уходит, но согласно логам тут же просыпается из-за какого-то устройства USB. Из-за этого откатился на 4.18.0.

"Отключение wakeup для PCIe устройств"
Отправлено Nicknnn , 30-Янв-19 13:26 
Это не про энергосбережение. Это про отключение надоедливого функционала, который, теперь, часто нельзя отключить из bios (UEFI).

"Отключение wakeup для PCIe устройств"
Отправлено пох , 02-Фев-19 16:24 
профит в реальном использовании, очевидно, в том, что ноут перестает просыпаться от того что ты задел тачпад.


"Отключение wakeup для PCIe устройств"
Отправлено 50524 , 03-Фев-19 12:45 
> cat /proc/acpi/wakeup | grep enabled

man grep && \
grep enabled /proc/acpi/wakeup


"Отключение wakeup для PCIe устройств"
Отправлено pavlinux , 10-Фев-19 00:11 
Не вдупляйешь разницы - не лезь в unixway.
Разжёвывать не буду, задолбали.  Но с псевдоФС лучше делать cat | grep

"Отключение wakeup для PCIe устройств"
Отправлено Уноним , 12-Фев-19 23:06 
Извините, но мне лично стало интересно почему для псевдофс кат с пайпом будет лучше, поделитесь?

"Отключение wakeup для PCIe устройств"
Отправлено iv , 25-Фев-19 09:37 
Никакой разницы нет. Пожалуйста, разжуйте.

"Отключение wakeup для PCIe устройств"
Отправлено Ilya Indigo , 12-Фев-19 16:48 
А как быстро узнать что это за устройство, например "pci:0000:08:00.0"?

"Отключение wakeup для PCIe устройств"
Отправлено Nicknnn , 18-Фев-19 22:27 
$ lspci -v |grep 08:00.0
08:00.0 USB controller: ASMedia Technology Inc. ASM2142 USB 3.1 Host Controller (prog-if 30 [XHCI])

"Отключение wakeup для PCIe устройств"
Отправлено InuYasha , 20-Фев-19 13:12 
Полезная статья, благодарю!
Интересно, насколько безопасно так гасить чипсетный контроллер и сколько энергии можно так сэкономить?

"Отключение wakeup для PCIe устройств"
Отправлено выфвы , 09-Мрт-19 10:50 
Все это фиксится параметрами ядра в конфиге grub, для всего usb stack, а не дергать эту ерунду каждый раз. Вот там почитайте:

https://github.com/torvalds/linux/blob/master/Documentation/...

usbcore.quirks=
j = USB_QUIRK_IGNORE_REMOTE_WAKEUP (device
                    generates spurious wakeup, ignore
remote wakeup capability);

m = USB_QUIRK_DISCONNECT_SUSPEND (Device needs
                    to be disconnected before suspend to
prevent spurious wakeup);


"Отключение wakeup для PCIe устройств"
Отправлено Nicknnn , 04-Апр-19 09:54 
Спасибо, интересно. Но в более общем случае, например для активации пробуждения от сетевой карты, будет полезно знать, что эхнуть в sys

"Отключение wakeup для PCIe устройств"
Отправлено Michael Shigorin , 22-Мрт-19 22:44 
Спасибо, занятно.