मैं निलंबन और / या हाइबरनेशन से तत्काल जागने को कैसे रोकूं?


35

कुछ दिनों के लिए, मेरे उबंटू 12.04 डेस्कटॉप कंप्यूटर रहस्यमय तरीके से सस्पेंड मोड पर जाने के तुरंत बाद जाग गया है।

स्थापना के बाद से, मेरा Ubuntu 12.10 लैपटॉप कंप्यूटर भी निलंबन और हाइबरनेशन के तुरंत बाद फिर से शुरू हो गया है।

उन को कैसे रोका जाए?

जवाबों:


35

यह समस्या शायद अजीब USB संकेतों के कारण हुई थी। gedit /proc/acpi/wakeupमुझे दिखाया, कि वेकअप USB0 और USB2 के लिए सक्षम था।

sudo -s
echo USB0 > /proc/acpi/wakeup
echo USB2 > /proc/acpi/wakeup

उन्हें अक्षम ( gedit /proc/acpi/wakeupफिर से या फ़ाइल-दृश्य को रिफ्रेश करके) अक्षम किया गया , और उसके बाद, कंप्यूटर सस्पेंड में रहता है, जैसे उसे होना चाहिए। :-)


यह समाधान मेरे काम नहीं आया। PS2K सक्षम किया गया (कीबोर्ड वेकअप) लेकिन इसे बदलने से कोई फर्क नहीं पड़ा।
ब्रायस

4
मेरे मामले में कोई USB * डिवाइस नहीं थे, ऐसा लगता है कि वे आंतरिक रूप से USB- हब के माध्यम से जुड़े हुए थे: EHC1, EHC2 और XHC को / proc / acpi / awup में जोड़ने से मुझे मदद मिली।
व्लादिमीर रुटस्की

2
मेरे मामले में यह USB 3 के लिए XHCI था
एंडी

@Bazon आप पर एक नज़र डाल सकते हैं http://askubuntu.com/questions/852600/ubuntu-16-04-wakes-up-immediately-from-suspend-after-installing-fprint-in-lenovoऔर मुझे यह पता लगाने में मदद कर सकते हैं
कसुन सियामबलपिटिया

मेरे लिए IGBEकाम करना अक्षम कर दिया गया
कसून सियामबलपिटिया

22

मैं हाल ही में Ubuntu 15.04 पर Asus Zenbook Pro UX501 पर एक ही लक्षण था। Bazon का सटीक समाधान काम नहीं आया लेकिन व्लादिमीर रुटस्की की भिन्नता थी। विशेष रूप से:

यदि टर्मिनल से चल रहा है cat /proc/acpi/wakeupतो निम्न पंक्तियाँ दिखाता है

EHC1      S3    *enabled  pci:0000:00:xx.x
EHC2      S3    *enabled  pci:0000:00:xx.x
XHC       S3    *enabled  pci:0000:00:xx.x

(पीसीआई पते अलग हो सकते हैं)

फिर निम्न आदेश जारी करके इन तीनों को निष्क्रिय कर दें:

sudo -s
echo EHC1 > /proc/acpi/wakeup
echo EHC2 > /proc/acpi/wakeup
echo XHC > /proc/acpi/wakeup

