Pertanyaan Bagaimana cara mengubah / proc / acpi / bangun permanen?


Saya memiliki masalah dengan Ubuntu 12.04 saya bangun segera setelah masuk ke suspend. Saya memecahkan masalah dengan mengubah pengaturan di / proc / acpi / wakeup, seperti yang disarankan dalam pertanyaan ini: Bagaimana cara mencegah bangun langsung dari suspend dan / atau hibernasi?.

Setelah mengubah pengaturan, sistem berjalan dengan sempurna untuk menangguhkan dan tetap ditangguhkan, tetapi setelah saya membangunnya kembali, pengaturan di / proc / acpi / wakeup berbeda dari yang saya tetapkan.

Sebelum menangguhkan:

cat /proc/acpi/wakeup
Device  S-state   Status   Sysfs node
SMB0      S4    *disabled  pci:0000:00:03.2
PBB0      S4    *disabled  pci:0000:00:09.0
HDAC      S4    *disabled  pci:0000:00:08.0
XVR0      S4    *disabled  pci:0000:00:0c.0
XVR1      S4    *disabled  
P0P5      S4    *disabled  
P0P6      S4    *disabled  pci:0000:00:15.0
GLAN      S4    *enabled   pci:0000:03:00.0
P0P7      S4    *disabled  pci:0000:00:16.0
P0P8      S4    *disabled  
P0P9      S4    *disabled  
USB0      S3    *disabled  pci:0000:00:04.0
USB2      S3    *disabled  pci:0000:00:04.1
US15      S3    *disabled  pci:0000:00:06.0
US12      S3    *disabled  pci:0000:00:06.1
PWRB      S4    *enabled   
SLPB      S4    *enabled

Saya memberitahu sistem untuk menangguhkan, dan itu berfungsi sebagaimana mestinya. Tetapi kemudian setelah membangunkannya, pengaturan diubah menjadi:

USB0      S3    *disabled  pci:0000:00:04.0
USB2      S3    *enabled   pci:0000:00:04.1
US15      S3    *disabled  pci:0000:00:06.0
US12      S3    *enabled   pci:0000:00:06.1

atau

USB0      S3    *enabled   pci:0000:00:04.0
USB2      S3    *enabled   pci:0000:00:04.1
US15      S3    *enabled   pci:0000:00:06.0
US12      S3    *enabled   pci:0000:00:06.1

Ada ide?


Terima kasih atas tanggapan Anda. Sayangnya itu tidak menyelesaikan masalah saya.

semua

/sys/bus/usb/devices/usb1/power/wakeup
/sys/bus/usb/devices/usb2/power/wakeup
/sys/bus/usb/devices/usb3/power/wakeup
/sys/bus/usb/devices/usb4/power/wakeup

sebaik

/sys/bus/usb/devices/3-1/power/wakeup

diatur untuk dinonaktifkan, dan notebook masih bangun dengan sendirinya setelah tidur. Satu-satunya hal yang tampaknya bereaksi adalah pengaturan di / proc / acpi / wakeup, yang terus berubah (ulang) setiap kali saya mematikan / me-restart notebook saya.


15
2018-06-18 07:13


asal




Jawaban:


Saya mengalami masalah ini lagi pada Ubuntu 12.10. Saran dari pengguna MTS sayangnya juga tidak berhasil untuk saya. Namun, Anda dapat menulis skrip untuk secara otomatis mengatur properti usb di /proc/acpi/wakeup tepat sebelum setiap penangguhan.

Solusinya didasarkan pada pembuatan hook suspend (berdasarkan artikel Archwiki ini). Simpan yang berikut ini /usr/lib/pm-utils/sleep.d/45fixusbwakeup, dan pastikan untuk membuatnya dapat dieksekusi (chmod +x /usr/lib/pm-utils/sleep.d/45fixusbwakeup).

