वायरलेस USB कीबोर्ड या माउस (किसी भी लिनक्स डिस्ट्रो के लिए) का उपयोग कर सस्पेंड से जागें


18

मैं एक समाधान के लिए घंटों, शायद और अधिक की तलाश कर रहा था और मैंने इसे पाया। मैं इसे सभी के साथ साझा करना चाहता हूं। इस तरह से इस समस्या को तेजी से हल करना आसान होगा। तो, जैसा कि शीर्षक कहता है, नीचे समाधान है।

जवाबों:


27

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

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

परिणाम, मेरे लिए, यह पता लगाना था कि सभी USB अक्षम थे। तो अब टाइप करें:

1।

sudo su

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

2. मेरे पास 8 यूएसबी पोर्ट हैं ( आप ऐसा करते हैं कि आपके पास जितने भी यूएसबी पोर्ट हैं ), इसलिए:

echo enabled > /sys/bus/usb/devices/usb1/power/wakeup
echo enabled > /sys/bus/usb/devices/usb2/power/wakeup
echo enabled > /sys/bus/usb/devices/usb3/power/wakeup
echo enabled > /sys/bus/usb/devices/usb4/power/wakeup
echo enabled > /sys/bus/usb/devices/usb5/power/wakeup
echo enabled > /sys/bus/usb/devices/usb6/power/wakeup
echo enabled > /sys/bus/usb/devices/usb7/power/wakeup
echo enabled > /sys/bus/usb/devices/usb8/power/wakeup

आगे बढ़ो और यह परीक्षण करें। अब आप किसी भी वायरलेस या वायर्ड कीबोर्ड और माउस से जाग सकते हैं।

तो फिर, हमें उन सभी को सक्षम करने का कारण होना चाहिए, क्योंकि अगले चरण में, हम इसे हर रिबूट के बाद कमांड को निष्पादित करने के लिए rc.local में लिखेंगे, और रिबूट के बाद कुछ linux distros (शायद सभी) usb पोर्ट को बदल सकते हैं। हमें उन सभी को सक्षम करके कुछ भी गलत होने की चिंता नहीं है, क्योंकि लिनक्स सस्पेंड या हाइबरनेशन में है, यह कुछ भी डाउनलोड करने के लिए वाईफाई का उपयोग नहीं कर सकता है, इसलिए हम इसे बिना जगाए नहीं करेंगे। ।

अगला कदम:

3।

sudo nano /etc/rc.local

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

बस। अब से हम अपने वायरलेस usb और माउस को सस्पेंड से जगाने के लिए इस्तेमाल कर सकते हैं।

मुझे आशा है कि यह आप सभी के लिए काम करता है। यह गाइड इंटरनेट के आसपास अन्य सभी संभावित समाधानों के परीक्षण के बाद बनाया गया था।


6
यदि आप यह पता लगाना चाहते हैं कि कौन सा डिवाइस कौन सा है, तो आप /sys/bus/usb/devices/<device id>/productटेक्स्ट विवरण के लिए देख सकते हैं ।
ntc2

मैंने सभी उपकरणों को " grep . /sys/bus/usb/devices/*/power/wakeup" में सक्षम किया लेकिन फिर भी काम नहीं किया। शायद ऐसा इसलिए है क्योंकि कीबोर्ड और माउस अप्रत्यक्ष रूप से जुड़े हुए हैं - वायरलेस से डोंगल से जो स्क्रीन पर रहता है? स्क्रीन को लैपटॉप के माध्यम से यूएसबी से जोड़ा जाता है।
एलिकएल्ज़िन-किलाका

