فقط سوالی که باقی میمونه این هست که هرکدوم از deviceهای فهرست /proc/acpi/wakeup چی هستن
این دیوایس ها توسط acpi (بخوام دقیق تر بگم توسط dsdt که قسمتی از مشخصات acpi هستش) شناسایی می شن و از اونجایی که تو استاندارد acpi ،سیستم عامل از طریق بایوس دسترسی به سخت افزارا رو پیدا می کنه پس امکان تغییر وضعیت اکثر این دیوایس ها از طریق خود سیستم عامل ممکنه ولی وضعیت
بعضی از این دیوایس ها
فقط از طریق بایوس قابل تغییر هستن
این دیوایس های شامل دیوایس های یکپارچه با مادربورد شما و دیوایس های متصل به ماردبورد شما هستن
اسم این دیوایس ها به این صورت هستش (البته من خودم هم همش رو بلد نیستم) :
PWRB : دکمه ی پاور
SLPB : دکمه ی sleep
PS2K : کیبورد با اتصال ps/2
PS2M : ماوس با اتصال ps/2
EHC : یو اس بی ۲
USB : بازم یو اس بی ۲
XHC : یو اس بی ۳
PEG : اسلات PCI-Express مخصوص گرافیک
HDEF : چیپ صدا
IGBE : چیپ اترنت
UAR : گیرنده ی ناهمگام جهانی (Universal Asynchronous Receiver)
P0P : [فک کنم چون اینو مطمئن نیستم] چیپ اترنت (integrated Ethernet)
LID : بستن لپ تاپ
از کجا میشه حالتشون رو تغییر داد؟
تمام اونایی که می شه حالتش رو از طریق خود سیستم عامل (و نه بایوس) تغییر داد رو با دستور زیر پیدا کنین:
grep . /sys/bus/*/devices/*/power/wakeup
این یه لیست دیوایس رو بهتون می ده که آپشن wakeup رو داره بقیه wakeup ندارن
یه سری دیوایس ها هم هستن که از طریق BIOS باید تغییرش بدین (البته اگه بایوس چنین امکانی در اختیارتون بذاره)
و یا اون آخر به ترتیب sleep button و power button هستن. ولی نمیدونم اگر بخوام تغییری در حالتشون ایجاد کنم باید به چه آدرسی برم.
مثلا خروجی این دستور رو رو سیستم خودم می ذارم تا ببینیم مسیر sleep button گذاشت:
cat /proc/acpi/wakeup | grep SLPB
SLPB S4 *enabled platform:PNP0C0E:00
الان همون طور که از قسمت 4 ام معلومه باید تو مسیر platform باشه و اسم دیوایسش PNP0C0E:00 باشه ولی اینو چک می کنم:
grep . /sys/bus/*/devices/*/power/wakeup | grep "PNP0C0E:00" | grep "platform"
/sys/bus/platform/devices/PNP0C0E:00/power/wakeup:disabled
همون طور که می بین چنین دیوایسی هستش
اصلاً با تغییر خود اون فایل میشه تغییرشون داد؟ (شاخهی proc برای چی بود؟)
اگه این فایل رو می گین:
cat /proc/acpi/wakeup
یه زمانی می شد ...
مثلاً تو اینترنت برای حل مشکلاتی مشابه شما چنین دستوراتی پیشنهاد کردن مثلاً
گفته می شد (الان نمی شه) برای غیرفعال کردن USB3 باید اینو با شل روت بزنین:
echo XHC > /proc/acpi/wakeup
ولی الان بلافاصله با خروج از حالت suspend و یا ری استارت سیستم این فایل دوباره بازنویسی می شه و محتوای اون به حالت اول برمی گرده در ضمن این فایل دیگه توسط سیستم خونده نمی شن و فقط یه خروجی هستش برای کاربر تا بفهمه اوضاع چطوریه و سیستم کانفیگ های توی مسیر /sys/bus/usb/devices/usb4/power/wakeup رو می خونه
ولی خب بهترین جا برای دیدن و چک کردن وضعیت wake up فایل /proc/acpi/wakeup هستش که تمام وضعیت رو یک جا داره و اون فایل برای اون هستش