मैं किसी विशिष्ट डिवाइस के लिए USB ऑटोसस्पेंड को कैसे निष्क्रिय कर सकता हूं?


18

यह वायरलेस माउस में बैटरी पावर पर अस्थायी रूप से जमा (नींद) में चर्चा किए गए मुद्दे से संबंधित है ।

सारांश: माउस एक निश्चित समय के बाद स्वत: चालू होने के बाद बैटरी पर काम करता है और जागने के लिए अधिक समय की आवश्यकता होती है।

में माउस के रिसीवर के लिए यूएसबी स्वतःस्थगित अक्षम करना powertop एक अस्थायी समाधान है, लेकिन यह एक रिबूट जीवित रहने नहीं देता है।

मैं केवल एक विशिष्ट डिवाइस के लिए यूएसबी ऑटोसस्पेंड को स्थायी रूप से कैसे निष्क्रिय कर सकता हूं ?

एक समाधान जिसमें अतिरिक्त पैकेज स्थापित करना शामिल नहीं है, उसे प्राथमिकता दी जाती है (आखिरकार, मैं कुछ अक्षम करना चाहता हूं ), लेकिन इसकी आवश्यकता नहीं है। PowerTOP को हटाना (जो कुछ के लिए एक समाधान प्रतीत होता है) वह नहीं है जो मैं चाहता हूं - मुझे पसंद है PowerTOP ...

और laptop-mode-toolsUSB ऑटोसस्पेंड को पूरी तरह से निष्क्रिय करने के लिए स्थापित करना, जो मैं चाहता हूं, वह नहीं है, इस प्रकार नया प्रश्न।

भी: क्या यह मेरी नोटबुक की बैटरी को प्रभावित करेगा? माउस के लिए लॉजिटेक एकीकृत रिसीवर हर समय जुड़ा रहता है, इसलिए यदि यह ऑटोसस्पेंड को सभी उपकरणों के लिए होने से रोकता है जो संभवतः खराब होंगे।

जवाबों:


25

उबंटू 16.04 (ज़ेनियल ज़ेरुस)

sudo apt install tlp
sudo lsusb

यूएसबी डिवाइस की इनपुट आईडी ढूंढें - यह दिखना चाहिए 1234:5678

फ़ाइल को संपादित करें sudo vi /etc/default/tlpऔर अपने डिवाइस के इनपुट आईडी के USB_BLACKLISTसाथ निम्न पंक्ति जोड़कर अपने डिवाइस की इनपुट आईडी जोड़ें जैसे कि:

USB_BLACKLIST="1234:5678"

Ubuntu 14.04 (भरोसेमंद तहर)

जैसा कि यहाँ हेक्टिकेग.कॉम पर बताया गया है , चाल में दो भाग होते हैं:

का उपयोग करते हुए lsusbUSB उपकरणों के लिए अक्षम स्वतःस्थगित करना चाहते हैं के उपकरण आईडी, पता लगाने के लिए।

और फिर उन्हें ( Ubuntu 14.04 तक) कॉन्फ़िगरेशन फ़ाइल AUTOSUSPEND_USBID_BLACKLISTमें जोड़ना (विवरण वहाँ भी अच्छी तरह से प्रलेखित हैं)।/etc/laptop-mode/conf.d/runtime-pm.confusb-autosuspend.conf


वास्तव में मेरा माउस कुछ ही समय बाद खो गया / चोरी हो गया, इसलिए मैं इसका परीक्षण नहीं कर सकता। लेकिन .confफ़ाइल से देखते हुए यह बिल्कुल उसी तरह की बात है जिसकी मैं उम्मीद कर रहा था :)
black_puppydog

ऐसा लगता है कि यह AUTOSUSPEND_RUNTIME_DEVID_BLACKLISTअब (Ubuntu 17.04) है
partofthething

2
16.04 एलटीएस के साथ डेल के उबंटू लैपटॉप के tlpबजाय स्थापित किया गया है laptop-mode-tools, इसलिए यदि आप यूएसबी उपकरणों को इन लैपटॉप पर ऑटोसस्पेंड मोड में डालने से ब्लैकलिस्ट करना चाहते हैं, तो USB_BLACKLISTफ़ाइल में सेटिंग सेट करें /etc/default/tlp- परिवर्तन तुरंत होते हैं
स्टुअर्ट कैई

छिपकली पहले से ही tlp से ब्लैक लिस्ट कर रही है: / etc / default / tlp # नोट: इनपुट डिवाइस (usbhid) को स्वचालित रूप से बाहर रखा गया है (नीचे देखें) # USB_BLACKLIST = "045e: 07a5
टॉम

टीएलपी प्रलेखन में उल्लेख किया गया है कि यह लैपटॉप के लिए एक शक्ति प्रबंधन है (अधिक विशेष रूप से थिंकपैड)। क्या यह डेस्कटॉप पीसी के लिए काम करता है?
कोनराड रुडोल्फ