1
जैसा कि @ ntc2 ने कहा, प्रत्येक के विवरण को देखने के लिए इसका उपयोग करें: grep . /sys/bus/usb/devices/*/productमुझे यह पता लगाने में मदद मिली कि मैं क्या देख रहा हूं
बेन यित्जाकी

यदि यह अभी भी काम नहीं करता है, तो सुनिश्चित करें कि आपके डिवाइस (कीबोर्ड / माउस) में अभी भी शक्ति है जब पीसी स्लीप मोड में है। यदि आपके डिवाइस पर कोई एलईडी नहीं है, तो आप यूएसबी पोर्ट पर पावर की जांच करने के लिए एक यूएसबी पॉवर मॉनिटर (उन्हें लगभग 10 डॉलर ऑनलाइन पा सकते हैं) का उपयोग कर सकते हैं।
जे स्मिथ

इस प्रश्न का स्थायी हिस्सा अब कम से कम ubuntu 18.04 के साथ काम नहीं करता है। इसके अलावा ( Askubuntu.com/a/874701/516072 ) ने पावलोस-थियोडोरो द्वारा प्रदान किए गए इस उत्तर के लिए उबंटू में स्थायी भाग के लिए मदद की 18.04
लॉरेंस

11

ऊपर मेरे गाइड के अलावा मैं इस जानकारी को जोड़ना चाहता हूं, क्योंकि मुझे हाल ही में पता चला है कि नींद से जागने के बाद कुछ वायरलेस यूएसबी डिवाइस, वे वापस निष्क्रिय करने के लिए वापस आते हैं। मैं दोहराता हूं, केवल कुछ यूएसबी डिवाइस ही ऐसा करते हैं, सभी नहीं। यही कारण है कि मैंने अपने गाइड पर इस छोटे गाइड को नहीं जोड़ा।

तो आपने जैसा कि मैंने ऊपर निर्देश दिया था और आपका पीसी सफलतापूर्वक उठ गया था, लेकिन बाद में अचानक यह फिर से नहीं उठता।

समाधान:

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

lsusb

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

अगला काम:

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

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

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

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

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

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


4
अपने पहले उत्तर में इसे शामिल करने के लिए बेहतर है।
ntc2

1
वे 2 अलग चीजें हैं। 1, वेक अप समस्या का उत्तर है। दूसरा व्यक्ति "बिना बूट को निष्पादित करने के लिए एक नियम कैसे बनाएं" यह अधिक पसंद है और यह सिर्फ एक "अतिरिक्त" है क्योंकि हर कोई नहीं जानता कि यह कैसे करना है और इसके लिए कोई सरल शौकिया गाइड नहीं है।
पावलोस थियोडोरो

2

पावलोस थियोडोरो का जवाब बहुत मददगार है। मैं यह जोड़ना चाहूंगा कि आप usb डिवाइस को देख सकते हैं कि आपका माउस / कीबोर्ड एक- दो बार grep के माध्यम से dmesg पाइपिंग द्वारा बूट-अप से जुड़ा है , फिर एक बार egrep , और अंत में पूंछ का उपयोग करके सुनिश्चित करें कि यह सबसे हाल का था प्रवेश।

इस पद्धति का उपयोग करते हुए, आपको सभी USB पोर्ट पर वेक सक्षम करने की आवश्यकता नहीं है ।

मैंने अपनी /etc/rc.local फाइल में निम्नलिखित डाला और यह हर बार मेरे लॉजिटेक रिसीवर को ढूंढता है, भले ही एक यूएसबी पोर्ट से दूसरे में ले जाया गया हो। "Logitech K270" के स्थान पर dmesg से अपने कीबोर्ड या माउस का नाम बदलें

KB="$(dmesg | grep "Logitech K270 as" | grep -o -P "usb.{0,5}" | egrep -o ".{0,3}$" | tail -1)"
echo enabled > /sys/bus/usb/devices/${KB}/power/wakeup

यह बूट पर काम करता है, लेकिन सस्पेंड से उठने पर नहीं लगता है, इसलिए मुझे स्क्रिप्ट फाइल को / lib / systemd / system-sleep / में रखना पड़ता है। इसे बनाएं, इसे वैश्विक रूप से निष्पादन योग्य के रूप में सेट करें और इसे एक नाम दें जो 00 और 99 के बीच एक दोहरे अंक की संख्या के साथ शुरू होता है। मेरी स्क्रिप्ट इस प्रकार है, फिर से अपने कीबोर्ड / माउस वर्श को dmesg से प्रतिस्थापित करें :

#!/bin/sh

# Action script to enable wake after suspend by keyboard or mouse

if [ $1 = post ]
    then
    KB="$(dmesg | grep "Logitech K270 as" | grep -o -P "usb.{0,5}" | egrep -o ".{0,3}$" | tail -1)"
    echo enabled > /sys/bus/usb/devices/${KB}/power/wakeup
fi

if [ $1 = pre ]
    then
    KB="$(dmesg | grep "Logitech K270 as" | grep -o -P "usb.{0,5}" | egrep -o ".{0,3}$" | tail -1)"
    echo enabled > /sys/bus/usb/devices/${KB}/power/wakeup
fi

किसी कारण के लिए मैं समझा नहीं सकता, 'पोस्ट' नींद अगर स्टेटमेंट केवल हर दूसरे वेक-अप का काम करती है ... लेकिन अगर स्टेटमेंट हर बार काम करने लगता है तो 'प्री' स्लीप ।


1

उपर्युक्त उत्तरों में से किसी ने भी मेरी मदद नहीं की। यही कारण है कि मैं यहाँ अपनी खुद की पोस्ट करता हूं।

सक्षम / अक्षम USB उपकरणों के लिए निलंबित से जगा

केडीई नियॉन 5.16.2 में परीक्षण, उबंटू 18.04 पर आधारित है, लेकिन किसी भी वितरण में काम करना चाहिए।


1. सक्षम करने / अक्षम करने के लिए उस व्यक्ति की पहचान करने के लिए USB उपकरणों की सूची दिखाएं:

grep . /sys/bus/usb/devices/*/product

