Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
uhubctl — uhubctl - USB हब का प्रति-पोर्ट पावर नियंत्रण | Kitploit
उपकरण/GitHubGitHub/mvp/uhubctl
एम्बेडेड सिस्टम सुरक्षासामान्य उपयोगिताएँIoT सुरक्षाहार्डवेयर हैकिंगहार्डवेयर सुरक्षा
GitHubmvp/uhubctl

uhubctl

uhubctl - USB हब का प्रति-पोर्ट पावर नियंत्रण

रिपॉजिटरी देखें
2.8k25525 दिन पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

uhubctl

uhubctl स्मार्ट USB हब पर प्रति-पोर्ट USB पावर नियंत्रित करने की उपयोगिता है। स्मार्ट हब वह है जो प्रति-पोर्ट पावर स्विचिंग लागू करता है।

इस कोड का मूल विचार Niibe Yutaka के hub-ctrl.c से प्रेरित था: https://www.gniibe.org/development/ac-power-control-by-USB-hub

संगत USB हब

ध्यान दें कि बहुत कम USB हब प्रति-पोर्ट पावर स्विचिंग का सही ढंग से समर्थन करते हैं। उनमें से कुछ अब निर्मित नहीं होते और ढूंढना मुश्किल हो सकता है।

यह ज्ञात संगत USB हब की सूची है:

निर्माताउत्पादपोर्टUSBVID:PIDरिलीज़EOL
AcerBE270U monitor (देखें)43.02109:28112016
AmazonBasicsHU3641V1 (RPi समस्या)43.02109:28112013
AmazonBasicsHU3770V1 (RPi समस्या)73.02109:28112013
AmazonBasicsHU9003V1EBL, HUC9003V1EBL73.12109:28172018
AmazonBasicsHU9002V1SBL, HU9002V1EBL, HU9002V1ESL, HHU9002V1EZPR01 (नोट)103.12109:28172018
AmazonBasicsHUC9002V1SBL, HUC9002V1EBL, HUC9002V1ESL103.12109:28172018
AmazonBasicsU3-7HUB (केवल 1 चार्ज पोर्ट के लिए कार्य करता है)73.02109:28132020
AnkerAK-68ANHUB-BV7A-0004 (नोट)73.0

यह तालिका किसी भी तरह से पूर्ण नहीं है। यदि आपका हब uhubctl के साथ कार्य करता है, लेकिन ऊपर सूचीबद्ध नहीं है, तो कृपया https://github.com/mvp/uhubctl/issues पर नई issue खोलकर रिपोर्ट करें, ताकि हम इसे समर्थित तालिका में जोड़ सकें। अपनी रिपोर्ट में, कृपया सटीक उत्पाद मॉडल प्रदान करें और uhubctl से आउटपुट शामिल करें, और कृपया नीचे FAQ में वर्णित VBUS off समर्थन का परीक्षण करें।

ध्यान दें कि काफी कुछ आधुनिक मदरबोर्ड में अंतर्निहित रूट हब होते हैं जो इस सुविधा का समर्थन करते हैं - हो सकता है आपको कोई बाहरी हब खरीदने की भी आवश्यकता न पड़े।

USB 3.0 द्वैत नोट

यदि आप USB 3.0 हब को USB3 अपस्ट्रीम पोर्ट से जोड़ते हैं, तो यह 2 स्वतंत्र वर्चुअल हब के रूप में पहचाना जाएगा: USB2 और USB3, और आपके USB उपकरण उनकी क्षमताओं और कनेक्शन गति के आधार पर USB2 या USB3 वर्चुअल हब से जुड़ेंगे। ऐसे हब के लिए पावर नियंत्रित करने हेतु, पावर off/on परिवर्तनों को प्रभावी बनाने के लिए USB2 और USB3 दोनों वर्चुअल हब पर पावर बंद/चालू करना आवश्यक है। uhubctl इसे स्वचालित रूप से करने का प्रयास करेगा (जब तक आप इस व्यवहार को विकल्प -e से अक्षम नहीं करते)।

दुर्भाग्य से, जबकि अधिकांश हब USB डेटा कनेक्शन काट देंगे, कुछ फिर भी पोर्ट में VBUS नहीं काट सकते, जिसका अर्थ है कि जुड़ा फोन uhubctl द्वारा बंद किए गए पोर्ट से चार्ज होता रह सकता है।

इंस्टॉल करना

Linux और MacOS के लिए uhubctl मानक पैकेज मैनेजरों में उपलब्ध है और निम्न कमांड से इंस्टॉल किया जा सकता है:

  • MacOS: brew install uhubctl या sudo port install uhubctl
    • ⚠️ MacOS 26+ आवश्यक है libusb 1.0.30 या बाद का संस्करण!
  • Ubuntu/Debian/Raspbian: sudo apt install uhubctl
  • Redhat/EPEL/Fedora/CentOS: sudo yum install uhubctl
  • OpenSUSE: sudo zypper install uhubctl
  • FreeBSD: cd /usr/ports/sysutils/uhubctl && sudo make install

