Muszę wyłączyć jakieś zdarzenie, aby uniknąć natychmiastowego wznowienia działania po zawieszeniu w komputerze stacjonarnym, i wykonałem to metodą prób i błędów (działa dobrze, więc nie stanowi to problemu). Ale zastanawiam się ... na przykład w moim laptopie mam długą listę /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
[...]
Szukałem dookoła i nie mogę znaleźć miejsca, w którym wyjaśniona zostanie lista o znaczeniu 4-literowego kodu w pierwszej kolumnie. Wyobrażam sobie, że zdarzenia z nazwą urządzenia po nich są powiązane / generowane przez to urządzenie, ale brakuje mi większości reszty ... minus zgadywanki.
Skąd mam wiedzieć, na przykład, jakie RP06
jest wydarzenie ? Czy jest gdzieś lista? Czy te kody są specyficzne dla dostawcy?
źródło
PXSX
?PXSX
wydaje się być ogólną nazwą dla urządzeń korzystających z PCI Express. Przynajmniej na moim komputerze jest jedno urządzenie PXSX odpowiadające każdemu urządzeniu RP0x. Możesz uzyskać więcej informacji, czytając DSDT swojego komputera . Jeśli po prawej stronie na/proc/acpi/wakeup
wyjściu jest identyfikator PCI , możesz go skorelować z wyjściemlspci
Dokumentacja jądra systemu Linux na temat przestrzeni nazw acpi zawiera kuszące wskazówki na temat tych skrótów, np. „Zakres (RP03): zakres mocy PCI0”, a źródło jądra dla pliku / proc mówi, że jest
dev->pnp.bus_id
, ale to nie Wsparcie.958 strona acpi spec 5.0 jest bardzo interesująca, ale też nie pomaga w tych nazwach.
źródło
Możesz wyodrębnić i zdekompilować tabelę ACPI dla swojego komputera.
Korzystając z kompilatora ASL Intela, możesz zamienić systemową tabelę DSDT w kod źródłowy.
Musisz zainstalować
acpica-tools
:sudo apt-get install acpica-tools
sudo pacman -S --needed acpica
Oto kroki:
# cat /sys/firmware/acpi/tables/DSDT > dsdt.dat
iasl -d dsdt.dat
otrzymujemy plik wyjściowydsdt.dsl
/proc/acpi/wakeup
i porównaj jedsdt.dsl
Bibliografia
źródło