उपरोक्त कार्य करने से मेरी समस्या का समाधान नहीं होता है :(
कसून सियामबलपिटिया 3

मेरे लिए IGBEकाम करने में अक्षम , तीन से ऊपर नहीं
कसुन सियामबलपिति

@ilikerrobots यह इसे स्थायी रूप से ठीक नहीं करता है, इसे स्थायी रूप से कैसे ठीक किया जाए
कसुन सियामबलपिटिया

GLAN जल्दी से सक्षम होने के लिए वापस स्विच करता है। कोई विचार क्यों?
अल्फ्रेड एम।

इसे बनाए रखने के लिए इसे एक क्रोन प्रविष्टि के लिए समयबद्ध रखें @reboot। मुझे यह केवल इको चलाने के लिए उपयोगी लगा, अगर यह वास्तव में एक शेल स्क्रिप्ट में एक परीक्षण डालकर सक्षम किया egrep -q '^XHC1\s+S[0-9]\s+\*enabled' /proc/acpi/wakeup && echo XHC1 > /proc/acpi/wakeupगया था (मेरी समस्या डिवाइस एक्सएचसी 1 थी - एक यूएसबी चिपसेट)।
डेविड स्कोन

15

यदि आप जानते हैं कि कौन सी डिवाइस जगाती है तो आपका पीसी गाइड का पालन करने के लिए पहले चरण पर जाता है। यदि आप नहीं करते हैं, तो टर्मिनल खोलें और करें:

cat /var/log/syslog

और पता करें कि कौन सा डिवाइस आपके पीसी को जगा रहा है।

तो अब:

  1. टर्मिनल में मारा:

    grep . /sys/bus/usb/devices/*/power/wakeup
    

हमारे पीसी को जगाने वाले सभी यूएसबी पोर्ट को सूचीबद्ध करने के लिए।

sudo su

हमारे पास अब रूट निजीकरण हैं।

2. मेरे पास 8 USB पोर्ट हैं और इस उदाहरण में हम कहते हैं कि मैं usb8 को निष्क्रिय करना चाहता हूं, इसलिए:

echo disabled > /sys/bus/usb/devices/usb8/power/wakeup

आगे बढ़ो और यह परीक्षण करें। अब USB पोर्ट 8 में वह विशिष्ट उपकरण पीसी को नहीं जगाएगा।

अगला कदम, प्रत्येक बूट के बाद परिवर्तन को स्थायी बनाने के लिए:

3।

sudo nano /etc/rc.local

और हम चरण 2 से कमांड पेस्ट करते हैं। वहां (कोर्स से बाहर निकलने से पहले)।

बस।

वैकल्पिक केवल तभी जब स्लीप / वेकअप USB 8 डिवाइस को प्रोसेस करता है, मेरे उदाहरण में, वापस सक्षम करने के लिए।

  1. udevहर बूट, नींद, जागने के बाद कमांड को निष्पादित करने के लिए भी एक नियम लिखें ।

एक टर्मिनल खोलें और करें:

lsusb

आपके कीबोर्ड डिवाइस आईडी की जानकारी में 4 पहले अंक विक्रेता आईडी हैं और 4 अगले अंक उत्पाद आईडी हैं स्क्रीनशॉट

अगला काम:

sudo nano /etc/udev/rules.d/10-wakeup.rules

जहां "जागो" स्क्रिप्ट के अपने वांछित नाम दर्ज करें। नंबर 10 प्राथमिकता है यदि आपके पास कई अन्य udv नियम हैं, तो कम संख्या 'नियम' को दूसरों के सामने निष्पादित किया जाएगा।

इसे कॉपी पेस्ट करें और अपने स्वयं के वायरलेस कीबोर्ड विक्रेता आईडी और उत्पाद आईडी के साथ विक्रेता आईडी और उत्पाद आईडी को बदलें।

ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="062a", ATTRS{idProduct}=="4101" RUN+="/bin/sh -c 'echo disabled > /sys/bus/usb/devices/usb8/power/wakeup'"

* मेरे लिए usb8 मेरा वायरलेस कीबोर्ड है (आप स्क्रीनशॉट (बस 008) में भी देख सकते हैं), इसे अपने खुद के साथ बदलें।

Ctrl+ Oको बचाने के लिए, Ctrl+ Xबाहर निकलें और रिबूट करने के लिए।


धन्यवाद! यह दिलचस्प लग रहा है। क्या आप अपने गाइड को यहां जोड़ने का मन बना रहे हैं (इसे बदलते हुए यह इस प्रश्न के विशिष्ट मुद्दे को संबोधित करता है)
जियोफ्रे

धन्यवाद। यह वह नहीं है जो मैं चाहता था, लेकिन यह मुझे समस्या को ठीक करने के लिए मिला - rc.local फ़ाइल को संशोधित करके (मेरा मुद्दा USB पोर्ट के लिए विशिष्ट नहीं है)। मैंने अपना स्वयं का समाधान पोस्ट किया है, लेकिन आपको इनाम मिलेगा (हालांकि मैं इसे कल से पहले नहीं दे सकता)
जियोफ्रे

जो निष्क्रिय करने के लिए सुरक्षित हैं? यदि मैं सभी को अक्षम कर दूं तो क्या मैं समस्या में चला जाऊंगा? मेरे लिए एकमात्र सक्षम / sys / बस / usb / उपकरण / 1-2 / शक्ति / वेकअप है: सक्षम
अल्फ्रेड एम।

syslog ने यह भी उल्लेख नहीं किया कि कंप्यूटर क्या जगा रहा है
केन शार्प

5

फिक्स को स्थायी करने के लिए

(मैं Bazon, Ilikerobots और Pavlos Theodorou द्वारा प्रदान किए गए समाधानों को संकलित कर रहा हूं - साथ में वे एक विशिष्ट उद्देश्य को संबोधित करते हैं)

इस समस्या को स्थायी रूप से ठीक करने के लिए, चाहे वह सिस्टम या किसी और चीज से जागने वाला USB पोर्ट हो:

  1. जानें कि आपके सिस्टम को जगाने की अनुमति क्या है:

gedit / proc / acpi / awup

आपको ये या समान लाइनें मिल सकती हैं:

EHC1 S3 * सक्षम pci: 0000: 00: xx.x

EHC2 S3 * सक्षम pci: 0000: 00: xx.x

XHC S3 * सक्षम pci: 0000: 00: xx.x

फिर खोलें:

सुडो गेडिट /etc/rc.local

और पहले इन परिणामों (या इससे ऊपर के परिणामों के आधार पर) को जोड़ दें exit 0

इको EHC1> / proc / acpi / वेकअप

इको EHC2> / proc / acpi / वेकअप

इको XHC> / proc / acpi / awup


ओह, मैंने इसके बारे में नहीं सोचा। बेशक यह एक यूएसबी के अलावा एक और पोर्ट हो सकता है। मुझे खुशी है कि आपने इसे हल किया।
पावलोस थियोडोरो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.