हालांकि, मानक पैकेज मैनेजर से इंस्टॉल किया गया uhubctl आवश्यक रूप से नवीनतम संस्करण नहीं हो सकता है, या वर्तमान संस्करण से काफी पीछे भी हो सकता है। यदि नवीनतम प्रकाशित uhubctl संस्करण आपके पैकेज मैनेजर द्वारा प्रदान किए गए संस्करण से नया है, तो आपको नीचे वर्णित अनुसार स्रोत से संकलन और इंस्टॉल करने की आवश्यकता हो सकती है।

संकलन

इस उपयोगिता का परीक्षण Linux (Ubuntu/Debian/Raspbian, Redhat/EPEL/Fedora/CentOS, Arch Linux, Gentoo, openSUSE, Buildroot), FreeBSD, NetBSD, SunOS और MacOS पर संकलन और कार्य करने के लिए किया गया है।

जबकि uhubctl Windows पर संकलित होता है, Windows पर USB पावर स्विचिंग कार्य नहीं करती क्योंकि libusb winusb.sys ड्राइवर का उपयोग कर रहा है, जो Microsoft के अनुसार आवश्यक USB नियंत्रण अनुरोधों का समर्थन नहीं करता। यह ठीक हो सकता है यदि libusb Windows पर किसी भिन्न ड्राइवर का समर्थन करने लगे।

ध्यान दें कि उपयोगिता pkgconf (या pkg-config) इंस्टॉल होना अत्यधिक अनुशंसित है (अक्सर यह डिफ़ॉल्ट रूप से इंस्टॉल होता है)।

पहले, आपको लाइब्रेरी libusb-1.0 इंस्टॉल करनी होगी (संस्करण 1.0.13 या बाद का आवश्यक है, 1.0.23 या बाद का अनुशंसित है):

  • Ubuntu: sudo apt-get install libusb-1.0-0-dev pkgconf
  • Redhat: sudo yum install libusb1-devel pkgconf
  • OpenSUSE: sudo zypper install libusb-1_0-devel pkgconf
  • MacOS: brew install libusb pkgconf, या sudo port install libusb-devel pkgconf
  • FreeBSD: pkg install gmake pkgconf (libusb डिफ़ॉल्ट रूप से शामिल है)
  • NetBSD: sudo pkgin install libusb1 gmake pkgconf
  • Windows: अभी तय नहीं?

uhubctl स्रोत प्राप्त करने और उसे संकलित करने के लिए:

root@kitploit:~
git clone https://github.com/mvp/uhubctl
cd uhubctl
make

इससे uhubctl बाइनरी उत्पन्न होनी चाहिए। आप इसे अपने सिस्टम में /usr/sbin/uhubctl के रूप में निम्न का उपयोग करके इंस्टॉल कर सकते हैं:

root@kitploit:~
sudo make install

ध्यान दें कि कुछ OS (जैसे FreeBSD/NetBSD) पर आपको बनाने के लिए इसके बजाय gmake उपयोग करने की आवश्यकता है।

उपयोग

⚠️ Linux पर, sudo का उपयोग करें या नीचे वर्णित अनुसार USB अनुमतियाँ कॉन्फ़िगर करें!

सभी समर्थित हब सूचीबद्ध करने के लिए:

root@kitploit:~
uhubctl

आप USB पोर्ट(s) पर पावर इस प्रकार नियंत्रित कर सकते हैं:

root@kitploit:~
uhubctl -a off -p 2

इसका अर्थ है डिफ़ॉल्ट स्मार्ट हब पर कार्य करना और पोर्ट 2 (-p 2) पर पावर बंद करना (-a off, या -a 0)। समर्थित क्रियाएँ off/on/cycle/toggle (या 0/1/2/3) हैं। cycle का अर्थ है पावर बंद करना, कुछ देरी (-d से कॉन्फ़िगर करने योग्य) प्रतीक्षा करना और फिर पावर चालू करना। पोर्ट अल्पविराम से अलग की गई सूची हो सकते हैं, और रेंज के लिए - का उपयोग कर सकते हैं, जैसे 2, या , या , या ।> ⚠️ बिल्ट-इन USB पोर्ट बंद करने से आपका कीबोर्ड या माउस कट सकता है, इसलिए सावधानी बरतें कि आप कौन से पोर्ट बंद कर रहे हैं!