#!/bin/bash
case $1 in
    hibernate)
            echo "Going to suspend to disk!"
            ;;
    suspend)
            echo "Fixing acpi settings."
            for usb in `cat /proc/acpi/wakeup | grep USB | cut -f1`;
            do
                    state=`cat /proc/acpi/wakeup | grep $usb | cut -f3 | cut -d' ' -f1 | tr -d '*'`
                    echo "device = $usb, state = $state"
                    if [ "$state" == "enabled" ]
                    then
                            echo $usb > /proc/acpi/wakeup
                    fi
            done
            echo "Suspending to RAM."
            ;;
    thaw)
            echo "Suspend to disk is now over!"
            ;;
    resume)
            echo "We are now resuming."
            ;;
    *)
            echo "Somebody is callin me totally wrong."
            ;;
esac

Apa yang dilakukan adalah mengubah status setiap Perangkat USB yang saat ini diaktifkan untuk dinonaktifkan. Jika Anda hanya ingin mengubah perangkat USB tertentu, ubah for loop dalam skrip. Misalnya untuk mengubah hanya perubahan USB1 dan USB3

for usb in `cat /proc/acpi/wakeup | grep USB | cut -f1`;

untuk

for usb in 'USB1' 'USB3';

Semoga ini membantu orang lain yang memiliki masalah yang sama. Pendekatan ini memecahkan masalah bagi saya.


10
2018-03-15 14:18



Terima kasih! Saya memodifikasi skrip ini untuk menonaktifkan wakup dari perangkat USB di laptop Sony Vaio saya: gist.github.com/rutsky/1ed8e9779f0b2941c5a6 - Vladimir Rutsky
Saya memodifikasi skrip Anda untuk menonaktifkan wakeup pada LID terbuka (fitur yang benar-benar bodoh dan mengganggu dari sudut pandang saya). Terima kasih! - gumkins
Kait ekstra berguna ini bekerja di Ubuntu & Kubuntu, tetapi tidak di Xubuntu 15.04. Kenapa ya... :( - Reloader
Berikut ini skrip yang dimodifikasi dari Vladimir Rutsky untuk hook tidur sistem bukan pm-utils: gist.github.com/kepi/9dea7aee8a59f3e7c10a - Kepi
Jika ini bisa diperbarui untuk Ubuntu 16.04, itu akan sangat bagus. Saya menggunakan solusi dari sini: askubuntu.com/a/620555/463546 (solusi yang lebih tua), tapi itu agak rumit secara total. - Aleksandr Dubinsky


Mungkin http://forum.xbmc.org/showthread.php?tid=121158 akan membantu?

Inilah yang dikatakannya:

Bagi mereka yang memperbarui ke kernel 3.2 (yang seharusnya setiap orang karena eksploit root baru-baru ini), Anda akan menyadari bahwa USB wakeup Anda mungkin rusak. Mereka mengubah kebijakan default wakeup (http://www.spinics.net/lists/linux-usb/msg53661.html), jadi Anda harus membuat beberapa perubahan:

  • Anda tidak perlu mengaktifkan wakeup lagi /proc/acpi/wakeup, itu diaktifkan secara default
  • Anda harus mengaktifkan bangun untuk hub USB selain perangkat di /sys/bus/usb/devices/*/power/wakeup

Jadi ini:

echo USB1 > /proc/acpi/wakeup
echo enabled > /sys/bus/usb/devices/3-1/power/wakeup

Menjadi:

echo enabled > /sys/bus/usb/devices/usb3/power/wakeup
echo enabled > /sys/bus/usb/devices/3-1/power/wakeup

Semoga ini dapat menyelamatkan orang lain dari pemecahan masalah yang sama.


9
2017-07-17 20:59





Untuk Ubuntu 15+, Anda harus menggunakan systemd dari pada rc.local. Anda dapat google "Membuat layanan systemd" dan mengikuti petunjuk, tetapi perhatikan bahwa mengarahkan output ke /proc/acpi/wakeup itu rumit. Agar berfungsi dengan benar, Anda harus melakukan sesuatu seperti:

/bin/sh -c '/bin/echo XHC > /proc/acpi/wakeup'

Contoh keluaran untuk file layanan (misalnya, /etc/systemd/system/suspendfix.service):

[Unit]
Description=fix to prevent system from waking immediately after suspend

[Service]
ExecStart=/bin/sh -c '/bin/echo XHC > /proc/acpi/wakeup'
Type=oneshot
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

Atau di sini di sini inti


1
2018-04-07 19:49