आपको इस तरह से कुछ प्राप्त करना चाहिए:

/ sys / बस / usb / उपकरण / 3-3 / उत्पाद: कॉर्ड ऑप्टिकल माउस
/sys/bus/usb/devices/3-4.3/product:802.11n WLAN एडाप्टर
/sys/bus/usb/devices/3-4.4/product:USB रिसीवर
/sys/bus/usb/devices/3-4/product:USB2.0 हब
/sys/bus/usb/devices/4-4/product:USB3.0 हब
/ sys / बस / usb / उपकरण / usb1 / उत्पाद: EHCI होस्ट नियंत्रक
/ sys / बस / usb / उपकरण / usb2 / उत्पाद: EHCI होस्ट नियंत्रक
/ sys / बस / usb / उपकरण / usb3 / उत्पाद: xHCI होस्ट नियंत्रक
/ sys / बस / usb / उपकरण / usb4 / उत्पाद: xHCI होस्ट नियंत्रक


2. सभी USB उपकरणों की जागो स्थिति की जाँच करें:

पकड़ना। / Sys / बस / USB / उपकरणों / * / शक्ति / Wakeup

परिणाम कुछ इस तरह होना चाहिए:

/ Sys / बस / USB / उपकरणों / 1-1 / बिजली / Wakeup: विकलांग
/ Sys / बस / USB / उपकरणों / 2-1 / बिजली / Wakeup: विकलांग
/ Sys / बस / USB / उपकरणों / 3-11 / शक्ति / Wakeup: विकलांग
/ Sys / बस / USB / उपकरणों / 3-3 / शक्ति / Wakeup: सक्षम
/sys/bus/usb/devices/3-4.4/power/wakeup:disabled
/ Sys / बस / USB / उपकरणों / 3-4 / शक्ति / Wakeup: विकलांग
/ Sys / बस / USB / उपकरणों / 4-4 / शक्ति / Wakeup: विकलांग
/ Sys / बस / USB / उपकरणों / USB1 / शक्ति / Wakeup: विकलांग
/ Sys / बस / USB / उपकरणों / USB2 / शक्ति / Wakeup: विकलांग
/ Sys / बस / USB / उपकरणों / USB3 / शक्ति / Wakeup: विकलांग
/ Sys / बस / USB / उपकरणों / USB4 / शक्ति / Wakeup: विकलांग

मेरे मामले में वेक अप केवल USB डिवाइस 3-3 के लिए सक्षम है जो कि पिछली सूची के अनुसार, "कॉर्ड ऑप्टिकल माउस" है।