यदि आपके पास एक से अधिक स्मार्ट USB हब जुड़े हैं, तो आपको -l (location) पैरामीटर का उपयोग करके नियंत्रित करने के लिए विशिष्ट हब चुनना चाहिए। हब स्थान खोजने के लिए, बस बिना किसी पैरामीटर के uhubctl चलाएँ। हब स्थान b-x.y.z जैसे दिखते हैं, जहाँ b USB बस नंबर है, और x, y, z... किसी दिए गए USB बस के रूट हब से शुरू होने वाली श्रृंखला के सभी हबों के लिए पोर्ट नंबर हैं। यह पता अर्ध-स्थिर है - यदि आप उसी भौतिक USB पोर्ट में USB डिवाइस को अनप्लग/रीप्लग (या बंद/चालू) करते हैं तो यह नहीं बदलेगा (यह विधि Linux कर्नेल में भी उपयोग की जाती है)।

लिनक्स USB अनुमतियाँ

लिनक्स पर, आपको udev USB अनुमतियाँ कॉन्फ़िगर करनी चाहिए (अन्यथा आपको sudo uhubctl का उपयोग करके इसे रूट के रूप में चलाना होगा)।

लिनक्स कर्नेल 6.0 से शुरू करके USB हब पोर्ट को चालू या बंद करने के लिए एक मानक इंटरफ़ेस है, और uhubctl पोर्ट स्थिति सेट करने के लिए (libusb के बजाय) इसका उपयोग करने का प्रयास करेगा। यही कारण है कि 6.0+ कर्नेल के लिए अतिरिक्त नियम हैं। पुराने कर्नेल संस्करणों वाले सिस्टम पर इन नियमों के होने से कोई नुकसान नहीं है।

USB अनुमतियों को ठीक करने के लिए, पहले sudo uhubctl चलाएँ और आपको नियंत्रित करने वाले हबों के लिए सभी vid:pid नोट करें। फिर, नीचे दिए गए udev नियमों को फ़ाइल /etc/udev/rules.d/52-usb.rules में जोड़ें (2001 को अपने हब विक्रेता आईडी से बदलें, या किसी भी USB हब एक्सेस की अनुमति देने के लिए ATTR{idVendor} फ़िल्टर को पूरी तरह से हटा दें):

root@kitploit:~
SUBSYSTEM=="usb", DRIVER=="hub|usb", MODE="0666", ATTR{idVendor}=="2001"
# Linux 6.0 or later (its ok to have this block present for older Linux kernels):
SUBSYSTEM=="usb", DRIVER=="hub|usb", \
  RUN="/bin/sh -c \"chmod -f 666 $sys$devpath/*port*/disable || true\""

ध्यान दें कि USB3 हबों के लिए, कुछ हब एक ही चिप के USB2 बनाम USB3 घटकों के लिए अलग-अलग विक्रेता आईडी का उपयोग करते हैं, और uhubctl को ठीक से काम करने के लिए दोनों को अनुमतियों की आवश्यकता होती है। उदाहरण के लिए, Raspberry Pi 4B के लिए, आपको ये 2 पंक्तियाँ जोड़नी होंगी (या idVendor फ़िल्टर हटाना होगा):

root@kitploit:~
SUBSYSTEM=="usb", DRIVER=="hub|usb", MODE="0666", ATTR{idVendor}=="2109"
SUBSYSTEM=="usb", DRIVER=="hub|usb", MODE="0666", ATTR{idVendor}=="1d6b"

यदि आपको पूरी तरह से खुला मोड 0666 पसंद नहीं है, तो आप इस तरह समूह द्वारा एक्सेस प्रतिबंधित कर सकते हैं:

root@kitploit:~
SUBSYSTEM=="usb", DRIVER=="hub|usb", MODE="0664", GROUP="dialout"
# Linux 6.0 or later (its ok to have this block present for older Linux kernels):
SUBSYSTEM=="usb", DRIVER=="hub|usb", \
  RUN+="/bin/sh -c \"chown -f root:dialout $sys$devpath/*port*/disable || true\"" \
  RUN+="/bin/sh -c \"chmod -f 660 $sys$devpath/*port*/disable || true\""

और फिर अनुमत उपयोगकर्ताओं को dialout समूह में जोड़ें:

root@kitploit:~
sudo usermod -a -G dialout $USER

अपने udev नियम परिवर्तनों को प्रभावी करने के लिए, रिबूट करें या चलाएँ:

root@kitploit:~
sudo udevadm trigger --attr-match=subsystem=usb

आपकी सुविधा के लिए, उपयोग के लिए तैयार udev नियम यहाँ उपलब्ध है।

सामान्य प्रश्न

USB पोर्ट-दर-पोर्ट पावर स्विचिंग क्या है?

