GNU/Linux >> Belajar Linux >  >> Ubuntu

Bagaimana Cara Membuat Perubahan Pada /proc/acpi/wakeup Permanen?

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

Setelah mengubah pengaturan, sistem akan dengan sempurna menjadi penangguhan dan tetap ditangguhkan, tetapi setelah saya membangunkannya kembali, pengaturan di /proc/acpi/wakeup berbeda dari yang saya setel.

Sebelum ditangguhkan:

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 memberi tahu sistem untuk menangguhkan, dan itu berfungsi sebagaimana mestinya. Tapi nanti setelah bangun, pengaturannya berubah 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

serta

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

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

Jawaban Terbaik

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

Solusinya didasarkan pada pembuatan kait penangguhan (berdasarkan artikel Archwiki ini). Simpan yang berikut ini sebagai /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 menjadi dinonaktifkan. Jika Anda hanya ingin mengubah perangkat USB tertentu, ubah loop for 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 bisa membantu orang lain yang memiliki masalah yang sama. Pendekatan ini memecahkan masalah bagi saya.

Terkait:Bisakah Ubuntu benar-benar menjalankan semua program Windows?
Ubuntu
  1. Cara membuat perubahan pengaturan khusus file di Vim menggunakan Modeline

  2. Cara Upgrade OpenSUSE 12.2 Ke 12.3 (Desktop &Server)

  3. Cara Membuat Perubahan Resolv.conf Permanen di Ubuntu [Kiat Singkat]

  1. Linux – Menautkan /proc/mnt Ke /proc/mounts?

  2. Linux – Bagaimana Menguji Apakah Perangkat Blok Apakah Hanya-Baca Dari /sys Atau /proc?

  3. Bagaimana /etc/motd Diperbarui?

  1. Bagaimana Cara Membuat Folder Dapat Ditulis Untuk 2 Pengguna Di Grup Yang Berbeda?

  2. Bagaimana Cara Membuat Perubahan Permanen Pada User-dirs.dirs Default?

  3. Bagaimana cara mendapatkan jalur proses di Unix / Linux