USB पोर्ट पर / बंद पावर


18

क्या उबंटू में टर्मिनल का उपयोग करके किसी विशिष्ट यूएसबी पोर्ट को चालू / बंद करना संभव है?

lsusb निम्नलिखित परिणाम प्रदर्शित करता है:

Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 2232:1020
Bus 002 Device 009: ID 0bc2:a013 Seagate RSS LLC
Bus 002 Device 003: ID 0a5c:219c Broadcom Corp.

सीगेट मेरी बाहरी हार्ड डिस्क ड्राइव है। क्या मैं इसे टर्मिनल में बंद कर सकता हूं?

मैंने लिनक्स के साथ USB बिजली की आपूर्ति (पर / बंद) को नियंत्रित करने की कोशिश की । लेकिन मैं इस बात को लेकर असमंजस में हूं कि किस जगह की जगह बदलनी चाहिए usbX

जवाबों:


8

पिछले सभी उत्तर USB सस्पेंड मैकेनिज्म यानी "लॉजिकल पॉवर-ऑफ" के बारे में बात करते हैं , वे कभी भी USB पोर्ट से VBUS + 5V को भौतिक रूप से नहीं काटेंगे।

केवल कुछ हब वास्तव में यहां वर्णित के रूप में VBUS काट सकते हैं

Hubpower उपकरण यह (हब यह समर्थन करता है) कर सकते हैं।


7

उसी समस्या में दौड़ने के बाद, मैंने पाया कि आज्ञाओं को अलग तरह से दर्ज किया जाना चाहिए ताकि "सुडो" उचित रूप से अधिकार लागू हो।

"टी" कमांड का उपयोग करें।

echo 0 | sudo tee /sys/bus/usb/devices/usb2/power/autosuspend_delay_ms

"टी" कमांड पर रूट अधिकार लागू करेगा जो 0 को निर्दिष्ट फ़ाइल में लिखेगा, जो कि वर्तमान में कुछ भी है, को प्रतिस्थापित करेगा। एपेंड करने के लिए, विकल्प -a के साथ टी कमांड का उपयोग करें।

जानकारी के लिए मैन पेज देखें tee


2
teeआदेश भी स्क्रीन पर प्रिंट के पक्ष प्रभाव पड़ेगा। यदि आप चाहते हैं, dd of=/sys/bus/...तो केवल फ़ाइल पर लिखेंगे, और कहीं नहीं।
ब्रैंडन रोड्स

4

वास्तव usbXमें कुछ भी नहीं है, लेकिन यूएसबी पोर्ट नंबर उन नंबरों Xको दर्शाते हैं, जहां 1या जैसे संख्याओं को दर्शाता है 2... उदाहरण के लिए, usb1और usb2पोर्ट 1 और 2 के लिए । सामान्य तौर पर, एक लैपटॉप में यूएसबी 2.0 और यूएसबी 3.0 पोर्ट के साथ तीन या चार यूएसबी पोर्ट हो सकते हैं।

उबंटू में usb1, usb2... usbXके लिंक हैं /sys/devices/pci000:00/*। इसे अच्छी तरह से समझने के लिए, इस कमांड को चलाएँ:

ls -l /sys/bus/usb/devices/

इसलिए जब आप सक्षम / अक्षम करना चाहते हैं (या स्टैक एक्सचेंज को संदर्भित करना चाहते हैं) के usbXसाथ यूएसबी पोर्ट को निष्क्रिय / निष्क्रिय करना होगा :usb1USB Port Number 1


संपादित करें: sudo का उपयोग करके किसी पाठ को कुछ पाठ को प्रतिध्वनित करने का सही तरीका बताने के लिए स्टीफन डेन्शेव को धन्यवाद । (उसकी टिप्पणी की भी जाँच करें।) अब आपको अनुमति अस्वीकृत संदेश नहीं मिलना चाहिए ।

sudo sh -c "echo '0' > /sys/bus/usb/devices/usb1/power/autosuspend_delay_ms"
sudo sh -c "echo 'auto' > /sys/bus/usb/devices/usb1/power/control"

अपना lsusbपरिणाम देखने के बाद , ऐसा लगता है कि आपका सीगेट डिवाइस से जुड़ा हुआ है Port No. 2, इसलिए आपको अक्षम करने की आवश्यकता है usb2। तब आदेश होंगे:

sudo sh -c "echo '0' > /sys/bus/usb/devices/usb2/power/autosuspend_delay_ms"
sudo sh -c "echo 'auto' > /sys/bus/usb/devices/usb2/power/control"

धन्यवाद। अगर मैं कोशिश करूँ echo "0" > "/sys/bus/usb/devices/usb2/power/autosuspend_delay_ms"तो आउटपुट हैbash: /sys/bus/usb/devices/usb2/power/autosuspend_delay_ms: Permission denied
curious_coder

फिर sudoदेखें कि क्या होता है ..
सौरव कुमार

इसे आजमाया। फिर भी वही त्रुटि।
जिज्ञासु_कोडर

वास्तव में मैंने लिनक्स में किसी भी पोर्ट को सक्षम / अक्षम करने का प्रयास नहीं किया था .. मेरा मकसद आपको usbXसमस्या के बारे में स्पष्ट करना था । यदि आप उन आदेशों के बारे में बहुत स्पष्ट हैं जिन्हें आपने पकड़ा था, StackOverflowतो केवल आपको इसे आज़माना चाहिए। किसी भी तरह से अब मुझे यह जानने में भी दिलचस्पी है कि बंदरगाहों को सक्षम / अक्षम करने के लिए कौन सी वास्तविक कमान है। मैं जल्द ही आपको जवाब दूंगा, जब यह मेरे लिए काम करता है। फिर बताएं कि आप अपने डिवाइस को अनप्लग करें और फिर से प्रयास करें। या पहले दिए गए उत्तर का प्रयास करें stackoverflow
सौरव कुमार

1
sudo sh -c "echo 'on' >> /sys/bus/usb/devices/usb4/power/control"
UIlrvnd

1

udisksctlहै power-offझंडा है, जो मैं सुझाव है कि आप के साथ संयोजन के रूप में उपयोग करें unmount

से man udisksctl:

power-off
           Arranges for the drive to be safely removed and powered off. On the
           OS side this includes ensuring that no process is using the drive,
           then requesting that in-flight buffers and caches are committed to
           stable storage. The exact steps for powering off the drive depends
           on the drive itself and the interconnect used. For drives connected
           through USB, the effect is that the USB device will be deconfigured
           followed by disabling the upstream hub port it is connected to

डेमो

यहाँ मैं अपने USB जंपड्राइव को अनमाउंट कर रहा हूं और फिर इसे बंद कर रहा हूं

testdir:$ lsusb
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 009: ID 154b:007a PNY 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

testdir:$ lsblk                                                                
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 111.8G  0 disk 
└─sda1   8:1    0 111.8G  0 part /
sdb      8:16   1    30G  0 disk 
└─sdb1   8:17   1    30G  0 part /media/xieerqi/6A32C4555E1C5B4D
sr0     11:0    1  1024M  0 rom  

testdir:$ udisksctl unmount -b /dev/sdb1 && udisksctl power-off -b /dev/sdb1
Unmounted /dev/sdb1.

testdir:$ lsusb
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

testdir:$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 111.8G  0 disk 
└─sda1   8:1    0 111.8G  0 part /
sr0     11:0    1  1024M  0 rom  

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