USB 2.0 विनिर्देश के अनुसार, USB हब नो पावर स्विचिंग, गैंग्ड (सभी पोर्ट एक साथ) पावर स्विचिंग या पोर्ट-दर-पोर्ट (व्यक्तिगत) पावर स्विचिंग का विज्ञापन कर सकते हैं। ध्यान दें कि डिफ़ॉल्ट रूप से uhubctl केवल उन USB हबों का पता लगाएगा जो पोर्ट-दर-पोर्ट पावर स्विचिंग का समर्थन करते हैं (लेकिन आप -f विकल्प के साथ असमर्थित हबों पर काम करने के लिए इसे बाध्य कर सकते हैं)। आप sudo lsusb -v का उपयोग करके पता लगा सकते हैं कि आपका हार्डवेयर किस प्रकार की पावर स्विचिंग का समर्थन करता है:

कोई पावर स्विचिंग नहीं:

root@kitploit:~
wHubCharacteristic 0x000a
  No power switching (usb 1.0)
  Per-port overcurrent protection

गैंग्ड पावर स्विचिंग:

root@kitploit:~
wHubCharacteristic 0x0008
  Ganged power switching
  Per-port overcurrent protection

पोर्ट-दर-पोर्ट पावर स्विचिंग:

root@kitploit:~
wHubCharacteristic 0x0009
  Per-port power switching
  Per-port overcurrent protection

मैं कैसे जाँचूँ कि मेरा USB हब uhubctl द्वारा समर्थित है या नहीं?

  1. sudo uhubctl चलाएँ। यदि आपका हब सूचीबद्ध नहीं है, तो यह समर्थित नहीं है। वैकल्पिक रूप से, आप sudo lsusb -v चला सकते हैं और Per-port power switching की जाँच कर सकते हैं - यदि आप lsusb आउटपुट में ऐसी पंक्ति नहीं देख पाते हैं, तो हब समर्थित नहीं है।
  2. VBUS (वोल्टेज) बंद समर्थन की जाँच करें: अपने हब के USB पोर्ट में फोन, USB लाइट या USB पंखा प्लग करें। उस पोर्ट पर पावर बंद करने के लिए uhubctl का उपयोग करने का प्रयास करें, और जाँचें कि फोन चार्ज होना बंद कर देता है, USB लाइट चमकना बंद कर देती है या USB पंखा घूमना बंद कर देता है। यदि VBUS बंद नहीं होता है, तो आपके हब निर्माता ने वास्तव में पावर काटने के लिए सर्किटरी शामिल नहीं की है। ऐसा हब USB डेटा कनेक्शन को काटने के लिए फिर भी काम करेगा, लेकिन यह पावर बंद नहीं कर सकता, और हम इसे समर्थित डिवाइस नहीं मानते हैं।
  3. यदि उपरोक्त परीक्षण सफल रहे, तो कृपया https://github.com/mvp/uhubctl/issues पर नई समस्या खोलकर अपने हब की रिपोर्ट करें, ताकि हम इसे समर्थित डिवाइसों की सूची में जोड़ सकें। कृपया असमर्थित हबों की रिपोर्ट न करें, जब तक कि यह पहले से सूचीबद्ध किसी समर्थित मॉडल का भिन्न हार्डवेयर संशोधन न हो।

लिनक्स पर पोर्ट पावर बंद करने के बाद USB डिवाइस हटाए नहीं जाते हैं

USB पोर्ट को पावर डाउन करने के बाद, udev को कोई इवेंट नहीं मिलता है, इसलिए यह डिवाइस फ़ाइलों को बनाए रखता है। हालाँकि, डिवाइस फ़ाइलों तक पहुँचने का प्रयास करने से IO त्रुटि होगी।

यह Linux कर्नेल समस्या है और Linux कर्नेल 6.0 या उसके बाद के सिस्टम के लिए uhubctl 2.5.0 से ठीक कर दी गई है।

यदि आप अभी भी Linux 5.x या उससे पुराना उपयोग कर रहे हैं, तो आप इस समस्या के लिए यह वर्कअराउंड उपयोग कर सकते हैं:

root@kitploit:~
sudo uhubctl -a off -l ${location} -p ${port}
sudo udevadm trigger --action=remove /sys/bus/usb/devices/${location}.${port}/

डिवाइस फ़ाइल udev द्वारा हटा दी जाएगी, लेकिन USB डिवाइस lsusb में अभी भी दिखाई देगा। ध्यान दें कि पथ /sys/bus/usb/devices/${location}.${port} केवल तभी मौजूद होगा जब उस पोर्ट पर डिवाइस का पता लगाया गया हो। जब आप पावर वापस चालू करेंगे, तो डिवाइस को ठीक से फिर से enumerate होना चाहिए (फिर से udevadm कॉल करने की आवश्यकता नहीं है)।

लिनक्स पर कुछ सेकंड बाद पावर वापस चालू हो जाती है

कर्नेल में कुछ डिवाइस ड्राइवर USB डिवाइस के बंद होने से आश्चर्यचकित हो जाते हैं और स्वचालित रूप से इसे वापस चालू करने का प्रयास करते हैं।

यह Linux कर्नेल समस्या है और Linux कर्नेल 6.0 या उसके बाद के सिस्टम के लिए uhubctl 2.5.0 से ठीक कर दी गई है।

यदि आप अभी भी Linux 5.x या उससे पुराना उपयोग कर रहे हैं:

आप इस समस्या को ठीक करने के लिए विकल्प -r N का उपयोग कर सकते हैं, जहाँ N 10 से 1000 के बीच की कोई संख्या है - uhubctl बहुत तेज़ी से कई बार पावर बंद करने का प्रयास करेगा, और यह उसे दबा देगा।

uhubctl के साथ पावर बंद करने से पहले संबंधित डिवाइस के लिए USB प्राधिकरण अक्षम करने से मदद मिलनी चाहिए:

root@kitploit:~
echo 0 > sudo tee /sys/bus/usb/devices/${location}.${port}/authorized

यदि आपका डिवाइस USB मास स्टोरेज है, तो uhubctl को कॉल करने से पहले udisksctl को आमंत्रित करने से भी मदद मिलनी चाहिए:

root@kitploit:~
sudo udisksctl power-off --block-device /dev/disk/...`
sudo uhubctl -a off ...

मेरे पास केवल एक 7-पोर्ट हब जुड़ा है, लेकिन कई 4-पोर्ट हब का पता चलता है

कई हब निर्माता अपने USB हब बनाने के लिए बुनियादी 4 पोर्ट USB चिप्स का उपयोग करते हैं। उदाहरण के लिए, 7 पोर्ट हब बनाने के लिए, वे दो 4 पोर्ट हबों को डेज़ी-चेन करते हैं - 1 पोर्ट डेज़ी-चेनिंग में खो जाता है, इसलिए यह 4+4-1=7 पोर्ट हब बनाता है। इसी तरह, 10 पोर्ट हब को 3 4-पोर्ट हबों के रूप में बनाया जा सकता है जो एक साथ डेज़ी-चेन किए गए हैं, जो 4+4+4-2=10 उपयोग योग्य पोर्ट देता है।

ध्यान दें कि आपको कभी भी आंतरिक हबों को एक साथ डेज़ी-चेन करने के लिए उपयोग किए जाने वाले पोर्ट के लिए पावर स्थिति बदलने का प्रयास नहीं करना चाहिए। ऐसा करने से आंतरिक हब सर्किटरी भ्रमित हो जाएगी और अप्रत्याशित व्यवहार होगा।

Raspberry Pi सभी पोर्ट पर पावर बंद कर देता है, न कि केवल उस पोर्ट पर जो मैंने निर्दिष्ट किया था

यह Raspberry Pi हार्डवेयर डिज़ाइन की सीमा है। वर्कअराउंड के रूप में, आप ऊपर दी गई समर्थित सूची से कोई भी बाहरी USB हब खरीद सकते हैं, इसे Raspberry Pi के किसी भी USB पोर्ट से जोड़ सकते हैं, और इसके पोर्ट पर स्वतंत्र रूप से पावर नियंत्रित कर सकते हैं। साथ ही, विशेष रूप से Raspberry Pi के लिए डिज़ाइन किए गए समर्थित हब भी हैं, जैसे UUGear MEGA4।

संदर्भ के लिए, समर्थित Raspberry Pi मॉडलों में निम्नलिखित आंतरिक USB टोपोलॉजी है:

Raspberry Pi B+,2B,3B
  • सिंगल हब 1-1, पोर्ट 2-5 गैंग्ड, सभी पोर्ट 2 द्वारा नियंत्रित:

    root@kitploit:~
    uhubctl -l 1-1 -p 2 -a 0
    

    पोर्ट 3,4,5 को नियंत्रित करने का प्रयास कुछ नहीं करेगा। पोर्ट 1 Ethernet+WiFi के लिए पावर नियंत्रित करता है।

Raspberry Pi 3B+
  • मुख्य हब 1-1, सभी 4 पोर्ट गैंग्ड, सभी पोर्ट 2 द्वारा नियंत्रित (सेकेंडरी हब पोर्ट को भी बंद करता है)। पोर्ट 1 नीचे हब 1-1.1 से जुड़ता है, पोर्ट 2 और 3 बाहर वायर्ड हैं, पोर्ट 4 वायर्ड नहीं है।

    root@kitploit:~
    uhubctl -l 1-1 -p 2 -a 0
    
  • सेकेंडरी हब 1-1.1 (मुख्य से डेज़ी-चेन): 3 पोर्ट, पोर्ट 1 Ethernet+WiFi के लिए उपयोग किया जाता है, और पोर्ट 2 और 3 बाहर वायर्ड हैं।

Raspberry Pi 4B

⚠️ यदि आपका VL805 फर्मवेयर 00137ad से पुराना है (sudo rpi-eeprom-update से जाँचें), तो RPi 4B पर पावर स्विचिंग काम करने के लिए आपको फर्मवेयर अपडेट करना होगा।

  • USB2 हब 1, 1 पोर्ट, केवल नीचे हब 1-1 से जुड़ता है।

  • USB2 हब 1-1, 4 पोर्ट गैंग्ड, नीचे USB3 हब 2 का डुअल:

    root@kitploit:~
    uhubctl -l 1-1 -a 0
    
  • USB3 हब 2, 4 पोर्ट गैंग्ड, ऊपर USB2 हब 1-1 का डुअल:

    root@kitploit:~
    uhubctl -l 2 -a 0
    
  • USB2 हब 3, 1 पोर्ट, OTG कंट्रोलर। पावर स्विचिंग समर्थित नहीं है।

Raspberry Pi 5

Raspberry Pi 5 में दो USB2 पोर्ट और दो USB3 पोर्ट (कुल 4) हैं। ये पोर्ट 4 अलग-अलग USB हब 1,2,3,4 से वास्तव में अजीब कॉन्फ़िगरेशन में जुड़े हैं (लेकिन OS और HW संशोधन के आधार पर रुचि के हब 2,3,4,5 हो सकते हैं)। यदि USB3 डिवाइस नीले सॉकेट से जुड़ा है, तो यह USB3 हब 2 या 4 पर पता लगाया जाएगा। यदि USB2 डिवाइस किसी भी सॉकेट से जुड़ा है या USB3 डिवाइस काले सॉकेट से जुड़ा है, तो यह USB2 हब 1 या 3 पर पता लगाया जाएगा। USB2/USB3 कनेक्शन प्रकार के बावजूद, नीले सॉकेट हमेशा पोर्ट 1 होते हैं, और काले सॉकेट हमेशा पोर्ट 2 होते हैं।

चारों USB ऑनबोर्ड हब पोर्ट-दर-पोर्ट पावर स्विचिंग का समर्थन करने का विज्ञापन करते हैं, लेकिन यह सच नहीं है। वास्तव में, Raspberry Pi 5 के सभी 4 पोर्ट एक समूह में गैंग्ड हैं, भले ही वे 4 अलग-अलग लॉजिकल USB हबों से संबंधित हों।

VBUS पावर बंद करने के लिए इसे सभी ऑनबोर्ड हब और पोर्ट पर अक्षम करना होगा: ``` uhubctl -l 2 -a 0 uhubctl -l 4 -a 0

root@kitploit:~
इसे वापस चालू करने के लिए:   ```
uhubctl -l 2 -a 1
uhubctl -l 4 -a 1

ध्यान दें कि VBUS पावर तभी बंद होती है जब सभी पोर्ट बंद हों - किसी एक पोर्ट को सक्षम करने से सभी 4 पोर्ट के लिए VBUS वापस सक्षम हो जाती है।

uhubctl का उपयोग करने वाली उल्लेखनीय परियोजनाएँ

कॉपीराइट

कॉपीराइट (C) 2009-2026 Vadim Mikhailov

इस फ़ाइल को GNU जनरल पब्लिक लाइसेंस संस्करण 2 की शर्तों और नियमों के तहत वितरित किया जा सकता है।

टूल डाउनलोड करें
2109:0812
2014
AppleMac Mini M4 (केवल 2 सामने के पोर्ट)23.205AC:800B2024
AppleMacBook Air (Late 2010)22.01D6B:000220102020
ApplePro Display XDR MWPE2LL/A (आंतरिक USB हब)42.005AC:91392019
AppleThunderbolt Display 27" (आंतरिक USB हब)62.020112016
AppleUSB Keyboard With Numeric Pad (आंतरिक USB हब)32.02011
AsusZ77 Sabertooth Motherboard (अंतर्निहित USB हब)62.02012
AsusZ87-PLUS Motherboard (अंतर्निहित USB हब)43.020132016
AukeyCB-C5943.02109:28132017
B+B SmartWorxUHR20442.00856:DB002013
B+B SmartWorxUSH30443.004B4:650620172019
Basler200003623443.00451:80462016
BelkinF5U10142.00451:204620052010
BelkinF5U238UKCRL-MOB42.00409:005920042010
BenQPD2700U 4K Monitor (केवल USB2 मोड में कार्य करता है)43.005E3:06102018
BenQPD3220U43.105E3:06102019
ByteccBT-UH340 (चेतावनी)43.02109:81102010
CentechCT-USB4HUB ReTRY HUB (नोट)43.00424:27442017
CircuitcoBeagleboard-xM (आंतरिक USB हब)42.00424:95142010
Club3DCSV-3242HD Dual Display Docking Station43.02109:28112015
CoolgearUSBG-12U2ML122.005E3:06072015
CypressCY4608 HX2VL (नोट)42.004B4:65702012
D-LinkDUB-2332 rev A133.02022
D-LinkDUB-H4 rev D,E (काला). नोट: rev A,C,F समर्थित नहीं42.005E3:06082012
D-LinkDUB-H7 rev A (चांदी)72.02001:F10320052010
D-LinkDUB-H7 rev D,E (काला). Rev B,C,F,G समर्थित नहीं72.005E3:06082012
DellDA300 USB-C Mobile Adapter23.02109:28202018
DellP2416D 24" QHD Monitor (नोट)42.02017
DellS2719DGF 27" WQHD Gaming-Monitor53.00424:57342018
DellUltraSharp 1704FPT 17" LCD Monitor42.00424:A70020052015
DellUltraSharp U2415 24" LCD Monitor53.02014
DellUltraSharp U3419W 34" Curved Monitor63.02020
DellWyse 3040 (-f आवश्यक)63.02017
Delock6253743.020172021
Delock87445 (नोट)42.005E3:060820092013
ElecomU2H-G4S42.020062011
GigabyteG27Q monitor (देखें)43.02109:08172020
GlobalScaleESPRESSObin SBUD102 V513.01D6B:00032017
HardkernelODROID-C4 (नोट)43.02020
Hawking TechnologyUH21442.020032008
Hewlett PackardUSB-C Dock G5 5TW10AA53.003F0:076B2019
Hewlett PackardP5Q58UT33.02019
IBMSK-8815 USB Keyboard31.104B3:301A2004
InateckHB2025A (केवल USB2)43.12109:28222021
IOIU3H415E143.02012
j5createJUH377 (नोट)73.02016
j5createJUH470 (नोट)33.005E3:06102014
Juiced Systems6HUB-0173.00BDA:041120142018
KUNBUS GmbHRevPi Connect (+) / S / SE22.00424:95142018
KUNBUS GmbHRevPi Connect 423.02022
KUNBUS GmbHRevPi Core 3 / S / SE22.00424:95142017
LG Electronics27MD5KL-B monitor43.0043E:9A602019
LG Electronics27GL850-B monitor43.00451:81422019
LG Electronics27UK850-W monitor23.02018
LG Electronics27UN83A-W monitor23.00451:81422020
LG Electronics38WK95C-W monitor43.00451:81422018
LenovoThinkPad Mini Dock Series 3 (433710U)62.017EF:100A2016
LenovoThinkPad Ultra Docking Station (40A20090EU)62.017EF:100F2015
LenovoThinkPad Ultra Docking Station (40AJ0135EU)73.117EF:30702018
LenovoThinkPad USB 3.0 Ultra Dock (40A8) DK-152363.017EF:10142015
LenovoThinkPad X200 Ultrabase 42X496332.017EF:100520082011
LenovoThinkPad X6 Ultrabase 42W310742.017EF:100020062009
LenovoThinkPlus 4-in-1 USB-C hub 4X90W8649733.02021
LenovoThinkVision T24i-10 Monitor42.017EF:06102018
LenovoUSB-C to 4 Port USB-A Hub (केवल USB2)42.017EF:103A2020
LindyUSB serial converter 4 port41.1058F:92542008
LinksysUSB2HUB4 (नोट)42.020042010
MaplinA08CQ (केवल लाल पोर्ट)72.00409:005920082011
MetadotDas Keyboard 423.02014
MicrochipEVB951222.02009
MicrochipEVB-USB251772.02008
MicrochipEVB-USB2534BC42.02013
MicrochipEVB-USB580773.02016
MoxaUport-40772.0110A:04072009
NVidiaJetson Nano B01 (विवरण)43.02019
NVidiaJetson Orin Nano Devkit (विवरण)43.02023
NVidiaJetson Xavier NX (विवरण)43.02020
PhidgetsHUB0003_072.01A40:02012017
Philips346B1C UltraWide 34" Curved Monitor43.005E3:06102019
PlugableUSB3-HUB7BC73.02109:08132015
PlugableUSB3-HUB7C (केवल 2 चार्ज पोर्ट के लिए कार्य करता है)73.02109:08132015
PlugableUSBC-HUB7BC (6/7 पोर्ट के लिए कार्य करता है, सबसे दायाँ नहीं)73.02109:08172021
PlugableUSB3-HUB10-C2 (केवल 2 चार्ज पोर्ट के लिए कार्य करता है)103.02014
Port IncNWUSB0141.10451:144619992003
Raspberry PiB+, 2B, 3B (नीचे देखें)42.02011
Raspberry Pi3B+ (नीचे देखें)42.00424:25142018
Raspberry Pi4B (नीचे देखें)43.02109:34312019
Raspberry Pi5 (नीचे देखें)43.01D6B:00022023
RenesasuPD720202 PCIe USB 3.0 host controller23.02013
RosewillRHUB-21042.00409:005A20112014
RosonwayRSH-518C (नोट)73.02109:08172021
RosonwayRSH-A10 (देखें)103.00BDA:04112020
RosonwayRSH-A13 (चेतावनी)133.12109:28222021
RosonwayRSH-A16 (नोट, चेतावनी)163.00bda:04112020
RosonwayRSH-A37S73.02109:28222021
RosonwayRSH-A104 (केवल USB2)43.12109:28222022
RosonwayRSH-ST07C (केवल 4)73.02109:28222023
RosonwayRSH-ST10C-6 (नोट)103.10BDA:04232024
Sanwa SupplyUSB-HUB14GPH41.120012003
SatechiMac Mini Hub (M1/M2)43.02109:28172023
SeagateBackup Plus Hub STEL800010023.00BC2:AB442016
Seeed StudioreTerminal CM410403222.00424:25142021
StarTechDKT30CSDHPD3 USB-C Travel Dock33.02109:28172018
StarTechHB30A4AIB (चेतावनी)43.02109:28172018
StarTechHB31C2A2CB (नोट)53.014B0:013D2020
StarTechHB31C3A1CPD3 (नोट)53.114B0:013A2019
SunixSHB4200MA42.00409:005820062009
System TalksSugoi USB2-HUB4X (चेतावनी)42.02007
TargusACH155 (पोर्ट 3 सभी पोर्ट को नियंत्रित करता है)43.02022
TargusPA095UZ22.02004
TargusPAUH212/PAUH212U72.020042009
Texas InstrumentsTUSB4041PAPEVM42.10451:81422015
UUGearMEGA4 (Raspberry Pi 4B के लिए)43.02109:08172021
VirtualHereUSB3 4-port hub (नोट)43.02024
2,4
2-5
1-2,5-8
ProjectDescription
Morse code USB lightUSB लाइट से मोर्स कोड में संदेश फ्लैश करें
Webcam USB lightवेबकैम चालू/बंद होने पर LED चालू/बंद करें
Cinema LightboxiOS होम ऐप से सिनेमा लाइटबॉक्स चालू/बंद करें
Build Status Light10 मिनट से कम समय में बिल्ड स्थिति लाइट बनाएं
BuildenlightsGitLab/GitHub प्रोजेक्ट की बिल्ड स्थिति हरी/लाल बत्ती के रूप में
Weather Stationजमने पर मौसम स्टेशन रीसेट करें
sysmoQMODआवश्यकता पड़ने पर सेलुलर मोडेम रीसेट करें
Smog SensorRaspberry Pi आधारित स्मॉग सेंसर पावर रीसेट
Terrible Clusterआवश्यकतानुसार Raspberry Pi क्लस्टर नोड्स को चालू/बंद करें
Ideal Music Serverऑडियो गुणवत्ता सुधारने के लिए अप्रयुक्त USB पोर्ट बंद करें
USB drives with no phantom loadबिजली बचाने के लिए USB ड्राइव को केवल आवश्यकता पड़ने पर पावर दें
USB drive data recoveryखराब हो रही USB हार्ड ड्राइव से डेटा पुनर्प्राप्त करें
Control power to 3D printerUSB पावर नियंत्रण के लिए OctoPrint वेब प्लगइन
USB fan for Raspberry PiRaspberry Pi को ज़्यादा गरम होने से बचाने के लिए USB पंखा नियंत्रित करें
Raspberry Pi Reboot Routerइंटरनेट काम न करने पर राउटर को स्वचालित रूप से रिबूट करें
Control USB Lamp With VoiceSiri और Raspberry Pi का उपयोग करके USB लैंप का आवाज़ नियंत्रण
Control USB LED StripUSB संचालित LED लाइट स्ट्रिप को नियंत्रित करना
Brew beer with Raspberry PiRaspberry Pi का उपयोग करके स्वचालित बीयर निर्माण प्रणाली
Webcam On-Air Signवेबकैम उपयोग में होने पर स्वचालित रूप से साइन प्रकाशित करें
Do it yourself PPPSuhubctl समर्थन के लिए अपने USB हब में तारों को सोल्डर करें
Open source PPPS hubuhubctl संगत हब के लिए ओपन सोर्स हार्डवेयर परियोजना
Python Wrapper for uhubctlPython के साथ uhubctl उपयोग करने का मॉड्यूल
labgridहार्डवेयर पर एम्बेडेड Linux परीक्षण के लिए फ्रेमवर्क
Thermal Cameraआवश्यकता पड़ने पर रोबोट का थर्मल कैमरा चालू/बंद करें
Mobile Device Farmuhubctl का उपयोग करके डिवाइस फार्मों के लिए रिमोट USB पावर साइकलिंग