4-буквений код ACPI будильника означає?


19

Я повинен відключити якусь подію, щоб уникнути негайного пробудження після призупинення роботи на моєму настільному верстаті, і я зробив це методом проб і помилок (працює добре, так що це не проблема). Але мені цікаво ... наприклад, у своєму ноутбуці у мене довгий список /proc/acpi/wakeup:

[...]
RP03      S4    *disabled
PXSX      S4    *disabled
RP04      S4    *disabled  pci:0000:00:1c.3
PXSX      S4    *enabled   pci:0000:03:00.0
RP06      S4    *disabled
[...]

Я здійснив обшук і не можу знайти місця, де пояснюється список із значенням 4-літерного коду в першій колонці. Я думаю, що події з ім'ям пристрою після них пов'язані / генеровані цим пристроєм, але я втрачаю більшість решти ... мінус дикі здогадки.

Як я можу знати, що, наприклад, подія RP06? Чи є десь список? Або це коди, що залежать від продавця?

Відповіді:


24

Коди надходять з DSDT (Таблиця опису диференційованої системи) вашого BIOS. Ця "таблиця" описує інтегровані пристрої на вашій материнській платі, їх залежності та функції управління енергією.

Пристрої в DSDT розташовані у дереві, і кожен компонент контуру обмежений 4 символами. Коди в /proc/acpi/wakeup- це останні компоненти компонентів (також імена) пристроїв, які постачальник використовував для пристроїв.

Вони по своїй суті залежать від постачальника, оскільки постачальник може називати будь-який пристрій так, як йому подобається. Але є деякі імена, які є загальними для багатьох постачальників, або тому, що вони використовуються як приклади в специфікації ACPI, або тому, що вони є очевидними абревіатурами:

  • PS2K: клавіатура PS / 2
  • PS2M: PS / 2 миша
  • PWRB або PBTN: кнопка живлення
  • КРІШКА: Кришка ноутбука
  • RP0x або EXPx: слот PCIE #x (aka PCI Express Root Port #x)
  • EHCx або USBx: чіп USB 2.0 (EHCI)
  • XHC: мікросхем USB 3.0 (XHCI)
  • PEGx: PCI Express для графічного слота #x
  • GLAN: Гігабітний Ethernet

2
Чудова відповідь! Спасибі. А як щодо IGBE та HDEF? ;-)
Monah Tuk

3
Ну, вони в основному залежать від постачальника, тому ви не можете бути занадто впевненими. Але HDEF, швидше за все, означає "Висока чіткість", тому це, швидше за все, інтегрований аудіопристрій, і IGBE може означати "Intel Gigabit Ethernet" або "Інтегрований гігабітний Ethernet", тому це повинен бути контролер локальної мережі Ethernet.
cg909

Про що PXSX?
BuZZ-dEE

1
@ BuZZ-dEE, PXSXсхоже, є загальною назвою для пристроїв, що використовують PCI Express. Принаймні на моєму комп’ютері є один пристрій PXSX, відповідний кожному пристрою RP0x. Ви можете отримати більше інформації, прочитавши DSDT свого комп'ютера . Якщо в правій частині /proc/acpi/wakeupвиводу є ідентифікатор PCI, ви можете співвіднести його з результатомlspci
cg909

2

Документація ядра Linux на простір імен acpi дає деякі підкреслювальні підказки про те, якими можуть бути ці абревіатури, наприклад, "Область застосування (RP03): область потужності PCI0", а джерело ядра для файлу / proc каже, що це dev->pnp.bus_id, але це не так допомогу.

958 сторінки acpi spec 5.0 дуже цікаві, але жодна допомога в цих іменах теж.


2

Ви можете витягнути та декомпілювати таблицю ACPI для свого комп’ютера.

Використовуючи компілятор ASL від Intel, ви можете перетворити таблицю DSDT для системи у вихідний код.

Вам потрібно буде встановити acpica-tools:

  • Ubuntu: sudo apt-get install acpica-tools
  • Arch Linux: sudo pacman -S --needed acpica

Ось такі кроки:

  1. Витягнути таблиці ACPI (як корінь): # cat /sys/firmware/acpi/tables/DSDT > dsdt.dat
  2. Декомпілювати: iasl -d dsdt.dat ми отримуємо вихідний файлdsdt.dsl
  3. Знайдіть пристрій, визначений у ньому, /proc/acpi/wakeupі порівняйте йогоdsdt.dsl

Список літератури

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.