मैं केवल वायरलेस कीबोर्ड के लिए सस्पेंड से जागने को सक्षम करना चाहता हूं और बाकी के लिए इसे अक्षम करता हूं। कीबोर्ड USB रिसीवर एक HUB से जुड़ा होता है और पिछली सूची ("USB रिसीवर") पर 3-4.4 से मेल खाता है।


3. एक स्क्रिप्ट बनाएं जो काम करती है:

रूट अनुमतियां प्राप्त करने के लिए:

sudo su

फिर हम स्क्रिप्ट के लिए फ़ाइल बनाते हैं (फ़ाइल को "usbwakeup" या जो भी वर्णनात्मक आप चाहते हैं, कहा जा सकता है):

nano /etc/init.d/usbwakeup 

फ़ाइल की सामग्री। "SCRIPT ACTIONS" अनुभाग को बदलकर अपनी आवश्यकताओं के अनुसार इसे अनुकूलित करें (किसी दिन मैं फिर से खोलने पर उन्हें वास्तव में क्या करना है, यह जानने के लिए लिपियों में टिप्पणी जोड़ना पसंद करता हूं):

#! / बिन / बैश
#
#######################
# सामान्य जानकारी #
#######################
#
# - यह स्क्रिप्ट USB उपकरणों के लिए सस्पेंड # से उठने / निष्क्रिय करने में सक्षम बनाता है।
#
# - स्क्रिप्ट को निष्पादन अनुमति की आवश्यकता है।
#
# - सिस्टम शुरू होने पर इस स्क्रिप्ट को निष्पादित करने के लिए, वहाँ होना चाहिए
# प्राथमिकता S01 के साथ /etc/rc3.d/ में इसका एक प्रतीकात्मक लिंक
# (उदाहरण के लिए: /etc/rc3.d/S01usbwakeup)
#
###########################
# संबंधित USEDUL COMMANDS #
###########################
#
# - USB उपकरणों को पहचानें:
# जीआरपी / Sys / बस / USB / उपकरणों / * / उत्पाद
#
# - USB उपकरणों के "सस्पेंशन ऑफ वेकेशन" की स्थिति की जाँच करें:
# जीआरपी / Sys / बस / USB / उपकरणों / * / शक्ति / Wakeup
#
#
##################
# SCRIPT कार्य #
##################
#
# ऑप्टिकल माउस के लिए सस्पेंड से उठता विकार
इको अक्षम> / sys / बस / usb / उपकरण / 3-3 / शक्ति / वेकअप
#
# वायरलेस कीबोर्ड के लिए सस्पेंड से जागने में सक्षम
मैंने USB पोर्ट Nr.4 में USB 3.0 HUB से कनेक्ट किया है
इको सक्षम> / sys/bus/usb/devices/3-4.4/power/wakeup


4. इसे निष्पादन की अनुमति दें:

chmod +x /etc/init.d/usbwakeup


5. बूट पर शुरू करने के लिए /etc/rc3.d/ में एक प्रतीकात्मक लिंक बनाएं:

sudo ln -s /etc/init.d/usbwakeup /etc/rc3.d/S01usbwakeup


सिस्टम को पुनरारंभ करने से स्क्रिप्ट में निर्दिष्ट सब कुछ काम करना चाहिए। परिवर्तन लगातार बने रहेंगे क्योंकि उन्हें प्रत्येक सिस्टम बूट के साथ निष्पादित किया जाएगा।

परामर्श प्राप्त सूत्र (इस पद के अलावा):

https://ubuntuforums.org/showthread.php?t=2388336

https://www.thomasmonaco.com/prevent-usb-devices-waking-ubuntu-sleep/

/unix/83748/the-rc0-d-rc1-d-directories-in-etc


मैंने अभी-अभी और दिलचस्प पोस्ट पाया है जहां यह समझाया गया है कि एक ही उद्देश्य के लिए एक सरल जीयूआई कैसे बनाया जाए। मैंने इसका परीक्षण नहीं किया है, लेकिन यह शायद किसी को इसे चित्रमय बनाने में मदद कर सकता है और सक्षम / अक्षम करने के लिए एक क्लिक की आसानी के साथ: bernaerts-nicolas.fr/linux/74-ubuntu/220-ubuntu-resume-usb- छिपी
जुआन गोमेज़ कैरिलो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.