7

मुझे पीसी के साथ एक समान समस्या थी एक एवॉस्ट केवीएम पर , जहां लैपटॉप-मोड-टूल इंस्टॉल नहीं किया गया था (और इसे किसी भी तरह से हल नहीं करना चाहता था)। मेरे मामले में, KVM को स्वचालित रूप से कीबोर्ड और माउस ने गलत तरीके से व्यवहार किया (कुछ सेकंड के निष्क्रिय होने के बाद, वे कुछ समय के लिए इनपुट डेटा को निलंबित और खो देंगे, जब तक कि पर्याप्त क्लिक और शेक उन्हें जागृत नहीं कर देता)।

जब मैंने PowerTOP चलाया और Avocent के लिए USB ऑटोसस्पेंड को टॉगल किया, तो PowerTOP ने मुझे कमांड लाइन से इसे निष्क्रिय करने की आज्ञा दी:

echo 'on' > '/sys/bus/usb/devices/3-10/power/control'

'3-10' बिट अलग-अलग प्रणालियों पर अलग-अलग होगा। मुझे यकीन नहीं है कि PowerTOP चलाने के अलावा यह कैसे निर्धारित किया जाए, लेकिन शायद कोई रास्ता है।

इसके बजाय, मैंने अपने डिवाइस के उत्पाद आईडी से मिलान करने के लिए एक udv नियम का उपयोग किया :

ट्रेंट + 14.04: /etc/udev/rules.d$ बिल्ली 10-usb-avocent-kvm-pm .rules

ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0624", ATTR{idProduct}=="0013", ATTR{product}=="SC Secure KVM", TEST=="power/control", ATTR{power/control}:="on"

मुझे मिली उचित udv जानकारी पाने के लिए:

udevadm info -a --path /sys/bus/usb/devices/N-N

6

में /etc/laptop-mode/conf.d/usb-autosuspend.confआप पाएँगे:

# Enable USB autosuspend feature?
# Set to 0 to disable
CONTROL_USB_AUTOSUSPEND="auto"

आपको इसे बदलना चाहिए CONTROL_USB_AUTOSUSPEND="0"

यह स्वचालित रूप से किसी भी यूएसबी डिवाइस का "ऑन" में मूल्य होगा /sys/bus/usb/devices/"DEVICE ID"/power/control। यह स्वतः पूर्ण फ़ाइलों के मूल्य को निष्क्रिय बना देगा:

$ cat /sys/bus/usb/devices/"DEVICE ID"/power/autosuspend
2
$ cat /sys/bus/usb/devices/"DEVICE ID"/power/autosuspend_delay_ms
2000

5

USB डिवाइस के लिए पावर विकल्प हैं /sys/bus/usb/devices/n-n/power। दुर्भाग्य से, nn किसी दिए गए डिवाइस के लिए क्या है, यह पता लगाने के लिए कुछ स्लीथिंग लेता है, इसलिए मुझे लगता है कि जब यह एक स्क्रिप्ट होने की बात आती है तो यह एक बहुत ही महत्वपूर्ण साबित होगा।

echo -1 > /sys/bus/usb/devices/3-2/power/autosuspend

उस उपकरण पर स्वतः पूर्ण बंद करने के लिए। मैजिक एनएन वास्तव में आउटपुट में दिखाई देता है

udevadm info --export-db

इसलिए मुझे लगता है कि यहां आपका दोस्त udv होगा; किसी प्रकार की udv स्क्रिप्ट को एक पैरामीटर पर रखा गया जो आपके माउस की पहचान करता है, फिर एक स्क्रिप्ट चलाता है जो कि संबंधित फाइल में echos -1 है।


4
क्या यह एक रिबूट बच जाएगा? / sys में गूंज गैर-स्थायी प्रतीत होती है, है ना?
18_

2
'बाहर निकलें 0' लाइन से पहले अपने /etc/rc.local में कमांड रखें
ब्रसे

4

मैंने अपना udv नियम बनाया :

ACTION=="add", ATTR{idVendor}=="0cf3", ATTR{idProduct}=="3004", RUN="/bin/sh -c 'echo 0 >/sys/\$devpath/authorized'"

2

उबंटू में 16.04 एलटीएस (ज़ेनियल ज़ेरुस), मुझे इसमें एक समाधान मिला /etc/laptop-mode/conf.d/runtime-pm.conf:

# Auto-Suspend timeout in seconds
# Number of seconds after which the USB devices should suspend
AUTOSUSPEND_TIMEOUT=1800

यह मूल रूप से 2मेरे लिए निर्धारित था । 30 मिनट अधिक उचित है।

बदलाव के बाद, करें:

sudo service laptop-mode restart

मुझे अभी भी यकीन नहीं है कि इसे पूरी तरह से कैसे निष्क्रिय किया जाए, लेकिन यह अब मेरे लिए ठीक है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.