The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Отключение wakeup для PCIe устройств
Краткий экскурс в историю или как это было раньше.

В файле /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
 
 
27.01.2019 , Автор: Аноним
Ключи: linux, sleep, wakeup, pcie, device, hardware, acpi / Лицензия: CC-BY
Раздел:    Корень / Администратору / Система / Поддержка аппаратного обеспечения

Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.1, Онанимус (?), 12:39, 28/01/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Много профита в реальном использовании? Или почти не сказывается?
     
     
  • 2.2, Аноним (2), 17:35, 28/01/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Наверное, если включить пробуждение компа от сетевой карты. Мне как-то раньше было нужно, чтобы комп вкючался при поступлении специального фрейма Ethernet от роутера, но не добился. Может, проблема была ещё и в этом разрешении, а не толко в BIOS. Но тогда о написанном в этой статье не знал.
     
     
  • 3.15, ABATAPA (ok), 16:35, 03/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    ethtool -s enp1s0 wol g

    man ethtool

     
  • 2.3, ddo (?), 06:55, 30/01/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Профит есть для ядра 4.19.0. У меня после перехода на него ноут перестал уходить в спящий режим. Точнее он уходит, но согласно логам тут же просыпается из-за какого-то устройства USB. Из-за этого откатился на 4.18.0.
     
  • 2.4, Nicknnn (ok), 13:26, 30/01/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Это не про энергосбережение. Это про отключение надоедливого функционала, который, теперь, часто нельзя отключить из bios (UEFI).
     
  • 2.5, пох (?), 16:24, 02/02/2019 [^] [^^] [^^^] [ответить]  
  • +/
    профит в реальном использовании, очевидно, в том, что ноут перестает просыпаться от того что ты задел тачпад.

     

  • 1.6, 50524 (?), 12:45, 03/02/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > cat /proc/acpi/wakeup | grep enabled

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

     
     
  • 2.7, pavlinux (ok), 00:11, 10/02/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не вдупляйешь разницы - не лезь в unixway.
    Разжёвывать не буду, задолбали.  Но с псевдоФС лучше делать cat | grep
     
     
  • 3.9, Уноним (?), 23:06, 12/02/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Извините, но мне лично стало интересно почему для псевдофс кат с пайпом будет лучше, поделитесь?
     
  • 3.12, iv (?), 09:37, 25/02/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Никакой разницы нет. Пожалуйста, разжуйте.
     

  • 1.8, Ilya Indigo (ok), 16:48, 12/02/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А как быстро узнать что это за устройство, например "pci:0000:08:00.0"?
     
     
  • 2.10, Nicknnn (ok), 22:27, 18/02/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    $ lspci -v |grep 08:00.0
    08:00.0 USB controller: ASMedia Technology Inc. ASM2142 USB 3.1 Host Controller (prog-if 30 [XHCI])
     

  • 1.11, InuYasha (?), 13:12, 20/02/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Полезная статья, благодарю!
    Интересно, насколько безопасно так гасить чипсетный контроллер и сколько энергии можно так сэкономить?
     
  • 1.13, выфвы (?), 10:50, 09/03/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Все это фиксится параметрами ядра в конфиге grub, для всего usb stack, а не дергать эту ерунду каждый раз. Вот там почитайте:

    https://github.com/torvalds/linux/blob/master/Documentation/admin-guide/kernel

    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);

     
     
  • 2.16, Nicknnn (ok), 09:54, 04/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо, интересно. Но в более общем случае, например для активации пробуждения от сетевой карты, будет полезно знать, что эхнуть в sys
     

  • 1.14, Michael Shigorin (ok), 22:44, 22/03/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Спасибо, занятно.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру