क्या OS X के लिए lsusb के बराबर है


96

यह सवाल सभी गूगल पर लगता है, लेकिन उत्तर सभी सिस्टम प्रोफाइलर का उपयोग करने के लिए इंगित करते हैं। यह अच्छा है, लेकिन सिस्टम प्रोफाइलर के साथ आपको कुछ ऐसा मिलता है जो इस तरह दिखता है:

            DasKeyboard:

              Product ID: 0x1919
              Vendor ID: 0x04d9  (Holtek Semiconductor, Inc.)
              Version: 1.06
              Speed: Up to 1.5 Mb/sec
              Location ID: 0x1d114000 / 11
              Current Available (mA): 500
              Current Required (mA): 100

            USB2.0 Hub:

              Product ID: 0x0608
              Vendor ID: 0x05e3  (Genesys Logic, Inc.)
              Version: 32.98
              Speed: Up to 480 Mb/sec
              Location ID: 0x1d113000 / 10
              Current Available (mA): 500
              Current Required (mA): 100

                Microsoft Basic Optical Mouse v2.0 :

                  Product ID: 0x00cb
                  Vendor ID: 0x045e  (Microsoft Corporation)
                  Version: 1.99
                  Speed: Up to 1.5 Mb/sec
                  Manufacturer: Microsoft 
                  Location ID: 0x1d113200 / 12
                  Current Available (mA): 500
                  Current Required (mA): 100

यह बहुत अच्छा है यदि आप चाहते हैं कि सभी डिवाइस डिस्क्रिप्टर के एक समूह की सामग्री हो, लेकिन lsusbआपको बहुत कुछ देता है - इंटरफेस और एंडपॉइंट्स, इंटरफ़ेस संघों, समग्र उपकरणों की जानकारी ... आप ओएस एक्स में यह जानकारी कहां पा सकते हैं? वहाँ चाहिए एक उपकरण है कि इस करता है हो सकता है?


यदि आपको कोई आपत्ति नहीं है, तो आप "इंटरफेस और एंडपॉइंट, इंटरफ़ेस एसोसिएशन, कम्पोजिट डिवाइस" जैसी जानकारी का उपयोग कैसे कर रहे हैं?
बेन क्रेसी

जवाबों:


136

मैं system_profiler SPUSBDataTypeवाक्य रचना को भूलकर थक गया , इसलिए मैंने एक lsusbविकल्प बनाया । आप इसे यहां पा सकते हैं , या होमब्रे के साथ इसे स्थापित कर सकते हैं :

brew install lsusb

2
अच्छी स्क्रिप्ट! क्या आप इसे homebrew सूत्र के रूप में जोड़ना चाहेंगे? यह सुविधाजनक होगा।
मोरिट्ज़

1
यह एक अच्छी उपयोगिता है, लेकिन यह अभी भी सिर्फ एक अंश है जो लिनक्स पर lsusb आपको प्राप्त कर सकता है। लिनक्स पर lsusb आपको डिवाइस के कॉन्फ़िगरेशन डिस्क्रिप्टर की पूरी सामग्री दे सकता है। इसके बिना, मुझे डर है कि यह उपकरण ज्यादातर एक सुंदर-प्रिंटर है।
टेड मिडलटन

3
सीमित हो सकता है, लेकिन यह वही करता है जो मुझे चाहिए था। मेरे विकास के माहौल को सिर्फ एक brew installधन्यवाद के अनुरूप बनाता है !!
सर्पिल

2
यह एक अच्छी स्क्रिप्ट है, लेकिन इसे वास्तव में "lsusb" नहीं कहा जाना चाहिए, इस पर विचार करते हुए कि lsusbवास्तव में क्या कर सकते हैं: askubuntu.com/a/604169/598643
मिस्टर कैनेडी

1
alias lsusb='system_profiler SPUSBDataType'यदि आप lsusb के लिए सटीक एक ही परिणाम प्राप्त करने के बारे में बहुत ज्यादा परवाह नहीं करते हैं तो एक साफ-सुथरा होगा
yerlilbilgin

73

मैं आमतौर पर मैक ओएस एक्स पर यूएसबी उपकरणों को सूचीबद्ध करने के लिए उनके साथ विवरण के साथ इस कमांड को चलाता हूं:

ioreg -p IOUSB -l -w 0

Ioreg के बारे में @blekenbleu पर मेरी प्रतिक्रिया देखें
टेड मिडलटन

3
टेड मिडलटन द्वारा टिप्पणी की प्रतिलिपि : समस्या यह है कि ioreg और IORegistryExplorer आपको डिवाइस से मिलान किए गए कर्नेल ऑब्जेक्ट दिखाते हैं, न कि उपकरणों का विवरण। इसका मतलब है कि आप वर्तमान में सक्रिय एक के अलावा अन्य कॉन्फ़िगरेशन पर इंटरफेस नहीं देखेंगे, और आपको कोई भी समापन बिंदु की जानकारी नहीं दिखाई देगी (जो कि lsusb से सबसे उपयोगी आउटपुट है)।
मार्टन बोडेव्स

1
लगता है कि मानदंड हटा दिए गए हैं। अल्टरनेट्स (मई 2019 तक) हैं: unix.com/man-page/mojave/8/ioreg और manpagez.com/man/8/ioreg
rdadolf

26

Homebrew उपयोगकर्ता: आप मेरे नल से सूत्र lsusbस्थापित करके प्राप्त कर सकते हैं usbutils:

brew install mikhailai/misc/usbutils

यह lsusbलिनक्स स्रोतों (संस्करण 007) के आधार पर वास्तविक स्थापित करता है ।


1
अंत में, असली सौदा। मैं पुष्टि कर सकता हूं कि यह एक OX 10.13.6 पर काम करता है।
गुइडो

3
धन्यवाद, यह एक बेहतर समाधान है, उस समय अनुपलब्ध जब मैंने lsusbस्क्रिप्ट विकसित की ।
jlhonora

2
धन्यवाद, @jlhonora विडंबना यह है कि Homebrew लोगों ने मेरी बजाय आपकी lsusbस्क्रिप्ट को जोड़ने का फैसला किया । homebrew-coreusbutils
मिखाइल इखियाव

1
आप हमेशा उन्हें एक पीआर भेज सकते हैं।
jlhonora


9

Mac osx में, आप निम्न कमांड का उपयोग कर सकते हैं:

system_profiler SPUSBDataType

system_profiler में ioreg जैसी ही समस्या है - यह कर्नेल ऑब्जेक्ट्स की स्थिति को दर्शाता है जो कर्नेल डिवाइस से मेल खाता है, न कि डिवाइस से। मैं कुछ ऐसा चाहता हूं जो मूल रूप से डिवाइस के पूर्ण लेआउट को प्रदर्शित करेगा, जैसे कि सभी कॉन्फ़िगरेशन के सभी कॉन्फ़िगरेशन डिस्क्रिप्टर में क्या है।
टेड मिडलटन

6

यदि आप MacPorts के उपयोगकर्ता हैं , तो आप बस usbutils स्थापित कर सकते हैं

sudo port install usbutils

यदि आप नहीं हैं, तो इसे स्थापित करने का यह एक अच्छा अवसर हो सकता है, इसमें कई अन्य उपयोगी लिनक्स उपकरणों के लिए पोर्ट हैं।


आह - ठीक है, पोर्ट फ़ाइल में मैं देखता हूं, "depend_lib पोर्ट: libusb", और स्रोत को वास्तव में libusb की आवश्यकता प्रतीत होती है। मुझे लगता है कि यह करना होगा। मैं वास्तव में macports का उपयोग नहीं करता, हालांकि - मैं शराब बनाने वाला हूं। और मुझे इसके लिए macports स्थापित करने से नफरत होगी, खासकर जब lsusb को यूजर-स्पेस iokit के साथ इतनी आसानी से फिर से लागू किया जा सकता है।
टेड मिडलटन

यह स्वीकृत उत्तर होना चाहिए। होवरवर, अभी यह पैकेज अपनी निर्भरता के कारण टूट गया है usbids, इसे trac.macports.org/ticket/53188

ऐसा लगता है कि अब तक तय हो गया है।
Maarten Bodewes

4

कैसे के बारे में ioreg? प्रोफाइलर की तुलना में आउटपुट अधिक विस्तृत है, लेकिन यह थोड़ा घना है।

स्रोत: https://lists.macosforge.org/pipermail/macports-users/2008-July/0111.html


@Blekenbleu पर मेरी प्रतिक्रिया देखें। lsusb में ioreg / IORegistryExplorer, या system_profiler जैसे किसी भी अन्य प्रोग्राम की तुलना में बहुत अधिक जानकारी है जो सिर्फ iokit रजिस्ट्री को चलाता है।
टेड मिडलटन


0

कम से कम 10.10.5 पर, system_profiler SPUSBDataTypeजब कोई नया USB डिवाइस प्लग इन हो जाता है, तब आउटपुट गतिशील रूप से अपडेट नहीं ioreg -p IOUSB -l -w 0होता है।


समस्या यह है कि ioreg और IORegistryExplorer आपको उन कर्नेल ऑब्जेक्ट दिखाते हैं जो डिवाइस से मेल खाते हैं, न कि उपकरणों का विवरण। इसका मतलब है कि आप वर्तमान में सक्रिय एक के अलावा अन्य कॉन्फ़िगरेशन पर इंटरफेस नहीं देखेंगे, और आपको कोई भी समापन बिंदु की जानकारी नहीं दिखाई देगी (जो कि lsusb से सबसे उपयोगी आउटपुट है)।
टेड मिडलटन

मैं जो चाहूंगा वह एक ऐसा उपकरण है जो किसी डिवाइस के सभी कॉन्फ़िगरेशन डिस्क्रिप्टर की सामग्री को दिखाएगा। ioreg ऐसा नहीं करेगा, lsusb करता है।
टेड मिडलटन

मैं यह नहीं देखता कि यह इस उत्तर से कैसे भिन्न है ?
मार्टन बोडेवेस

0

Mac OS X पर, Xcode डेवलपर सूट में USB Proper.app एप्लिकेशन शामिल है। यह / डेवलपर / एप्लिकेशन / यूटिलिटीज / में पाया जाता है। USB Prober आपको डिवाइस और इंटरफ़ेस डिस्क्रिप्टर की जांच करने की अनुमति देगा।


Xcode.app/Contents/Applications/Utilities Xcode 8.3 में मौजूद नहीं है, और अनुप्रयोगों में कोई USB Prober नहीं है। मुझे पता है कि USB Prober अभी भी उपलब्ध है लेकिन मैं अभी तक यह पता नहीं लगा पाया कि यह कहाँ है। यह कुछ अन्य उपकरणों के साथ एक पैकेज के अंदर है।
माइक क्रॉफर्ड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.